RSS   


[TWed2k]我們也來玩時光膠囊,相約十年後!


  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: Linux切換身份的方法   字型大小:||| 
pcca
銅驢友〔中級〕
等級: 9等級: 9等級: 9


今日心情

 . 積分: 134
 . 文章: 402
 . 收花: 1065 支
 . 送花: 55 支
 . 比例: 0.05
 . 在線: 1586 小時
 . 瀏覽: 13231 頁
 . 註冊: 4833
 . 失蹤: 8
 . 馬來西亞
#1 : 2012-11-7 08:51 AM     只看本作者 引言回覆

Linux從一般使用者轉換成root的方法有很多, 說實在的我也有點混亂, 有沒有人可以解說一下?
1. su -
2. sudo -i
3. sudo -s
4. sudo su -



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
這個嘛
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14


 . 積分: 857
 . 文章: 1409
 . 收花: 7577 支
 . 送花: 4637 支
 . 比例: 0.61
 . 在線: 3608 小時
 . 瀏覽: 41813 頁
 . 註冊: 5198
 . 失蹤: 1
#2 : 2012-11-7 08:35 PM     只看本作者 引言回覆

鳥哥的網站寫的

以『 su - 』直接將身份變成 root 即可,但是這個指令卻需要 root 的密碼,也就是說,如果你要以 su 變成 root 的話,你的一般使用者就必須要有 root 的密碼才行;

以『 sudo 指令 』執行 root 的指令串,由於 sudo 需要事先設定妥當,且 sudo 需要輸入使用者自己的密碼, 因此多人共管同一部主機時, sudo 要比 su 來的好喔!至少 root 密碼不會流出去!



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Ralse
金驢友〔初級〕
等級: 16等級: 16等級: 16等級: 16


十週年紀念徽章(六級)  

今日心情

 . 積分: 2197
 . 文章: 3897
 . 收花: 19793 支
 . 送花: 33155 支
 . 比例: 1.68
 . 在線: 4098 小時
 . 瀏覽: 38825 頁
 . 註冊: 5189
 . 失蹤: 0
#3 : 2012-11-7 11:45 PM     只看本作者 引言回覆


引用:
這個嘛寫到:
鳥哥的網站寫的

以『 su - 』直接將身份變成 root 即可,但是這個指令卻需要 root 的密碼,也就是說,如果你要以 su 變成 root 的話,你的一般使用者就必須要有 root 的密碼才行;

以『 sudo 指令 』執行 root 的指令串,由於 sudo 需要事先設定妥當,且 sudo 需要輸入使用者自己的密碼, 因此多人共管同一部主機時, sudo 要比 su 來的好喔!至少 root 密碼不會流出去!


sudo需要事先編輯一個allow list (或稱為white list),只有在該list內的使用者可以使用sudo這個指令
且sudo指令可以取代su成root,使用時要輸入目前登入帳號的密碼,且執行的命令會被紀錄下來
一般來說只有進行系統設定或安裝軟體時才會遇到root權限,但是為了安全考量,最好養成使用sudo的習慣
免得不小心就把系統搞掛了



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
pcca
銅驢友〔中級〕
等級: 9等級: 9等級: 9


今日心情

 . 積分: 134
 . 文章: 402
 . 收花: 1065 支
 . 送花: 55 支
 . 比例: 0.05
 . 在線: 1586 小時
 . 瀏覽: 13231 頁
 . 註冊: 4833
 . 失蹤: 8
 . 馬來西亞
#4 : 2012-11-8 09:17 AM     只看本作者 引言回覆

照 Wikipedia 的說法:
sudo is a program for Unix-like computer operating systems that allows users to run programs with the security privileges of another user (normally the superuser, or root).

所以 sudo 應該是指讓使用者用自己的身份可以去執行一些需要安全權限的指令。
不過我比較在意的是 su -, sudo -i, sudo -s, sudo su - 這幾個指令在實際使用上究竟有什麼差別, 例如 shell 和使用者的環境轉換之間
的差異。

* sudo可以設定成不用輸入自己密碼就可以直接執行指令的。



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
innova
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14


十週年紀念徽章(五級)  

今日心情

 . 積分: 877
 . 文章: 2620
 . 收花: 6852 支
 . 送花: 1264 支
 . 比例: 0.18
 . 在線: 2115 小時
 . 瀏覽: 13042 頁
 . 註冊: 4923
 . 失蹤: 0
 . 火星
#5 : 2012-12-1 11:32 PM     只看本作者 引言回覆

你用一般user login (遠端連線 也只准許用非root login)
然後
你知道 另一個 user password
你可以 用`su user` 變成那個人,只需要輸入他的密碼即可
同樣的
你知道 root 密碼
你 su 變成 root
只需輸入正確 root password即可

但是,若你不知道 root password (root不想告訴你密碼)
你用 su 當然不可能變成 root (因為密碼不正確)
但是 你用 `sudo su` 只需要輸入自己密碼 即可變成 root

這是 純`su` 跟 `sudo su`的不同
---

su 跟 su -
你現在 不是 root
你有自己的工作環境(env)
你想繼續用現有一般user環境 去執行某些需要 root權限工作的事情
請直接用 su

你想用純root權限去做事情
請用 `su -`

最簡單的解釋 就是 PATH設定
一般 user自己安裝了某工具在自己目錄下,並已在 $PATH環境變數中添加該工具執行路徑與環境
但是有些工作需要較高權限,請直接用 `su`
若是為了避免一般user誤入歧途,預設PATH中並未參考到 /sbin/之類的路徑
root執行環境必定會參考該路徑
為了避免執行命令時的問題,請使用 `su -`
否則,請使用完整路徑 /sbin/reboot



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
pcca
銅驢友〔中級〕
等級: 9等級: 9等級: 9


今日心情

 . 積分: 134
 . 文章: 402
 . 收花: 1065 支
 . 送花: 55 支
 . 比例: 0.05
 . 在線: 1586 小時
 . 瀏覽: 13231 頁
 . 註冊: 4833
 . 失蹤: 8
 . 馬來西亞
#6 : 2012-12-3 10:33 AM     只看本作者 引言回覆

但是,若你不知道 root password (root不想告訴你密碼)
你用 su 當然不可能變成 root (因為密碼不正確)
但是 你用 `sudo su` 只需要輸入自己密碼 即可變成 root

那 sudo su 和 sudo -i 有何



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
innova
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14


十週年紀念徽章(五級)  

今日心情

 . 積分: 877
 . 文章: 2620
 . 收花: 6852 支
 . 送花: 1264 支
 . 比例: 0.18
 . 在線: 2115 小時
 . 瀏覽: 13042 頁
 . 註冊: 4923
 . 失蹤: 0
 . 火星
#7 : 2012-12-19 03:24 PM     只看本作者 引言回覆

啊~
這...
縮針的
這還真的不清楚哩...
(看起來似乎是一樣的東西?)

不過 這輩子沒用過 sudo -i
因為... su - 明顯少打很多字!  XD



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
x13
銀驢友〔中級〕
等級: 13等級: 13等級: 13等級: 13
瀧崗阡秣

十週年紀念徽章(六級)  

 . 積分: 591
 . 精華: 2
 . 文章: 683
 . 收花: 4181 支
 . 送花: 4736 支
 . 比例: 1.13
 . 在線: 1429 小時
 . 瀏覽: 9550 頁
 . 註冊: 5062
 . 失蹤: 2
 . TWed2k-DVD幫
#8 : 2013-3-9 11:13 AM     只看本作者 引言回覆

su   是 shell
su - 是 login shell

sudo su 還是shell
sudo -i 是 login shell

login shell 跟 shell 的差別 以bash為例 簡單說大概像底下這樣

login shell:
登入時
如果有 /etc/profile 就source它
如果有 ~/.bash_profile 就source它
    不然如果有~/.bash_login 就source它
    再不然如果有 ~/.profile 就source它

登出時
如果有 .bash_logout 就source它

shell:
如果有 ~/.bashrc 就source它


所以哪些東西要放.bash_profile哪些東西要放.bashrc是有學問的




還有用sudo vi/vim 是個很糟的習慣
應該用sudoedit

猜猜原因是什麼?

[x13 在  2013-3-9 12:47 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
innova
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14


十週年紀念徽章(五級)  

今日心情

 . 積分: 877
 . 文章: 2620
 . 收花: 6852 支
 . 送花: 1264 支
 . 比例: 0.18
 . 在線: 2115 小時
 . 瀏覽: 13042 頁
 . 註冊: 4923
 . 失蹤: 0
 . 火星
#9 : 2013-3-9 03:53 PM     只看本作者 引言回覆

那 sudo su -
跟 sudo -i

有什麼不同?



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
x13
銀驢友〔中級〕
等級: 13等級: 13等級: 13等級: 13
瀧崗阡秣

十週年紀念徽章(六級)  

 . 積分: 591
 . 精華: 2
 . 文章: 683
 . 收花: 4181 支
 . 送花: 4736 支
 . 比例: 1.13
 . 在線: 1429 小時
 . 瀏覽: 9550 頁
 . 註冊: 5062
 . 失蹤: 2
 . TWed2k-DVD幫
#10 : 2013-3-10 05:18 AM     只看本作者 引言回覆


引用:
innova寫到:
那 sudo su -
跟 sudo -i

有什麼不同?


結果是一樣的但是過程不一樣XD
這問題很像i++跟++i
假設user x13是sudoer或wheel群組 可以執行sudo

su -i
這個密碼是root的密碼

sudo su -i
這個密碼是sudo要求的,所以鍵入的是x13的密碼,sudo代表的是root權限去執行一件事,而root執行su是不用密碼的
這是真正切換成root身分

sudo -i
這個密碼是x13的密碼
sudo -i的意義是「模擬」root登入的執行環境,並不是真正切換身分,所以一舉一動都被sudo log起來

大概是這樣不要再考我了XD



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2018-9-24 12:21 PM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.021549 second(s), 6 queries , Qzip disabled