Linux基礎——su&&sudo 切換使用者
阿新 • • 發佈:2019-01-08
檢視當前使用者命令
#id
#whoami
#su - 【減號的作用,加上後會初始化當前使用者的各種環境變數】
#su - aming
返回之後的路徑,PATH環境變數均是aming使用者下的
#su aming
切換之後,PATH環境變數,pwd的當前目錄,均為root
如果不加-切換至 [使用者名稱] 賬戶下,當前目錄沒有變化。
加上“-”切換到 [使用者名稱] 賬戶後,當前目錄為 [使用者名稱] 賬戶的家目錄,
su -c "命令" [使用者名稱]
#su - -c "mkdir /tmp/121212" aming 【以阿銘普通使用者的身份建立121212mulu 】
#su - -c "echo $PATH" aming 【在aming使用者環境下,執行 echo $PATH命令】
複習:使用普通使用者user6,在不輸入密碼的情況下刪除普通使用者user5
sudoers中的Defaults選項requiretty要求只有擁有tty的使用者才能使用sudo。
普通使用者使用sudo命令可以執行某些只有root才可以執行的命令,前提是需要知道普通使用者自己的密碼。預設只有root可以使用sudo命令,普通使用者想要使用sudo,需要root提前設定。
可以使用visudo命令去編輯相關配置檔案/etc/sudoers。如果沒有visudo,使用安裝命令 yum install -y sudo。
test ALL=(root) ALL 【test使用者有了sudo許可權】
#test ALL=(root) ALL 【加上#表示這條命令取消,暫不執行】【此段新增】
test使用者可以從rootIP登陸切換至任何使用者,並可以執行所有命令
#useradd user1 【建立使用者user1】
#su user1
$ls 【在user1使用者下,ls命令可以執行】
$ls /root 【但是不可以開啟root目錄,因為root只有root使用者可以開啟,此時需要visudo】
提示許可權不夠
$exit
#visudo
user1 ALL=(root) ALL
#su - user1
$sudo ls /root
一、使用者名稱root
指定哪個使用者擁有sudo的權利。
二、
左邊的ALL,指定主機或者主機IP地址,即,使用者從哪個IP登陸來的,ALL就是所有IP都可。
小括號裡面是一個使用者名稱,即,使用者可以切換到哪個使用者的身份,如果是root,就只可以執行root的許可權。如果是ALL表示所有使用者。
三、
指定test使用者可以使用的命令有哪些,ALL就是全部命令。如果是多個命令,可以使用英文逗號隔開。
test ALL=(root) /bin/ls, /user/bin/passwd
test ALL=(root) NOPASSWD: /bin/ls, /user/bin/passwd 【執行以下命令的時候不需要輸入密碼就可執行】
% aming ALL=(root) NOPASSWD: /bin/*,/usr/bin/*
【aming使用者組的使用者,在不需要密碼的情況下,可以執行/bin和/usr/bin目錄下的所有命令】
aming ALL=(root) /usr/sbin/*,/sbin/*,!/usr/sbin/fdisk 【aming使用者可以執行bin下面的所有命令,除了/usr/sbin/fdisk】
#sudo -l 【列出當前使用者可以執行的sudo許可權】
#sudo ls /root
使用者名稱 | 命令 | |
root | ALL=(ALL) | ALL |