- 3.7 su命令
- 3.8 sudo命令
- 3.9 限制root远程登录
su命令
切换用户
[[email protected]_1 ~]# su - xiaobo
[[email protected]_1 ~]# su - xiaobo
最后一次失败的登录:二 11月 21 01:43:41 CST 2017pts/0 上
最有一次成功登录后有 1 次失败的登录尝试。
[[email protected]_1 ~]$ whoami
xiaobo
[[email protected]_1 ~]$ id
uid=1009(xiaobo) gid=1009(xiaobo) 组=1009(xiaobo),1010(grp2)
其中 -c的意思是彻底切换
不切换到xiaobo用户,在root用户下使用xiaobo用户的身份来执行
[[email protected]_1 ~]# su - -c "touch /tmp/xiaobo.111" xiaobo
[[email protected]_1 ~]# ls -lt /tmp/ |head
总用量 128
-rw-rw-r-- 1 xiaobo xiaobo 0 11月 21 18:11 xiaobo.111
[[email protected]_1 ~]# id xiaobo
uid=1009(xiaobo) gid=1009(xiaobo) 组=1009(xiaobo),1010(grp2)
例子:
[[email protected]_1 ~]# su - xiaoming
上一次登录:三 11月 29 19:46:31 CST 2017pts/0 上
su: 警告:无法更改到 /home/xiaoming 目录: 没有那个文件或目录
-bash-4.2$
-bash-4.2$
显示成这个样子的原因是没有家目录的配置文件:
su: 警告:无法更改到 /home/xiaoming 目录: 没有那个文件或目录
没有xiaoming家目录,创建xiaoming家目录:
mkdir /home/xiaoming
-bash-4.2$ id xiaoming
uid=1010(xiaoming) gid=1011(xiaoming) 组=1011(xiaoming)
然后更改权限:
chown xiaoming:xiaoming /home/xiaoming
切换到xiaoming用户还是不行:
[[email protected]_1 ~]# su - xiaoming
上一次登录:三 11月 29 19:48:40 CST 2017pts/0 上
-bash-4.2$
因为少了xiaoming家目录的配置文件
[[email protected]_1 ~]# ls -la /home/xiaoming/
总用量 0
drwxr-xr-x 2 xiaoming xiaoming 6 11月 29 19:52 .
drwxr-xr-x. 4 root root 36 11月 29 19:52 ..
例如这样的配置文件:
[[email protected]_1 ~]# ls -la /home/xiaobo/
总用量 16
drwx------ 2 xiaobo xiaobo 83 11月 21 18:09 .
drwxr-xr-x. 4 root root 36 11月 29 19:52 ..
-rw------- 1 xiaobo xiaobo 10 11月 21 18:09 .bash_history
-rw-r--r-- 1 xiaobo xiaobo 18 8月 3 05:11 .bash_logout
-rw-r--r-- 1 xiaobo xiaobo 193 8月 3 05:11 .bash_profile
-rw-r--r-- 1 xiaobo xiaobo 231 8月 3 05:11 .bashrc
系统有一个模板目录,可以拷贝一下到xiaoming家目录:
[[email protected]_1 ~]# ls -la /etc/skel/
总用量 24
drwxr-xr-x. 2 root root 62 11月 9 15:58 .
drwxr-xr-x. 74 root root 8192 11月 29 19:46 ..
-rw-r--r--. 1 root root 18 8月 3 05:11 .bash_logout
-rw-r--r--. 1 root root 193 8月 3 05:11 .bash_profile
-rw-r--r--. 1 root root 231 8月 3 05:11 .bashrc
cp /etc/skel/.bash* /home/xiaoming
[[email protected]_1 ~]# cp /etc/skel/.bash* /home/xiaoming/
更改下权限(用户和所有组)
[[email protected]_1 ~]# chown -R xiaoming:xiaoming !$
chown -R xiaoming:xiaoming /home/xiaoming/
[[email protected]_1 ~]# ls -ld /home/xiaoming/
drwxr-xr-x 2 xiaoming xiaoming 62 11月 29 19:59 /home/xiaoming/
切换xiaoming用户,就显示正常了:
su - xiaoming
[[email protected]_1 ~]# su - xiaoming
上一次登录:三 11月 29 19:53:03 CST 2017pts/0 上
[[email protected]_1 ~]$
普通用户切换到root
su - root
[[email protected]_1 ~]$ su -
密码:
上一次登录:三 11月 29 19:48:05 CST 2017pts/0 上
sudo命令
sudo给普通用户授权root用户的身份。
visudo打开sudo的配置文件"/etc/sudoers.tmp" 112L, 3938C
最核心的部分:
ALL 指的是在哪里
(ALL)指的是主机用户
后面的ALL 表示所有的命令,也可以自定义命令
正常情况下,普通用户ls root/目录是没有权限的
第一次执行需要输入密码,第二次就不用输入密码
不让用户输入密码
切换到user1
[[email protected]_1 ~]# su - user1
上一次登录:二 11月 21 01:28:52 CST 2017pts/0 上
su: 警告:无法更改到 /home/user1 目录: 没有那个文件或目录
-bash-4.2$ su root
密码:
[[email protected]_1 ~]# mkdir /home/user1
[[email protected]_1 ~]# cp /etc/skel/.bash* !$
cp /etc/skel/.bash* /home/user1
[[email protected]_1 ~]# chown user1:user1 /home/user1
[[email protected]_1 ~]# su - user1
上一次登录:三 11月 29 20:50:31 CST 2017pts/0 上
[[email protected]_1 ~]$
模仿设置别名:
测试
[[email protected]_1 ~]$ sudo ls /root
[sudo] xiaobo 的密码:
111 1.txt.bak anaconda-ks.cfg.1 xiaobo
[[email protected]_1 ~]$ sudo cat /root/1.txt.bak
用户组
就是说,一些用户用到了同样的命令,可以把这些命令放到一个用户组里,对用户组进行操作。
例如:$wheel用户组
限制root远程登录
禁止root密码登录,普通用户获取sudo权限
设置用户alias
测试:
vi /etc/ssh/sshd_config
[[email protected]_1 xiaobo]# vi /etc/ssh/sshd_config
限制掉root远程登录
重启服务
[[email protected]_1 xiaobo]# systemctl restart sshd.service
然后以普通用户身份登录后切换root登录
备注:
可以给普通用户设置部分权限,不要全部授予权限。
禁用掉root用户登录后:
可以给一个用户授予sudo权限,之后自己用这个用户切换到root用户下。或者都不给普通用户sudo权限,自己实体机登录root,不远程登录。
然后其他用户授予部分权限。