1.一切皆文件;
2.虛擬終端(terminal):Ctrl+Alt+F1-F6 一共7個
3.su命令(switch user)
su命令選項
-, -l, --login 登錄並改變到所切換的用戶環境;
-c, --commmand=COMMAND 執行一個命令,然後退出所切換到的用戶環境;
[qq@nginx ~]$ su - root Password: [root@nginx ~]# id uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [qq@nginx ~]$ su - root -c ls Password: anaconda-ks.cfg install.log install.log.syslog t.sh uid=504(qq) gid=504(qq) groups=504(qq) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c102 [qq@nginx ~]$ su - root -c 'ls /usr' Password: bin etc games include lib libexec local lost+found sbin share src tmp [qq@nginx ~]$ id uid=504(qq) gid=504(qq) groups=504(qq) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c102
4.sudo
sudo比su安全,不需要知道root的密碼,sudo使用當前用戶密碼。
選項:
-b 在後臺執行指令。
-h 顯示幫助。
-k 結束密碼的有效期限,也就是下次再執行sudo時便需要輸入密碼。
-l 列出目前用戶可執行與無法執行的指令。
-s<shell> 執行指定的shell。
-u<user> 以指定的用戶作爲新的身份。若不加上此參數,則預設以root作爲新的身份。
-v 延長密碼有效期限5分鐘。
-V 顯示版本信息
sudo su - 的執行過程
先執行sudo 因沒有指定帳號,所以以root作爲新的身份來運行,然後執行su -,因新的執行身份爲root,所以不需要輸入root的密碼(root 執行su命令不需要輸入密碼)。
對比
[qq@nginx ~]$sudo 如果不帶用戶,則表示以root作爲新的身份來運行
[qq@nginx ~]$sudo -u qq 表示以qq用戶身份來運行
sudo -s 和 sudo su - 的不同點
sudo -s 和 sudo su - 都是切換到root的,但他們的所執行的shell是不一樣的。
sudo -s
將qq用戶的shell 改爲/bin/tcsh
[qq@nginx ~]$ echo $SHELL /bin/tcsh [qq@nginx ~]$ sudo -s [sudo] password for qq: [root@nginx qq]# id uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [root@nginx qq]# echo $SHELL /bin/tcsh sudo su - [qq@nginx ~]$ sudo su - [root@nginx ~]# id uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [root@nginx ~]# echo $SHELL /bin/bash