su sudo 命令

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#

root@nfyx:/home/nfyx# pwd
/home/nfyx
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 .bashr
c
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

相關的參考資料較上,等以後,瞭解更多了,再補上

相關文章
相關標籤/搜索