1 su 命令bash
產生緣由: 因用戶之間,有時候要相互切換,爲了方便,就產生了su命令。ide
a. root 用戶切換到普通用戶:ui
su username 這樣子就能夠切換,但切換後,目錄還在原來以前的目錄spa
如:ip
root@nfyx:~# pwd
/root
root@nfyx:~# su nfyx
nfyx@nfyx:/root$ pwd
/root
nfyx@nfyx:/root$
it
若想要連着家目錄一塊兒改變:class
su - username 這樣子,就會切換到本身的家目錄配置
root@nfyx:~# pwd
/root
root@nfyx:~# su - nfyx
nfyx@nfyx:~$ pwd
/home/nfyx
nfyx@nfyx:~$
file
b. 普通用戶切換到root用戶:權限
就直接輸入su 命令(一樣若不加- ,那麼目錄也不會被切換),但,會要求你輸入密碼
如:
nfyx@nfyx:~$ id
uid=1000(nfyx) gid=1000(nfyx) 組=1000(nfyx),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
nfyx@nfyx:~$ su
密碼:
root@nfyx:/home/nfyx#
若加-
nfyx@nfyx:~$ su -
密碼:
root@nfyx:~# pwd
/root
root@nfyx:~#
簡單總結: su 普通用戶到root用戶須要輸入密碼,反之則不會要求輸入密碼,加-和不加-, 則表示家目錄是否切換。
提示:普通用戶之間的相互切換,也須要輸入對應用戶的密碼。
c. 其次,它還能夠,以指定用戶建立文件或目錄
su - -c "touch filename " username
(su - (家目錄) -c (建立) "建立文件或目錄的命令" username(表示以哪一個用戶來建立))
su - -c 'mkdir dir name' username
root@nfyx:~# pwd
/root
root@nfyx:~# su - -c 'mkdir aaa' nfyx
root@nfyx:~# pwd
/root
root@nfyx:~# su - -c 'touch bbb.txt' nfyx
root@nfyx:~# ls -l /home/nfyx/
總用量 204
drwxrwxr-x 2 nfyx nfyx 4096 11月 2 09:48 aaa
-rw-rw-r-- 1 nfyx nfyx 0 11月 2 09:48 bbb.txt
-rwxr-xr-x 1 nfyx nfyx 151024 10月 25 13:20 cp
-rw-r--r-- 1 nfyx nfyx 8980 9月 25 17:34 examples.desktop
drwxrwxrwx 1 root root 4096 10月 30 09:58 sddata
附加:
1 當一個用戶不存在家目錄時,能夠爲其建立家目錄,並改其權限
root@nfyx:/home# mkdir username
root@nfyx:/home# chown username:username username
2 還須要加入默認的配置文件:
默認配置文件的原始目錄在:
root@nfyx:/home# ll /etc/skel/
總用量 28
drwxr-xr-x. 2 root root 4096 8月 29 18:14 .
drwxr-xr-x. 99 root root 12288 11月 1 10:35 ..
-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
3 把默認配製文件給復件過去,並改其全部者和所屬組
root@nfyx:/home# cp /etc/skel/.bash* /home/username/
root@nfyx:/home# chown -R username:username /home/username/
這樣子切換以後,用戶間的切換就能夠正常顯示了。
sudo
visudo 修改相關的配製命令
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
nfyx ALL=(ALL) NOPASSWD:/bin/ls, /bin/vm , /bin/useradd
相關的參考資料較上,等以後,瞭解更多了,再補上