有時偷懶寫 script 想要用 echo "somethng" 寫資料到 root 擁有的檔案,就會出現 Permission denied 的訊息:

$ sudo echo '+::::::' >> /etc/passwd
-bash: /etc/passwd: Permission denied

改用下招即可:

$ sudo sh -c "echo '+::::::' >> /etc/passwd"

其實碰到的使用情境是 NIS client 的一堆檔案更新:

$ sudo sh -c "echo '+::::::' >> /etc/passwd" && sudo sh -c "echo '+:::' >> /etc/group" && sudo sh -c "echo '+::::::::' >> /etc/shadow" && sudo sh -c "echo '+:::' >> /etc/gshadow"

補充一點,如果 NIS 尚未設定好時,這時用 sudo 或 login 等相關動作會卡住非常久,從 /var/log/syslog 會看到 … ypbind … : broadcast: RPC: Timed out. 相關訊息,故建議先用 sudo su 轉成 root 角色在安裝 NIS 相關動作 :P


    文章標籤

    ubuntu sudo root nis

    全站熱搜

    changyy 發表在 痞客邦 留言(1) 人氣()