今天设置用户权限,由于最初没有很好的规划,导致结局在使用过程中,目录的权限很乱。在新建用户的权限设置中发现上级或者其他目录也有完全的操作权限。于是乎想把所有其他的目录设置成为只读形式的。但在操作中出现了重大的失误,引起错误的命令如下:
sudo chown -R boshiadmin:root /
实际上少了一个目录,本来想进行如下操作:
sudo chown -R boshiadmin:root /data0
也就是对/data0这个目录设置自己的权限。
命令执行后,严重的甚至有些可怕的后果出现了,症状如下:
1、ftp突然无法使用了,所有的用户都无法通过ssh2进行远程连接。
2、sudo命令失去了作用,很多命令会报错:must be setuid root。这导致我也无法让以前的用户名(haidongqing)产生作用。
3、用putty进行远程控制也失效了。
4、网站还能正常浏览。这是唯一能让我安慰的地方。但也是生不如死的感觉。因为没法进行维护了。
网上还有人说解决的办法就是重做系统,惊出一头白毛汗,如果这样的话,就彻底完蛋了,因为我没有近期的网站备份。现在进行备份已经晚了。
网上查了大半天的资料,发现很多都是互相抄袭的,方法虽然不能说不对,但说的很不仔细。现将完全尝试过的方法加以详细说明:
1、重新启动服务器(这个需要机房配合了,因为远程控制已经失效。)
2、在启动之后按住ESC键,让系统进入安全修复模式,也就是:recovery Mode模式。
3、在revovery menu菜单中,选择root项进入系统。这是命令行出现了,也是我们熟悉的root@haidongqing:~#
4、执行如下命令:
ls -l /usr/bin/sudo
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
reboot
重新启动之后,也可能会出现下列问题,即etc目录由于所有者不是root。系统在执行sudo时仍然会报错。
这时即执行如下命令让etc目录所有者为root。再次重复进入安全恢复模式,执行如下命令:
1、chown -R root /etc/sudoers
作用为让/etc目录所有者为root
2、chmod 755 /etc/
作用为让/etc目录权限为755,最后这项自己检查一下就行了,其实一般用不到这步。
至此为止,理论上所有的问题就都能解决了。
阅读(6669) | 评论(0) | 转发(0) |