今天接到一个需求,需要让我们的用户不能以root登录,来防止用户破坏我们的系统,而他们需要登陆的话,我们可以给他一个sysadmin的用户,这个用户的权限是我们赋予的,用来控制用户对我们系统的操作。
好了,如何禁止root用户登录呢?
在做这步操作之前,我们先创建一个sysadmin用户
sudo /usr/sbin/useradd -m -s /bin/bash sysadmin
然后,改下密码
sudo /usr/sbin/chpasswd sysadmin
接下来,按照自己的要求给sysadmin用户设置相应的权限
好了,这个时候你就可以设置root禁止登陆了
修改/etc/passwd文件
将root那一行启动脚本/bin/bash改成/usr/sbin/nologin
vi /etc/passwd
root:x:0:0:root:/root:/usr/sbin/nologin
好了,这样的话,root就登陆不进去了,然后再让用户以sysadmin登陆就行了。
那么如何改回来呢?只需要在任意用户下执行如下命令
su - root -s /bin/bash
然后输入root密码,就可以继续以root用户继续登录了。
接着我说下我遇到的坑吧。
直接改/etc/passwd文件,导致机器不能以root登录,而我突然发现,这个机器除了root用户,居然没有其他用户了,真的让我很着急。最后,只能把硬盘拆下来接到别的机器上,改文件才能继续登录,所以改/etc/passwd文件之前记得先创建一个用户。