su 命令
su [-] username
用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
su 后面加上 - 就会初始化各种环境变量。
--c 以指定用户执行命令后退回原用户
[root@localhost ~]# whoami
root
[root@localhost ~]# su - -c "mkdir /tmp/1212/" test1
[root@localhost ~]# ll -d /tmp/1212/
drwxr-xr-x. 2 test1 test 6 11月 2 17:31 /tmp/1212/
[root@localhost ~]# pwd
/root
[root@localhost ~]# su test1
[test1@localhost root]$ pwd
/root
[test1@localhost root]$ exit
exit
[root@localhost ~]# su - test1
上一次登录:四 11月 2 17:33:27 CST 2017pts/0 上
[test1@localhost ~]$ pwd
/home/test1
sudo 命令
用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。
[root@localhost ~]# visudo
让普通用户有root 权限:
visudo后增加:
root ALL=(ALL) ALL
1、用户
2、ALL=(root) 所有来源ip可以使用root权限
3、ALL 可以使用所有的命令 要限制写命令绝对路径,逗号分割
NOPASSWD: /bin/ls sudo 执行命令时可以不用输入密码
#sudo -l 查看当前用户 sudo 权限
1、用户
2、ALL=(root) 所有来源ip可以使用root权限
3、ALL 可以使用所有的命令 要限制写命令绝对路径,逗号分割
NOPASSWD: /bin/ls sudo 执行命令时可以不用输入密码
#sudo -l 查看当前用户 sudo 权限
限制远程登录的IP
修改/etc/ssh/sshd_config配置文件,将#PermitRootLogin yes改为PermitRootLogin no
修改去掉注释#,将yes改为no,保存退出
[root@localhost ~]# vim /etc/ssh/sshd_config
[root@localhost ~]# systemctl restart sshd.service
这时 root 无法远程登陆。
[root@localhost ~]# vim /etc/ssh/sshd_config
[root@localhost ~]# systemctl restart sshd.service
这时 root 无法远程登陆。