我正在尝试/etc/sudoers
通过进行编辑visudo
,但我不知道如何更改根权限。
我希望当 root 尝试使用su user1
.
答案1
嗯,这确实不是一个好主意,但它是可能的。正如有人指出的,你无法阻止 root 成为计算机的上帝,但你可以修改“su”程序来询问密码。它可以阻止 root 重新登录其他帐户,除非他编译自己版本的 su 并使用它。
首先,您需要一个编译器才能重新构建 su。作为 root,执行:
apt-get install build-essential
然后,下载并准备GNU Coreutils:
ftp://ftp.task.gda.pl/pub/gnu/coreutils/coreutils-8.13.tar.gz
tar xvf coreutils-8.20.tar.xz
cd coreutils-8.20
./configure
现在访问源代码目录并找到苏.c文件。在第 223 行,您会发现:
if (getuid () == 0 || !correct || correct[0] == '\0')
将其更改为:
if (!correct || correct[0] == '\0')
现在,回到coreutils-8.20目录,运行make。编译可能需要很长时间。完成后,用新的 su 二进制文件覆盖当前的 su 二进制文件:
cp src/su `which su`
再说一遍——你做错了。
答案2
- root 做任何事情都不需要密码。 root 是一个全能用户。 root=超级用户=管理员=chucknorris
- 正如 @Cry Havok 指出的 /etc/sudoers 与 无关
su
,仅sudo
旁注:su - <user>
以普通用户(非 root/无特权)运行将始终要求输入密码。
答案3
Root 可以成为任何用户,无需任何身份验证。即使su
命令配置为提示输入密码,root 也可以使用其他程序来发出底层系统调用。该su
命令通常配置为不需要密码,因为它对安全性无用,并且许多非交互式脚本依赖该密码以权限较低的用户身份执行任务。
在 Ubuntu(以及许多其他使用聚丙烯酰胺),root运行时没有密码提示su
是通过以下行实现的/etc/pam.d/su
:
auth sufficient pam_rootok.so
请注意,sudo
和su
是完全不同的程序。您无法su
通过更改 的配置来更改 的行为sudo
。
答案4
Root 没有提示密码,这背后的原因是/etc/pam.d/su
.
auth sufficient pam_rootok.so
我认为应该在此之前添加一些行,以要求 root 对特定用户进行身份验证。