首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能回显>> sudoers文件“拒绝/etc/sudoers”

不能回显>> sudoers文件“拒绝/etc/sudoers”
EN

Unix & Linux用户
提问于 2021-04-01 02:31:15
回答 2查看 1.5K关注 0票数 -1

我想编写一个脚本来向VPS或VMS中添加一些工具,并编写类似的内容。

代码语言:javascript
复制
# 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,我不知道该怎么做,我做了一些搜索,但是找不到任何东西

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2021-04-01 05:41:49

而不是使用:

代码语言:javascript
复制
sudo echo "# This is a comment" >> someFile.txt

您可以使用:

代码语言:javascript
复制
echo "# This is a comment" | sudo tee -a someFile.txt

注意:不要忘记tee命令的D3标志,否则将用新的注释行覆盖整个文件。

在这里阅读更多关于tee的信息:

票数 0
EN

Unix & Linux用户

发布于 2021-04-01 04:52:28

我有三件事要指出。首先,您应该真正使用visudo来编辑/etc/sudoers文件,即使您将$EDITOR设置为与该内容相呼应的脚本。另一种是让任何用户在没有密码的情况下运行任何命令,这是次优的。最后,$USER将等于根,因此这是没有意义的。

如果您真的想这样做,请创建一个包含以下内容的单独脚本:

代码语言:javascript
复制
echo '# Allow user to use sudo without a password' >> $1
echo "$PERSON ALL=\(ALL\) NOPASSWD:ALL" >> $1

其次,再创建一个运行主脚本的脚本,如下所示:

代码语言:javascript
复制
sudo "env PERSON=$USER /your/script/here"

这应该会对其进行一些整理,因为您可以确保整个脚本都是以root的形式运行的,而visudo则保留备份,以防您破坏sudoers文件。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/643022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档