Linux组密码设置与应用详解

本文详细介绍了Linux系统中为组设置密码的技术方法,包括使用groupadd命令结合openssl生成加密密码,以及通过sg命令切换组权限的实际操作步骤,适用于系统管理员进行精细化的权限管理。

Linux组可以拥有密码

你知道吗?Linux组竟然可以设置密码!我之前也不知道,但现在掌握了这个技巧。下面演示具体操作方法。

创建带密码的新组

使用groupadd命令配合-p参数可以创建带密码的组。需要注意的是,-p参数不接受明文密码,而是需要经过crypt(3)加密的字符串。最简单的方式是使用openssl生成:

1
groupadd -p `openssl passwd -1` passgroup

这条命令会创建名为passgroup的组,并在创建过程中要求输入密码。特别注意:openssl参数是数字1,且整个openssl命令需要用反引号包裹。

使用密码组

通过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 设计