歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> su和sudo的區別與使用

su和sudo的區別與使用

日期:2017/2/28 18:03:04   编辑:Linux教程

一. 使用 su 命令臨時切換用戶身份 1、su 的適用條件和威力
su命令就是切換用戶的工具,怎麼理解呢?比如我們以普通用戶beinan登錄的,但要添加用戶任務,執行useradd ,beinan用戶沒有這個權限,而這個權限恰恰由root所擁有。解決辦法無法有兩個,一是退出beinan用戶,重新以root用戶登錄,但這種辦法並不是最好的;二是我們沒有必要退出beinan用戶,可以用su來切換到root下進行添加用戶的工作,等任務完成後再退出root。我們可以看到當然通過su 切換是一種比較好的辦法;
通過su可以在用戶之間切換,如果超級權限用戶root向普通或虛擬用戶切換不需要密碼,什麼是權力?這就是!而普通用戶切換到其它任何用戶都需要密碼驗證;
2、su 的用法:
su [OPTION選項參數] [用戶]
-, -l, --login 登錄並改變到所切換的用戶環境;
-c, --commmand=COMMAND 執行一個命令,然後退出所切換到的用戶環境;
至於更詳細的,請參看man su ;
3、su 的范例:
su 在不加任何參數,默認為切換到root用戶,但沒有轉到root用戶家目錄下,也就是說這時雖然是切換為root用戶了,但並沒有改變root登錄環境;用戶默認的登錄環境,可以在/etc/passwd 中查得到,包括家目錄,SHELL定義等;
[table=400][tr][td][beinan@localhost ~] $ su
Password:
[root@localhost beinan]# pwd
/home/beinan[/td][/tr][/table]su 加參數 - ,表示默認切換到root用戶,並且改變到root用戶的環境;
[table=400][tr][td][beinan@localhost ~] $ pwd
/home/beinan
[beinan@localhost ~] $ su -
Password:
[root@localhost ~]# pwd
/root[/td][/tr][/table]su 參數 - 用戶名
[beinan@localhost ~] $ su - root 注:這個和su - 是一樣的功能;
Password:
[root@localhost ~]# pwd
/root
[beinan@localhost ~] $ su - linuxsir 注:這是切換到 linuxsir用戶
Password: 注:在這裡輸入密碼;
[linuxsir@localhost ~] $ pwd 注:查看用戶當前所處的位置;
/home/linuxsir
[linuxsir@localhost ~] $ id 注:查看用戶的UID和GID信息,主要是看是否切換過來了;
uid=505(linuxsir) gid=502(linuxsir) groups=0(root),500(beinan),502(linuxsir)
[linuxsir@localhost ~] $
[beinan@localhost ~] $ su - -c ls 注:這是su的參數組合,表示切換到root用戶,並且改變到root環境,然後列出root家目錄的文件,然後退出root用戶;
Password: 注:在這裡輸入root的密碼;
anaconda-ks.cfg Desktop install.log install.log.syslog testgroup testgroupbeinan testgrouproot
[beinan@localhost ~] $ pwd 注:查看當前用戶所處的位置;
/home/beinan
[beinan@localhost ~] $ id 注:查看當前用戶信息;
uid=500(beinan) gid=500(beinan) groups=500(beinan)

Copyright © Linux教程網 All Rights Reserved