Day13 su命令 ,sudo命令 ,限制root远程登陆

su命令

  • 做用用于切换用户
  • - user: 完全切换用户
[root@centos001 ~]# su - user1  //完全切换到另外一个用户
上一次登陆:三 11月  1 20:21:13 CST 2017pts/1 上
[user1@centos001 ~]$ id 
uid=1000(user1) gid=1000(user1) 组=1000(user1) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[user1@centos001 ~]$ 登出
[root@centos001 ~]# su user1   //不加-的时候,切换了后其实仍是在root目录之下
[user1@centos001 root]$ pwd
/root
  • - -c "命令“ user :在切换用户的同时执行一条命令

示例:html

[root@centos001 ~]# su - -c "touch /tmp/aming001" user1 //切换用户同时执行一个命令,建立一个文件aming001
[root@centos001 ~]# ls -lt /tmp/ |head
总用量 124     
-rw-rw-r--. 1 user1 user1      0 11月  1 21:24 aming001         //刚刚建立的新文件
[root@centos001 ~]# id user1                                 //用id命令查看用户属性
uid=1000(user1) gid=1000(user1) 组=1000(user1)
[root@centos001 ~]# date
2017年 11月 01日 星期三 21:28:45 CST
  • 登陆时报错:
[user1@centos001 ~]$ su - aming         //在普通用户下切换至另外一个普通用户
密码:
su: 鉴定故障            //报错
[user1@centos001 ~]$ passwd aming
passwd:只有根用户才能指定用户名。
[root@centos001 ~]# passwd aming
更改用户 aming 的密码 。
新的 密码:
从新输入新的 密码:
passwd:全部的身份验证令牌已经成功更新。
 [root@centos001 ~]# su - aming               //切换至普通用户aming
上一次登陆:三 11月  1 21:52:11 CST 2017pts/1 上
最后一次失败的登陆:三 11月  1 21:54:38 CST 2017pts/1 上
最有一次成功登陆后有 1 次失败的登陆尝试。
[aming@centos001 ~]$ su - user5          //尝试从aming切换到 另外一个普通用户
密码:
上一次登陆:三 11月  1 21:55:48 CST 2017pts/1 上
su: 警告:没法更改到 /home/user5 目录: 没有那个文件或目录         //继续报错
-bash-4.2$ pwd
/home/aming               //这里能看到user5没有在,家目录下
-bash-4.2$ 登出                 //因此接下来咱们要给它添加目录
[aming@centos001 ~]$ 登出
[root@centos001 ~]# id user5   //查看用户属性
uid=1007(user5) gid=1007(user5) 组=1007(user5)
[root@centos001 ~]# mkdir /home/user5/                                   //建立一个文件
[root@centos001 ~]# chown user5:user5 /home/user5/             //更改全部者和所属组
[root@centos001 ~]# su - user5                                                     //切换用户
上一次登陆:三 11月  1 21:57:31 CST 2017pts/1 上
-bash-4.2$ pwd                                           //显示又报错了 ,是由于咱们建立的目录里面是空的,因此要给它配置一个文件
/home/user5                    
-bash-4.2$ ls -la
总用量 0
drwxr-xr-x. 2 user5 user5  6 11月  1 22:02 .
drwxr-xr-x. 9 root  root  96 11月  1 22:02 ..
-bash-4.2$ 登出
[root@centos001 ~]# ls /etc/skel/                      // 通配文件所在目录
[root@centos001 ~]# ls -la /etc/skel/
总用量 24 
drwxr-xr-x.  2 root root   62 8月  29 18:54 .                //  通配文件
drwxr-xr-x. 78 root root 8192 11月  1 21:55 ..
-rw-r--r--.  1 root root   18 8月   3 2016 .bash_logout
-rw-r--r--.  1 root root  193 8月   3 2016 .bash_profile
-rw-r--r--.  1 root root  231 8月   3 2016 .bashrc
[root@centos001 ~]# cp /etc/skel/.bash* /home/user5/            //拷贝至刚才咱们建立的文件夹
[root@centos001 ~]# chown -R user5:user5 !$                          //改变文件全部者和所属组
chown -R user5:user5 /home/user5/
[root@centos001 ~]# su - user5
上一次登陆:三 11月  1 22:03:45 CST 2017pts/1 上
[user5@centos001 ~]$

sudo 命令

  • 用法:执行一个只有root才能执行的命令,可是须要输入密码(root用户的密码)
  • 预设让一个普通用户使用sudo命令 :set nu 能够查看文件的行数
[root@centos001 ~]# visudo                     //编辑文件,让普通用户有能使用sudo命令
[root@centos001 ~]# su - aming
上一次登陆:三 11月  1 22:41:15 CST 2017pts/0 上
[aming@centos001 ~]$ ls /root/                           //这里是由于前面作实验的时候,咱们给ls命令加了特殊权限
111     234    aling              dir3           yum.log
123     2.txt  aminglinux         linux计划.txt
22.txt  3.txt  anaconda-ks.cfg.1  ls2
[aming@centos001 ~]$ ls /root/
111     234    aling              dir3           yum.log
123     2.txt  aminglinux         linux计划.txt
22.txt  3.txt  anaconda-ks.cfg.1  ls2
[aming@centos001 ~]$ 登出                                  
[root@centos001 ~]# ls -l /usr/bin/ls
-rwxr-sr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls   //能看到ls有set_gid权限
[root@centos001 ~]# chmod g-s /usr/bin/ls                         //用chmod 去掉
[root@centos001 ~]# su - aming                       
上一次登陆:三 11月  1 22:44:31 CST 2017pts/0 上
[aming@centos001 ~]$ ls /root/                            //这里切换到aming就显示没有权限了
ls: 没法打开目录/root/: 权限不够
[aming@centos001 ~]$ sudo /usr/bin/ls /root/                              //使用sudo命令后就可使用了
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.
[sudo] password for aming:                                                 //需输入密码
111	234    aling		  dir3		 yum.log
123	2.txt  aminglinux	  linux计划.txt
22.txt	3.txt  anaconda-ks.cfg.1  ls2
[aming@centos001 ~]$ cat /root/3.txt
cat: /root/3.txt: 权限不够
[aming@centos001 ~]$ sudo /usr/bin/cat /root/3.txt
  • 在visudo里编辑配置文件

在编辑的时候加NOPASSWD : 那个用户使用sudo命令的时候就不须要输入密码了linux

禁止root用户远程登陆

  • 做用: 为了防止歹人知道roo密码的状况下 被人远程登陆root
  • 步骤

1.打开文件并配置centos

[root@centos001 ~]# vi /etc/ssh/sshd_config

2.修改文件bash

3.重启sshd服务ssh

[root@centos001 ~]# systemctl restart sshd.service

扩展

  • su与sudo的比较

http://www.apelearn.com/bbs/thread-7467-1-1.htmlui

  • sudo -i 也能够登陆到root吗?xxx

http://www.apelearn.com/bbs/thread-6899-1-1.htmlrest

相关文章
相关标签/搜索