了解 sudoers:

了解 sudoers:

我有一个 Unix 脚本,它创建一个临时日志文件,例如tempfl.log.创建此文件后,它具有权限rw-r--r--

有一条线

chmod 0440 /etc/sudoers tempfl.log 2>&1

但是,当脚本完成后,权限将更改为r--r--r--但它应该是rw-r--r--。如果我将线路更改为

chmod 0644 /etc/sudoers tempfl.log

权限是正确的,tempfl.log但它会抛出错误:

sudo: /usr/local/etc/sudoers 模式为 0644,应该是 0440

我不明白 sudoers 在做什么以及出了什么问题。

答案1

你的脚本正在做确切地你告诉它做什么:

chmod 0440 /etc/sudoers tempfl.log

将适用r--r-----于这两个文件。

你真的不应该摆弄该sudoers文件,除非你正在编写管理脚本,即使这样,权限也应该保留,因为这有助于保护你的系统。程序sudo本身会检查其配置文件的权限并警告您(如您所见)。听这个。它显然比你更了解:-)

您确定您不只是尝试在 下运行脚本的某些部分sudo,如下所示:

sudo chmod 0440 tempfl.log 2>&1

如果没有,并且您确实想要修改这两个文件(但具有不同的权限,请使用两个单独的命令:

chmod 0440 /etc/sudoers 2>&1
chmod 0644 tempfl.log 2>&1

答案2

您的脚本正在更改 2 个文件 /etc/sudoers 和 tempfl.log 的权限。将命令分成两行,应该没问题。

答案3

当您写入时,它会将和chmod 0440 /etc/sudoers tempfl.log的权限更改为 0440,这是错误的。/etc/sudoerstempfl.log

当您写入时,它会将和chmod 0644 /etc/sudoers tempfl.log的权限更改为 0644,这是错误的。/etc/sudoerstempfl.log

您是否需要更改权限/etc/sudoers?你真的想写吗chmod 0644 tempfl.log

相关内容