我知道这是一个“坏”的主意,我知道它不安全,我知道。我在网上搜索答案,我看到的只是抱怨这不好。但我喜欢使用 Linux,因为它让我可以制作我想要和喜欢使用的系统。介绍结束。
我尝试更改密码:
user:~% passwd
Changing password for user.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
You must choose a longer password
Run Code Online (Sandbox Code Playgroud)
如果我尝试,sudo passwd user那么我可以设置我想要的任何密码,这样我就不需要对系统上的 passwd 进行密码复杂性检查。
谷歌搜索后,我发现应该有PAM模块 pam_cracklib 来测试密码的复杂性,并且可以对其进行配置。但是我的 PAM 密码设置不包括 pam_cracklib:
% cat /etc/pam.d/passwd | grep '^[^#]'
@include common-password
% cat /etc/pam.d/common-password | grep '^[^#]'
password [success=1 default=ignore] pam_unix.so obscure sha512
password requisite pam_deny.so
password required pam_permit.so
password optional pam_gnome_keyring.so
Run Code Online (Sandbox Code Playgroud)
我猜 pam_unix 进行了这个测试......哎呀......伙计们,当我写完这句话的那一刻,我得到了启发,并man pam_unix在终端中输入了我找到了 pam_unix 模块所需的选项。
我刚刚删除了选项模糊并添加了 minlen=1 …
...但仍然需要需要管理员权限的应用程序?
为了允许以下内容:
$ apache2ctl restart
httpd not running, trying to start
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
$ sudo !!
sudo apache2ctl restart #no password asked
$ #works!
Run Code Online (Sandbox Code Playgroud)
作为参考,我在亚马逊的 e3 实例上看到了这个设置
任何的想法?
多年来,我的sudoers文件中有以下内容:
scott ALL=NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)
对于那些不知道的人,这可以防止sudo朋友(gksudo等)要求输入密码。然而,多年来,越来越多的曾经使用sudo过的东西已经转向使用 PolicyKit。
我正在寻找 PolicyKit 的等效配置,这样它就永远不会询问我的密码。
对于那些不喜欢我的要求的人,让我这样说:我理解默认配置的原因,它们是合理的。我也了解我想要进行的配置中固有的风险。尽管如此,这是我想要设置我的系统的方式。那些不完全理解上述内容的人不应该尝试我正在尝试的东西。