七、root密码被更改
问题描述:
一个开发小组都是用内部机房的Linux/FreeBSD机器,大家都知道root的密码;不知哪个兄弟是搞着好玩还是怎么的,偷偷的改了root密码却不通知大家,结果大家都用不了root密码,杯具了。
解决办法:
此时处理办法有2种,一种就是大家都知道的单用户模式修改root,其实另一个办法也蛮简单的,系统管理员应该多配置一个具有sudo权限的用户,遇到此种情况时可以用sudo权限来修改root的密码,至少免得跑到机房去。毕竟有时候,机房未必在市内或在国内的。
八、依赖的库文件丢失导致root无法登陆
问题描述:
我们的jail母机192.168.21.36,因为root的shell设置成的bash,而其依赖的库文件libintl.so.8发生丢失,导致了root不能登陆。具体报障如下:
/libexec/ld-elf.so.1: Shared object "libintl.so.8" not found, required by "bash" Connection to 192.168.21.36 closed. |
解决方法:
①用单用户模式进入系统;
②扫描磁盘(此步非做不可,而且是安全的)
fsck -y |
③将文件系统重新挂载
mount -a |
④将root的默认shell切换到sh
chsh -s sh |
重启后一切正常。
九、忘记以su模式进入编辑器
问题描述:
普通用户用vi编辑nginx.conf 等配置文件,保存的时候会提示:没有Root Permission
解决办法:
其实只要保存时加上:
:w !sudo tee % |
就可以了。
“:w !sudo tee %”这条命令的含义是把当前编辑的文件的内容当做标准输入输入到命令sudo tee 文件名里去。也就是sudo保存为当前文件名,相当管用的命令,尤其适用于FreeBSD和Debian系统(我经常忘了自己原来不是root了),相当very nice.
系统管理员容易犯的错误和解决方法暂时就总结到这里,希望对大家有帮助!如果大家有什么问题,也欢迎在评论中沟通。