Linux
無法回顯 >> sudoers 文件“權限被拒絕:/etc/sudoers”
我想寫一個腳本來向我的 VPS 或 VMS 添加一些工具,我寫了類似的東西
# Edit sudoers echo -e "${GREEN}Configure sudoers...${NOCOLOR}" echo echo '# Allow user to use sudo without passwd' >> /etc/sudoers echo '$USER ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
這個腳本作為 Sudo 執行,我在 Sudo 中測試 echo $USER 是使用者名,而不是 root 我的意思是我是新手,所以我不知道並寫了這個,但是當我測試它時,我得到了錯誤,
permission error
我沒有不知道該怎麼辦我做了一些搜尋,但找不到任何東西
而不是使用:
sudo echo "# This is a comment" >> someFile.txt
您可以使用:
echo "# This is a comment" | sudo tee -a someFile.txt
**注意:**不要忘記命令的
-a
標誌tee
,否則你最終會用新的註釋行覆蓋整個文件。在此處閱讀更多資訊
tee
:
我有三件事要指出。一,你真的應該用它
visudo
來編輯/etc/sudoers
文件,即使你設置$EDITOR
了一個回顯該內容的腳本。另一個是讓任何使用者在沒有密碼的情況下執行任何命令是次優的。最後,$USER
將等於根,所以這將毫無意義。如果您真的想這樣做,請製作一個單獨的腳本,其中包含以下內容:
echo '# Allow user to use sudo without a password' >> $1 echo "$PERSON ALL=\(ALL\) NOPASSWD:ALL" >> $1
其次,製作另一個執行主腳本的腳本,如下所示:
sudo "env PERSON=$USER /your/script/here"
這應該會稍微整理一下,因為您可以確定整個腳本是以 root 身份執行的,並
visudo
保留備份以防您搞砸 sudoers 文件。