我想编写一个脚本来向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,我不知道该怎么做,我做了一些搜索,但是找不到任何东西
发布于 2021-04-01 05:41:49
而不是使用:
sudo echo "# This is a comment" >> someFile.txt您可以使用:
echo "# This is a comment" | sudo tee -a someFile.txt注意:不要忘记tee命令的D3标志,否则将用新的注释行覆盖整个文件。
在这里阅读更多关于tee的信息:
发布于 2021-04-01 04:52:28
我有三件事要指出。首先,您应该真正使用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文件。
https://unix.stackexchange.com/questions/643022
复制相似问题