3.7su命令linux
[root@MOMOCO-02 ~]# whoami安全
rootbash
【查看當前的用戶】ssh
[root@MOMOCO-02 ~]# su - user01ide
上一次登陸:三 12月 27 15:11:18 CST 2017pts/0 上ui
【切換用戶的命令】spa
[user01@MOMOCO-02 ~]$ whoamirest
user01get
[user01@MOMOCO-02 ~]$ idit
uid=1001(user01) gid=1001(user01) 組=1001(user01) 環境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
【產看當前的用戶id號,也能夠看噹噹前的用戶是誰。】
[user01@MOMOCO-02 ~]$ 登出【ctrl+d】
[root@MOMOCO-02 ~]# pwd
/root
[root@MOMOCO-02 ~]# su user01
【不能完全的切換到user用戶裏】
[user01@MOMOCO-02 root]$ pwd
/root
【你不是用-他的家目錄不能切換。】
[user01@MOMOCO-02 ~]$ ls -la
總用量 16
drwx------. 2 user01 user01 83 12月 27 15:18 .
drwxr-xr-x. 5 root root 50 12月 27 15:04 ..
-rw-------. 1 user01 user01 17 12月 27 15:18 .bash_history
-rw-r--r--. 1 user01 user01 18 8月 3 05:11 .bash_logout
-rw-r--r--. 1 user01 user01 193 8月 3 05:11 .bash_profile
-rw-r--r--. 1 user01 user01 231 8月 3 05:11 .bashrc
[root@MOMOCO-02 ~]# su - -c "touch /tmp/1.2.txt" gyblinux
【-c選項是指定某個用戶運行某個命令,這個是指定gyblinux用戶在/tmp/目錄下建立一個1.1.txt文件】
[root@MOMOCO-02 ~]# ls -lt /tmp/ |head -n2
總用量 4
-rw-rw-r--. 1 gyblinux user02 0 12月 27 15:38 1.2.txt
【文件建立成功,他的所屬組是user02,以下能夠看到gyblinux的所屬組】
[root@MOMOCO-02 ~]# id gyblinux
uid=1000(gyblinux) gid=1002(user02) 組=1002(user02)
[root@MOMOCO-02 ~]# su - gyblinux
上一次登陸:三 12月 27 15:51:57 CST 2017pts/0 上
[gyblinux@MOMOCO-02 ~]$ su - user01
密碼:
su: 鑑定故障
【咱們使用普通用戶登陸普通用戶,這個錯我使咱們鎖定了user01的密碼】
[gyblinux@MOMOCO-02 ~]$ su - user01
密碼:
上一次登陸:三 12月 27 15:52:10 CST 2017pts/0 上
最後一次失敗的登陸:三 12月 27 15:57:11 CST 2017pts/0 上
最有一次成功登陸後有 2 次失敗的登陸嘗試。
【若是用戶密碼沒有被鎖定是能夠登陸的】
[root@MOMOCO-02 ~]# su - user01
上一次登陸:三 12月 27 16:05:36 CST 2017pts/0 上
[user01@MOMOCO-02 ~]$ su - user3
密碼:
su: 警告:沒法更改到 /home/user3 目錄: 沒有那個文件或目錄
-bash-4.2$
【咱們發現這個前綴和前面的不同了,這是由於這個用戶沒有家目錄的緣由。咱們看下面的操做就能夠恢復了。】
[root@MOMOCO-02 ~]# id user3
uid=1003(user3) gid=1003(user3) 組=1003(user3)
【查看user3的gid】
[root@MOMOCO-02 ~]# mkdir /home/user3
【在家目錄中建立user3】
[root@MOMOCO-02 ~]# chown user3:user3 /home/user3
【更改user3目錄的所屬主和所屬組】
[root@MOMOCO-02 ~]# su - user3
上一次登陸:三 12月 27 16:06:24 CST 2017pts/0 上
-bash-4.2$ ls -la
總用量 0
drwxr-xr-x. 2 user3 user3 6 12月 27 16:13 .
drwxr-xr-x. 6 root root 63 12月 27 16:13 ..
-bash-4.2$ 登出
[root@MOMOCO-02 ~]# su - gyblinux
上一次登陸:三 12月 27 15:58:51 CST 2017pts/0 上
[gyblinux@MOMOCO-02 ~]$ ls -la
總用量 16
drwx------. 2 gyblinux user02 98 12月 27 15:45 .
drwxr-xr-x. 6 root root 63 12月 27 16:13 ..
-rw-r--r--. 1 gyblinux user02 0 12月 27 15:45 1.2.txt
-rw-------. 1 gyblinux user02 169 12月 27 16:02 .bash_history
-rw-r--r--. 1 gyblinux user02 18 8月 3 05:11 .bash_logout
-rw-r--r--. 1 gyblinux user02 193 8月 3 05:11 .bash_profile
-rw-r--r--. 1 gyblinux user02 231 8月 3 05:11 .bashrc
【咱們建立了家目錄在登陸仍是不行,由於家目錄裏面沒有3個.bash*的文件】
[gyblinux@MOMOCO-02 ~]$ 登出
[root@MOMOCO-02 ~]# ls -la /etc/skel/
總用量 24
drwxr-xr-x. 2 root root 62 12月 5 22:25 .
drwxr-xr-x. 74 root root 8192 12月 27 16:06 ..
-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
【系統自帶的3個.bash*文件】
[root@MOMOCO-02 ~]# cp /etc/skel/.b* /home/user3
[root@MOMOCO-02 ~]# chown -R user3:user3 /home/user3
【更改/home/user3/目錄及目錄的所屬主和所屬組】
【咱們把這三個文件拷貝到家目錄的user3目錄裏再次登陸user3用戶】
[root@MOMOCO-02 ~]# su - user3
上一次登陸:三 12月 27 16:14:34 CST 2017pts/0 上
[user3@MOMOCO-02 ~]$ ls -la
總用量 16
drwxr-xr-x. 2 user3 user3 83 12月 27 16:17 .
drwxr-xr-x. 6 root root 63 12月 27 16:13 ..
-rw-------. 1 user3 user3 47 12月 27 16:26 .bash_history
-rw-r--r--. 1 user3 user3 18 12月 27 16:17 .bash_logout
-rw-r--r--. 1 user3 user3 193 12月 27 16:17 .bash_profile
-rw-r--r--. 1 user3 user3 231 12月 27 16:17 .bashrc
【此次就能夠像以前gyblinux用戶的前綴了】
[gyblinux@MOMOCO-02 ~]$ su -
密碼:
上一次登陸:三 12月 27 16:35:00 CST 2017pts/0 上
最後一次失敗的登陸:三 12月 27 16:35:53 CST 2017pts/0 上
最有一次成功登陸後有 1 次失敗的登陸嘗試。
【咱們也能夠從普通用戶登陸到root用戶可是首先你要知道root用戶的密碼】
3.8sudo命令
這個命令是讓普通用戶臨時運行root的命令,下面咱們來看sudo的配置文件。
[root@MOMOCO-02 ~]# visudo
【咱們運行visudo命令進入sudo的配置文件,其實/etc/sudoers.tmp才真正是sudo的配置文件。可是咱們用絕對路徑配置文件的時候若是你的語法有錯誤他不會提示你,並且這個文件比較重要。而咱們用sudo來寫若是有錯誤他會提示咱們】
[root@MOMOCO-02 ~]# visudo
【咱們找到這一行模仿root編輯一下】
>>> /etc/sudoers: 語法錯誤 near line 93 <<<
如今作什麼?
選項有:
從新編輯 sudoers 文件(e)
退出,不保存對 sudoers 文件的更改(x)
退出並將更改保存到 sudoers 文件(危險!)(Q)
如今作什麼?e
【能夠看到咱們錯誤的提示】
【正確的編輯是使用絕對路徑在路徑的後面加上逗號在加個空格】這句語言的意思就是讓gyblinux用戶擁有root用的身份去執行這幾條命令
【上面說在93行有錯誤咱們怎麼找多少行那?你進入編輯的文件而後:set nu 他就會顯示行號】
[root@MOMOCO-02 ~]# su - gyblinux
上一次登陸:三 12月 27 19:15:16 CST 2017pts/0 上
[gyblinux@MOMOCO-02 ~]$ ls /root/
ls: 沒法打開目錄/root/: 權限不夠
【在普通目錄下咱們是不能ls /root/ 使用root用戶的,可是咱們使用下面的sudo就能夠。】
[gyblinux@MOMOCO-02 ~]$ sudo /usr/bin/ls /root/
咱們信任您已經從系統管理員那裏瞭解了平常注意事項。
總結起來無外乎這三點:
#1) 尊重別人的隱私。
#2) 輸入前要先考慮(後果和風險)。
#3) 權力越大,責任越大。
[sudo] gyblinux 的密碼:
123 2.txt 3 3.txt 3.txt~ anaconda-ks.cfg
【這裏他讓咱們輸入gyblinux的用戶密碼,第一次使用他會讓咱們輸入密碼,第二次自後就不讓咱們輸入密碼了。】
[gyblinux@MOMOCO-02 ~]$ sudo /usr/bin/ls /root/
123 2.txt 3 3.txt 3.txt~ anaconda-ks.cfg
【這樣咱們就可使用ls /root/ 使用root用戶了】
[gyblinux@MOMOCO-02 ~]$ sudo /usr/bin/cat /root/4.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
注意:咱們這樣設置就會避免系統遭到破壞,咱們就給普通用戶要用的root命令。也防止root密碼的泄露。
【我不想輸入本身的密碼怎麼辦那就加上NOPASSWD: 就好了。快捷方式光標定位到要複製的那一行而後按yy再按p就會在下面複製本行。】
[root@MOMOCO-02 ~]# visudo
[root@MOMOCO-02 ~]# su - user01
上一次登陸:三 12月 27 19:43:42 CST 2017pts/0 上
[user01@MOMOCO-02 ~]$ sudo /usr/bin/ls /root/
123 2.txt 3 3.txt~ 4.txt anaconda-ks.cfg
【一組爲單位給我要用的命令作個組的別名,把你要用的命令加入到這裏面去。而後在下面的時候就直接使用GYB_CMD就能夠了。】
[root@MOMOCO-02 ~]# visudo
[root@MOMOCO-02 ~]# su - gyblinux
上一次登陸:三 12月 27 19:54:21 CST 2017pts/0 上
[gyblinux@MOMOCO-02 ~]$ sudo ls /root/
123 2.txt 3 3.txt~ 4.txt anaconda-ks.cfg
3.9限制root遠程登陸
爲了安全起見咱們通常不會讓普通用戶知道密碼,不會讓root遠程。
[root@MOMOCO-02 ~]# visudo
【咱們能夠登陸普通用戶,而後在普通用戶裏切換到root用戶。】
【設置一個用戶組】
【容許用戶組GYBADMINS運行su命令。】
[root@MOMOCO-02 ~]# su - gyblinux
上一次登陸:三 12月 27 20:00:48 CST 2017pts/0 上
【進入普通用戶】
[gyblinux@MOMOCO-02 ~]$ su -
密碼:
【咱們ctrl+c】
[gyblinux@MOMOCO-02 ~]$ sudo su -
上一次登陸:四 12月 28 08:13:10 CST 2017從 192.168.119.1pts/1 上
[root@MOMOCO-02 ~]# 登出
[gyblinux@MOMOCO-02 ~]$ 登出
【咱們用sudo進入root用戶,能夠看到不須要密碼。可是這個仍是不夠安全,由於進入root用戶能夠本身修改root的密碼,這樣仍是不安全。因此這個還不是咱們想要的。】
【關閉root遠程登陸】
[root@MOMOCO-02 ~]# vi /etc/ssh/sshd_config
【進入這個配置文件,按下面的方法配置】
[root@MOMOCO-02 ~]# systemctl restart sshd.service
【重啓sshd的配置服務】
咱們再次連接momoco02
【當咱們輸入對的密碼時也是沒法登陸root的】
那咱們就用普通用戶登陸,登陸方法以下:
【進入普通用戶咱們在進入root用戶】
[gyblinux@MOMOCO-02 ~]$ su -
密碼:
【咱們直接su - 他會讓咱們輸入密碼。咱們不知道ctrl+c取消】
[gyblinux@MOMOCO-02 ~]$ sudo su -
【咱們可使用sudo命令就如root用戶下】
上一次登陸:四 12月 28 10:01:55 CST 2017從 192.168.119.1pts/0 上
最後一次失敗的登陸:四 12月 28 10:03:23 CST 2017從 192.168.119.1ssh:notty 上
最有一次成功登陸後有 1 次失敗的登陸嘗試。
爲了之後方便作實驗咱們仍是容許root用戶遠程登陸,咱們把以前的配置vi /etc/ssh/sshd_config文件改回來就好了。