误将sudo权限给了分用户又没有root密码
程序员文章站
2022-06-01 09:36:35
...
今天在修改hosts文件的时候提醒我我只有只读权限。当场就脑抽了,然后使用chown命令把etc的权限给了我的hadoop用户,然后就悲剧了,sudo用不了了,使用时提示 sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set。
网上查了查资料好像可以进入超级管理员root再改回来,但是我果断的当时没有设置root密码,网上说可以用进入recovery模式不用密码就可以登录root用户。
重启按住shift不动进入recovery,然后选择root,在命令行里输入
chown root /etc/sudoers
chmod 644 /usr/lib/sudo/sudoers.so
chmod 644 /usr/lib/sudo/sudo_noexec.so
chown root:root /etc/sudoers
chmod 440 /etc/sudoers
每次输入后记得测试一下sudo是否起作用,然后在根据它给出的提示,给出相应的权限。
当然你最好首先给root设立一个密码,方便以后有什么需要,passwd su,然后按照提示输入密码。不过进入recovery mode之后要改动根目录的挂在方式,修改为rw,输入mount -o remount rw /;
我当时做完这些后在root中就课以使用sudo了,但是重启后我的其他用户却不能使用sudo命令了,提示 sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set。
我根据网上的做法是重置一下sudo的属性。
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo,恩的确搞定了.....
网上查了查资料好像可以进入超级管理员root再改回来,但是我果断的当时没有设置root密码,网上说可以用进入recovery模式不用密码就可以登录root用户。
重启按住shift不动进入recovery,然后选择root,在命令行里输入
chown root /etc/sudoers
chmod 644 /usr/lib/sudo/sudoers.so
chmod 644 /usr/lib/sudo/sudo_noexec.so
chown root:root /etc/sudoers
chmod 440 /etc/sudoers
每次输入后记得测试一下sudo是否起作用,然后在根据它给出的提示,给出相应的权限。
当然你最好首先给root设立一个密码,方便以后有什么需要,passwd su,然后按照提示输入密码。不过进入recovery mode之后要改动根目录的挂在方式,修改为rw,输入mount -o remount rw /;
我当时做完这些后在root中就课以使用sudo了,但是重启后我的其他用户却不能使用sudo命令了,提示 sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set。
我根据网上的做法是重置一下sudo的属性。
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo,恩的确搞定了.....