您的位置:首页 > 其它

day8

2019-09-04 22:05 507 查看

su命令:
*su命令有两种用法:1.切换用户,2.以某个用户的身份执行一条命令
1.切换用户:su - username

[root@localhost ~]# su - linux01     # - 切换用户的同时切换用户环境变量
上一次登录:二 9月  3 19:02:22 CST 2019pts/0 上
[linux01@localhost ~]$ pwd
/home/linux01    #切换完成后查看当前位置显示在用户家目录中
-------------------------------------------------------------------
[root@localhost ~]# su  linux01
[linux01@localhost root]$ pwd
/root         #不加 - 只切换用户不切换用户环境变量,当前位置还在/root目录中
[linux01@localhost root]$ ls
ls: 无法打开目录.: 权限不够

2.以某个用户的身份去执行命令: -c 参数
*以linux01用户的身份在/test目录下创建文件,查看文件属于linux01用户

[root@localhost ~]# su - -c "touch /test/linux01file.txt" linux01
[root@localhost ~]# ls -l /test/
总用量 0
-rw-rw-r-- 1 linux01 linux01 0 9月   3 19:21 linux01file.txt

sudo命令:
*让普通用户临时拥有root用户的权限

使用linux01用户查看root用户家目录:

[linux01@localhost ~]$ whoami
linux01
[linux01@localhost ~]$ ls /root/
ls: 无法打开目录/root/: 权限不够

给linux01用户添加sudo权限:

[root@localhost ~]# visudo #编辑sudo配置文件

找到配置文件用以root开始的行:

添加如下内容,使linux01用户可以临时拥有root用户的ls、cat权限:

切换linux01用户,使用sudo查看/root目录以及目录中的文件:

[root@localhost ~]# su - linux01
上一次登录:二 9月  3 21:20:21 CST 2019pts/0 上
[linux01@localhost ~]$ ls /root/
ls: 无法打开目录/root/: 权限不够
[linux01@localhost ~]$ sudo ls /root #在sudo配置文件中添加权限后即可查看
[sudo] linux01 的密码:   #第一次执行需要验证用户密码
test.log
[linux01@localhost ~]$ sudo cat /root/test.log
ABCDEFG

如需在使用sudo时不验证密码,在配置文件中加上NOPASSWD: 即可:

[root@localhost ~]# su - linux02
[linux02@localhost ~]$
[linux02@localhost ~]$ sudo ls /root/
test.log     #修改配置文件后没有要求密码验证,直接显示结果

限制root远程登录:
*在某些情况下,为安全考虑可以限制root用户远程登录

[root@localhost ~]# vi /etc/ssh/sshd_config #编辑配置文件限制root远程登录

将此次配置项的注释符号"#"去掉,修改配置值为no

[root@localhost ~]# systemctl restart sshd  #重启ssh服务

远程登录提示SSH服务器拒绝了密码,限制远程登录成功

在限制root用户使用远程登录后,有需要的普通用户可以使用su命令切换到root用户,但同时又不想让普通用户知道root密码,此时可以使用sudo免密码验证登录root用户:
编辑sudo配置文件:

此时即可使用sudo免密码认证登录root用户:

[linux01@localhost ~]$ whoami
linux01
[linux01@localhost ~]$ sudo su - root
上一次登录:二 9月  3 22:44:47 CST 2019pts/0 上
[root@localhost ~]#
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: