3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

  • 3.7 su命令
  • 3.8 sudo命令
  • 3.9 限制root远程登录

 

su命令

切换用户

[root@centos_1 ~]# su - xiaobo

 

[root@centos_1 ~]# su - xiaobo

最后一次失败的登录:二 11月 21 01:43:41 CST 2017pts/0 上

最有一次成功登录后有 1 次失败的登录尝试。

[xiaobo@centos_1 ~]$ whoami

xiaobo

[xiaobo@centos_1 ~]$ id

uid=1009(xiaobo) gid=1009(xiaobo) 组=1009(xiaobo),1010(grp2)

 

 

其中 -c的意思是彻底切换

 

不切换到xiaobo用户,在root用户下使用xiaobo用户的身份来执行

[root@centos_1 ~]# su - -c "touch /tmp/xiaobo.111" xiaobo

 

[root@centos_1 ~]# ls -lt /tmp/ |head

总用量 128

-rw-rw-r--  1 xiaobo xiaobo      0 11月 21 18:11 xiaobo.111

 

[root@centos_1 ~]# id xiaobo

uid=1009(xiaobo) gid=1009(xiaobo) 组=1009(xiaobo),1010(grp2)

 

 

 

例子:

[root@centos_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用户还是不行:

[root@centos_1 ~]# su - xiaoming

上一次登录:三 11月 29 19:48:40 CST 2017pts/0 上

-bash-4.2$ 

 

因为少了xiaoming家目录的配置文件

[root@centos_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 ..

 

例如这样的配置文件:

[root@centos_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家目录:

[root@centos_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

[root@centos_1 ~]# cp /etc/skel/.bash* /home/xiaoming/

更改下权限(用户和所有组)

[root@centos_1 ~]# chown -R xiaoming:xiaoming !$

chown -R xiaoming:xiaoming /home/xiaoming/

[root@centos_1 ~]# ls -ld /home/xiaoming/

drwxr-xr-x 2 xiaoming xiaoming 62 11月 29 19:59 /home/xiaoming/

 

切换xiaoming用户,就显示正常了:

su  - xiaoming

[root@centos_1 ~]# su - xiaoming

上一次登录:三 11月 29 19:53:03 CST 2017pts/0 上

[xiaoming@centos_1 ~]$ 

 

 

普通用户切换到root

su  - root

[xiaoming@centos_1 ~]$ su -

密码:

上一次登录:三 11月 29 19:48:05 CST 2017pts/0 上

 

 sudo命令

sudo给普通用户授权root用户的身份。

 

visudo打开sudo的配置文件"/etc/sudoers.tmp" 112L, 3938C

 

 

最核心的部分:

3.7 su命令  3.8 sudo命令  3.9 限制root远程登录

 

 

 

ALL  指的是在哪里

(ALL)指的是主机用户

后面的ALL 表示所有的命令,也可以自定义命令

 

正常情况下,普通用户ls root/目录是没有权限的

 3.7 su命令  3.8 sudo命令  3.9 限制root远程登录

第一次执行需要输入密码,第二次就不用输入密码

 3.7 su命令  3.8 sudo命令  3.9 限制root远程登录

 

 3.7 su命令  3.8 sudo命令  3.9 限制root远程登录

 

不让用户输入密码

3.7 su命令  3.8 sudo命令  3.9 限制root远程登录 

 

切换到user1

[root@centos_1 ~]# su - user1

上一次登录:二 11月 21 01:28:52 CST 2017pts/0 上

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

-bash-4.2$ su root

密码:

[root@centos_1 ~]# mkdir /home/user1

[root@centos_1 ~]# cp /etc/skel/.bash* !$

cp /etc/skel/.bash* /home/user1

[root@centos_1 ~]# chown  user1:user1 /home/user1

[root@centos_1 ~]# su - user1

上一次登录:三 11月 29 20:50:31 CST 2017pts/0 上

[user1@centos_1 ~]$ 

 3.7 su命令  3.8 sudo命令  3.9 限制root远程登录

 

 

 

 

模仿设置别名:

 3.7 su命令  3.8 sudo命令  3.9 限制root远程登录

 3.7 su命令  3.8 sudo命令  3.9 限制root远程登录

 

 

 

测试

[xiaobo@centos_1 ~]$ sudo ls /root

[sudo] xiaobo 的密码:

111  1.txt.bak anaconda-ks.cfg.1  xiaobo

[xiaobo@centos_1 ~]$ sudo cat /root/1.txt.bak

 

 

用户组

就是说,一些用户用到了同样的命令,可以把这些命令放到一个用户组里,对用户组进行操作。

例如:$wheel用户组

 3.7 su命令  3.8 sudo命令  3.9 限制root远程登录

 

 

 限制root远程登录

禁止root密码登录,普通用户获取sudo权限

 

设置用户alias

 3.7 su命令  3.8 sudo命令  3.9 限制root远程登录

 3.7 su命令  3.8 sudo命令  3.9 限制root远程登录

 

 

测试:

 3.7 su命令  3.8 sudo命令  3.9 限制root远程登录

 

 

vi  /etc/ssh/sshd_config

[root@centos_1 xiaobo]# vi  /etc/ssh/sshd_config 

限制掉root远程登录

 3.7 su命令  3.8 sudo命令  3.9 限制root远程登录

 

重启服务

[root@centos_1 xiaobo]# systemctl  restart sshd.service

 

然后以普通用户身份登录后切换root登录

 3.7 su命令  3.8 sudo命令  3.9 限制root远程登录

 

 

备注:

可以给普通用户设置部分权限,不要全部授予权限。

禁用掉root用户登录后:

可以给一个用户授予sudo权限,之后自己用这个用户切换到root用户下。或者都不给普通用户sudo权限,自己实体机登录root,不远程登录。

然后其他用户授予部分权限。

 

上一篇:java8新特性中lambda表达式的使用(下)


下一篇:Python正则表达式re库的使用