Linux组密码:你不知道的隐藏功能

本文详细介绍了Linux系统中组密码的配置与使用方法,包括使用groupadd和groupmod命令设置组密码,以及通过openssl生成加密密码和sg命令切换用户组身份的实际操作演示。

Linux组可以有密码

你知道吗?Linux组竟然可以有密码!我之前也不知道,但现在知道了。以下是实际演示。

设置带密码的新组

要设置带密码的新组,可以使用带有-p参数的groupadd命令。需要注意的是,-p参数不接受明文密码,而是接受已通过crypt(3)加密的密码。最简单的方法是使用openssl创建加密密码。

以下命令将创建一个名为passgroup的组,并在创建过程中要求输入密码。请注意,openssl的参数是数字1,并且openssl命令被反引号包围。

1
groupadd -p `openssl passwd -1` passgroup

使用组密码

要使用该组,需要使用sg命令。

1
2
3
4
5
6
robin:~$ id
uid=1000(robin) gid=1000(robin) groups=1000(robin)
robin@web2py:~$ sg passgroup
Password: 
robin:~$ id
uid=1000(robin) gid=1002(pass) groups=1000(robin),1002(passgroup)

看,我现在已经是passgroup组的成员了。

为现有组添加密码

如果想要为现有组添加密码,可以使用groupmod命令:

1
groupmod -p `openssl passwd -1` passgroup

可能的用途?

不太确定这个功能有什么实际用途。如果你有什么好主意,请告诉我。

环境说明

需要说明的是,所有这些操作都是在Debian系统中完成的,尚未在其他发行版中确认这些功能。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计