linux sudo與su的區別

2021-10-04 15:04:39 字數 960 閱讀 1845

su ; sudo su ;su root;切到root後,pwd目錄不變

su - ; su - root; sudo -i  切到root後,pwd目錄變成/root

例如給系統清除快取的命令,echo 3 > /proc/sys/vm/drop_caches;如果用sudo執行就會提示許可權不夠,但是利用「sh -c」命令就可以;這是因為echo 和 > 命令在bash眼裡是兩條命令,但是sudo只給echo賦予了root許可權,但是卻沒給 > 賦予許可權,但是利用「sh -c」讓bash將乙個字串作為完整的命令來執行,這樣就可以將 sudo 的影響範圍擴充套件到整條命令。

給普通使用者zy新增了乙個環境變數」gaga=i』m zy.」,通過不同的方式切到root,檢視是否保留了gaga這個環境變數;

保留了gaga環境變數

沒有保留gaga環境變數

su、su root、sudo -e su

sudo su、su -、su - root、sudo -i

「sudo -e su」當加上-e引數時,sudo -e su也是可以保留原來的環境變數的,-e引數的含義:-e, --preserve-env  在執行命令時保留使用者環境。

su - 相當於建立乙個新的環境(由 root 使用者 ~/.bashrc 檔案所設定的環境),相當於使用 root 使用者正常登入(從登入螢幕登入),是login shell方式,它是先以root身份登入然後再執行別的操作;su命令在切換到 root 使用者之後仍然保持舊的(或者說原始使用者的)環境,讀取變數的方式是non-login shell。

1.如果希望可以不輸入密碼執行sudo命令,可以將/etc/sudoer檔案按照下面格式更改,

su與su 命令的區別

大部分linux發行版的預設賬戶是普通使用者,而更改系統檔案或者執行某些命令,需要root身份才能進行,這就需要從當前使用者切換到root使用者。su命令和su 命令最大的本質區別就是 前者只是切換了root身份,但shell環境仍然是普通使用者的shell 而後者連使用者和shell環境一起切換成...

su與su 命令的區別

su與su 命令的區別 本人以前一直習慣直接使用root,很少使用su,前幾天才發現su與su 命令是有著本質區別的!www.2cto.com 大部分linux發行版的預設賬戶是普通使用者,而更改系統檔案或者執行某些命令,需要root身份才能進行,這就需要從當前使用者切換到root使用者。linux...

Linux 中su 與su 的區別

linux 中切換使用者的命令是 su 或 su su命令和 su 命令最大的本質區別就是 前者只切換了root身份 但是shell環境仍然是普通使用者的shell 而後者是連使用者和shell 環境一起切換成了root 身份了 只有切換了shell環境才不會出現path環境變數錯誤 su切換成ro...