su命令、sudo命令,禁止远程登录root

su命令

切换到普通用户:

[root@jan-01 ~]# su - Jan-1
[Jan-1@jan-01 ~]$ whoami
Jan-1

如果普通用户不满足在home目录下有普通用户的家目录,并且里面配置文件,责使用su命令切换无效会提示不能反问

[root@jan-01 ~]# ls /home/Jan
[root@jan-01 ~]# su - Jan
su: user Jan does not exist

我们可以通过拷贝好所需文件到普通用户的家目录下,这样这个用户就可以使用了

[root@jan-01 ~]# ls -la /etc/skel
总用量 24
drwxr-xr-x. 2 root root 62 10月 14 21:59 .
drwxr-xr-x. 77 root root 8192 12月 28 01:56 ..
-rw-r--r--. 1 root root 18 8月 3 2016 .bash_logout
-rw-r--r--. 1 root root 193 8月 3 2016 .bash_profile
-rw-r--r--. 1 root root 231 8月 3 2016 .bashrc
[root@jan-01 ~]# cp /etc/skel/.bash* /home/Jan
[root@jan-01 ~]# chown -R Jan:Jan /home/Jan //别忘了执行用户家目录的所有者和所属组

sudo命令

给普通用户添加root权限命令:visudo

[root@hao1 ~]# visudo

root用户下,用visudo给普通用户添加root的权限命令,格式如下图:
内容行数显示:一般模式下输入 :set nu
写入格式:此目的是:给普通用户授权root用户才可以使用的一些相应命令!
普通用户 ALL=(root) ALL或root下命令的绝对路径

-## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
Jan-1   ALL=(root)      /usr/bin/ls, /usr/bin/mv, /usr/bin/cat
-## Allows members of the 'sys' group to run networking, software,

在普通用户下,运行ls命令查看root目录,是没有权限的,使用sudo 命令后即可

[Jan-1@jan-01 ~]$ ls /root
ls: 无法打开目录/root: 权限不够
[Jan-1@jan-01 ~]$ sudo /usr/bin/ls /root
[sudo] password for Jan-1: // 输入普通用户的密码
123.txt anaconda-ks.cfg cmatrix-1.2a vm.tar.gz vmware-tools-distrib Yan

以上使用sudo命令需要输入密码,每次操作都需要输入密码的话,这样效率就会大大降低,由此我们可以通过更改sudo免去输入密码这一步

-## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
Jan-1   ALL=(root)      NOPASSWD:ALL
-## Allows members of the 'sys' group to run networking, software,

这样改好后,我们就可以直接sudo命令 ls查看root目录了

[root@jan-01 ~]# su - Jan-1
上一次登录:四 12月 28 03:15:18 CST 2017pts/0 上
[Jan-1@jan-01 ~]$ sudo ls /root
123.txt anaconda-ks.cfg cmatrix-1.2a vm.tar.gz vmware-tools-distrib Yan

除此之外我们还可以通过修改sudo信息将其它命令归类到一块,这样我们在设置中就不用输入那么多路径了

-# Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
Cmnd_Alias JAN_CMD = /usr/bin/ls, /usr/bin/mv, /usr/bin/cat
-## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
Jan-1   ALL=(root)      NOPASSWD:JAN_CMD

这样我们就可以登录普通用户执行我们所设定好的ls、mv、cat这三条命令,且不用输入密码了。

我们可以设定普通用户alias(相当于用户组的作用,可包含多个用户)

[root@jan-01 ~]# visudo
-# User_Alias ADMINS = jsmith, mikem
User_Alias JANS = Jan,Jan-1

接下来我们给包含了多个普通用户的别名,设定一下root用户才可以执行的超级管理权限命令

[root@jan-01 ~]# visudo
-## Allow root to run any commands anywhere
root ALL=(ALL) ALL
Jan-1 ALL=(root) /usr/bin/ls, /usr/bin/mv, /usr/bin/cat
JANS ALL=(root) NOPASSWD:JAN_CMD

这样的作用是可以是多个用户所有的设置的root命令都是一样的,这样当我们切换到别名包含的任意一个用户的时候就都可以使用sudo的命令了

限制root远程登录

修改sshd.service配置文件,设定限制root远程登录

[root@jan-01 ~]# vi /etc/ssh/sshd_config
-#LoginGraceTime 2m
-#PermitRootLogin yes //把这项改成:PermitRootLogin no (注意前面没有井号)
-#StrictModes yes
-#MaxAuthTries 6
-#MaxSessions 10

然后重启sshd.service服务就好

[root@jan-01 ~]# systemctl restart sshd.service

这样就可以禁止远程工具登录root了。

转载于:https://blog.51cto.com/13529231/2055347

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值