您的位置:首页 > 其它

su命令 sudo命令 限制root远程登录

2018-04-04 00:00 886 查看

3.7 su命令

1. su命令:

用于切换用户,以及用其他用户身份运行命令。

2. 选项:

2.1 su gavin

切换到gavin账户,但是还有彻底切换过来,pwd还在root下

[gavin@localhost root]$ whoami

gavin

[gavin@localhost root]$ id

uid=1001(gavin) gid=1001(gavin) 组=1001(gavin)

[gavin@localhost root]$ pwd

/root

2.2 su - gavin

切换到gavin账户,加-是为了彻底切换用户,pwd查看是在用户家目录,会加载用户目录下的配置文件。

[gavin@localhost ~]$ whoami

gavin

[gavin@localhost ~]$ id

uid=1001(gavin) gid=1001(gavin) groups=1001(gavin)

[gavin@localhost ~]$ pwd

/home/gavin

2.3 su - -c “touch /tmp/gavin.txt" gavin

-c以gavin用户来运行命令

[root@localhost ~]# su - -c "touch /tmp/gavin.txt" gavin

[root@localhost ~]# ll /tmp

总用量 0

-rw-rw-r-- 1 gavin gavin 0 4月 1 04:54 gavin.txt

2.4 当用户没有家目录时

[root@localhost ~]# useradd -M zhang

[root@localhost ~]# passwd --stdin zhang

更改用户 zhang 的密码 。

zhang

passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# su - zhang

su: 警告:无法更改到 /home/zhang 目录: 没有那个文件或目录

-bash-4.2$

2.4.1 为用户创建家目录

/etc/skel 用户家目录下配置文件模版

[root@localhost ~]# mkdir /home/zhang/

[root@localhost ~]# ls -a /etc/skel

. .. .bash_logout .bash_profile .bashrc

[root@localhost ~]# cp /etc/skel/.bash* /home/zhang/

[root@localhost ~]# chown -R zhang:zhang /home/zhang/

[root@localhost ~]# chmod 700 /home/zhang/

[root@localhost ~]# su - zhang

上一次登录:日 4月 1 04:57:27 CST 2018pts/0 上

[zhang@localhost ~]$

2.5 备注

普通用户显示$

[zhang@localhost ~]$

root用户显示#

[root@localhost ~]#

root用户户下切换到普通用户不需要密码,在普通用户下也可以切换到其他用户,需要输入其他用户的密码。exit退出切换的账户。

3.8 sudo命令

1. sudo命令

sudo允许允许用户临时以超级用户或安全策略指定的另一个用户执行命令,多用于普通用户以root权限执行命令。

2. sudo配置

visudo命令编辑sudo配置文件

visudo实际上编辑的是/etc/sudoers 文件,不建议直接用vim直接编辑,因为出现一些语法上错误不会提示。

2.1 给用户gavin “ls、cat、cd”等命令权限:



2.1.1 注:

gavin 表示用户gavin

ALL=(ALL) 第一个ALL表示主机名;第二个ALL是指目标用户,也就是以谁的身份去执行;

第三列表示命令,命令最好用绝对路径并以逗号空格分开

2.1.2 演示:

[root@localhost ~]# su - gavin

上一次登录:日 4月 1 09:34:56 CST 2018pts/0 上

[gavin@localhost ~]$ ls /root

ls: cannot open directory /root: Permission denied

[gavin@localhost ~]$ sudo ls /root

[sudo] password for gavin:

anaconda-ks.cfg fonts test.py ziti

[gavin@localhost ~]$ cat /root/test.py

cat: /root/test.py: Permission denied

[gavin@localhost ~]$ sudo cat /root/test.py

#! /usr/bin/python

print "hello world"

用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

2.2 使用sudo时免密码:

编辑配置文件,在命令前面加上NOPASSWD:



[root@localhost ~]# su - zhang

上一次登录:日 4月 1 05:02:17 CST 2018pts/0 上

[zhang@localhost ~]$ sudo ls /root

anaconda-ks.cfg fonts test.py ziti

[zhang@localhost ~]$ sudo cat /root/test.py

#! /usr/bin/python

print "hello world"

2.3 给用户组加上以root身份使用命令的权限:



2.4 语法错误提示:



3.9 限制root远程登录

1. 编辑/etc/ssh/sshd_config配置文件

vim /etc/ssh/sshd_config

把 #PermitRootLogin yes 修改成 PermitRootLogin no



2. 重启sshd服务

systemctl restart sshd.service

3. 演示:



限制root用户用密码远程登录(只能加key登录)

1. 编辑配置文件:

把 PasswordAuthentication yes 改为 PasswordAuthentication no



2. 重启sshd服务:

systemctl restart sshd
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: