2016-05-03 30 views
0

我在sudoers添加用戶tomcat的文件是這樣的:用戶在sudoers中沒有寫權限

tomcat ALL=(ALL)  NOPASSWD:ALL 

然後我注意到一個問題。當我輸入:

sudo vim /etc/hosts 

我可以使我的更改沒有任何問題。但是當我嘗試這個時,我得到一個錯誤:

sudo echo "address host" >> /etc/hosts 
-bash: /etc/hosts: Permission denied 

有人可以向我解釋爲什麼?

+0

從重複的問題:_The問題是外殼程序輸出重定向,不須藤或回聲,所以這麼做是因爲你經常user._ – fedorqui

回答

0

這會失敗,因爲當前shell正在執行重定向而不是「echo」。由於當前用戶沒有權限寫入文件「/ etc/hosts」,因此「權限被拒絕錯誤」。 做到這一點的方法:

echo "address host" | sudo tee -a /etc/hosts 
+0

感謝,它的工作原理。 –