slm*_*slm 35
我也从未见过使用过此功能,甚至一次都没有。大多数 SA 甚至不知道该设施的存在。在查看手册页时,gpasswd有此注释:
关于组密码的注意事项
Run Code Online (Sandbox Code Playgroud)Group passwords are an inherent security problem since more than one person is permitted to know the password. However, groups are a useful tool for permitting co-operation between different users.
我认为它们是模仿用户拥有密码的模型的自然想法,将用例模型复制到组也是有意义的。但实际上,它们对任何事情都没有那么有用。
使用组密码的想法是,如果您需要访问特定组(您未被列为其成员的组),您可以使用该newgrp命令执行此操作,并使用密码进行挑战以获得访问权限到这些替代群体。
它们的一个大问题是每个组只有一个密码,因此当多人需要访问这个特定组时,这迫使人们共享这个密码。
我遇到的大多数环境通常将人们放在次要组中,然后让这些组访问文件系统上的文件,这几乎满足了所有需要发生的使用。
随着sudo额外权限的出现,可以根据需要向组分发,进一步破坏组密码可能提供的任何用例。如果您需要允许用户更多的权限,创建角色sudo然后只允许他们所在的用户名或组,权限提升那里的权限以便他们可以执行特定任务要容易得多。
最后,创建访问控制列表 (ACL) 的能力确实提供了用户/组/其他权限模型无法单独提供的最后一点灵活性,将组密码的任何可能需要归为默默无闻。
col*_*ict 11
这是组密码的实际用途,我在我们的工作服务器上为自己实现,因为日志表明我的帐户被暴力破解(或者可能是字典攻击)。
我使用ssh-keygen并puttygen恭敬地生成密钥对以供从我的工作站和家用计算机使用。我在家使用的钥匙需要密码。我将两个公钥添加到.ssh/authorized_keys,创建了一个marionette带密码且没有成员的组。作为 root 我曾经visudo添加以下几行。
Cmnd_Alias SUDOING = /bin/bash, /usr/bin/sudo -i
%marionette ALL=NOPASSWD:SUDOING
Run Code Online (Sandbox Code Playgroud)
我已经禁用了我的帐户密码,您没有人可以通过这种方式登录。我现在只使用我的密钥登录并输入密码保护组,newgrp marionette允许我使用sudo -i.
如果没有该NOPASSWD:选项,它将需要您的用户帐户密码。如果它被禁用而这个组没有NOPASSWD,你将不能sudo -i。如果您的命令列表没有或您的 root 默认使用的任何 shell,它还需要您的用户帐户密码/bin/bash。
虽然这确实使 sudo 的路径更长,但它增加了一个很好的安全层。如果您选择这样创建所有帐户,请创建一个具有密码和 sudo 权限的本地帐户,但/etc/ssh/sshd_config通过添加以下内容来拒绝它的 ssh 条目:
DenyUsers root caan
DenyGroups root daleks
Run Code Online (Sandbox Code Playgroud)
这是本地访问所必需的,以防您重新安装并忘记备份您的访问密钥。
| 归档时间: |
|
| 查看次数: |
19582 次 |
| 最近记录: |