1. 程式人生 > >Linux基礎——su&&sudo 切換使用者

Linux基礎——su&&sudo 切換使用者

檢視當前使用者命令 #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。
使用者名稱 命令
root ALL=(ALL) ALL
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