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

相關文章
相關標籤/搜索