大家平时都是用超级用户root的角色登录系统还是其他用户的角色登录系统呢?
为了服务器的安全,我劝大家尽可能所有服务器禁止超级用户root 用ssh的方式直接登录系统:
(我的系统环境为:Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux)
#vim /etc/ssh/sshd_config
在文件中,找到下面一行文字:
#PermitRootLogin yes //把这行文字改成下面的,默认是注释的,即默认是允许登录的
PermitRootLogin no //禁止root用户登录
#service sshd restart //把ssh重新启动就可以了。
这个时候,你用CRT或者Xshell或者putty 等软件重新登录就不行了。但是你可以用其他用户登录。
---------------------------------------------------------------------------------------------------
小插曲: 我们很多时候是用ssh 来登陆,ssh 协议的默认端口号是22 ,我们可以改掉,比如改成55555,只要是1~65535之间即可。 这样,也可以提高服务器的安全性。
改的方法:
# vim /etc/ssh/sshd_config
#Port 22 //默认是注释的,没关系,把#去掉,改22为55555
Port 55555
#service sshd restart //重启ssh服务就可以了
----------------------------------------------------------------------------------------------------
那我们用其他用户登录,需要用到root的权限该怎么办呢?
比如用户user01,我们想让user01可以访问/etc/shadow,怎么做呢?
1. #visudo //这个命令相当于vim /etc/sudoers
在文件最后加入:
user01 ALL = /bin/cat /etc/shadow
红色: 表示哪个用户,即user01
***: 表示这个用户允许在哪台主机上用户,ALL表示所有的主机都可以用user01这个用户登录
蓝色: 表示可以使用的命令,即/bin/cat,除了这个命令,其他命令不允许使用。
紫色: 表示可以查看的文件
2.$ sudo cat /etc/shadow //sudo这个命令,是普通用户执行root用户的权限,必须带的命令,执行完上面这个命令后,输入user01的密码,就可以查看/etc/shadow了。
-----------------------------------------------------------------------------------------------------
使用sudo这个命令,每次使用它都需要密码,这给我们造成很大不方面,或者有一些自动调用超级权限的程序会出现问题,因此,我们把密码去掉。
1. #visudo //这个命令相当于vim /etc/sudoers
在文件最后加入:
user01 ALL = NOPASSWD: /bin/cat /etc/shadow
这样就可以了。
2. $ sudo cat /etc/shadow //回车之后,直接输出内容,不会再问你要密码了
---------------------------------------------------------------------------------------------------
如果想让user01有root的全部权限,怎么做呢?
1. #visudo //这个命令相当于vim /etc/sudoers
在文件最后加入:
user01 ALL = (ALL) NOPASSWD: ALL
这样就可以了。
2. 这样user01就相当于root了,拥有全部权限。