如何添加 sudo 复制权限?

如何添加 sudo 复制权限?

我的 sudoers 文件:

cat /etc/sudoers
...
USERHERE ALL = NOPASSWD: /bin/cp /home/USERHERE/foo/in.csv /home/anotheruser/in.csv
...

看起来也不错:

USERHERE@notebook:~/foo$ sudo -l
Matching Defaults entries for USERHERE on this host:
    env_reset, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User a may run the following commands on this host:
    (root) NOPASSWD: /bin/cp /home/USERHERE/foo/in.csv /home/anotheruser/in.csv
    (ALL : ALL) ALL
USERHERE@notebook:~/foo$

但是当我尝试时它会提示输入密码,为什么?

USERHERE@notebook:~$ sudo /bin/cp /home/USERHERE/foo/in.csv /home/anotheruser/in.csv
[sudo] password for USERHERE:

使用Ubuntu 12.04

答案1

使用 visudo 编辑 sudoers 文件,如下所示。

USERHERE ALL= (root) NOPASSWD: /bin/cp /home/USERHERE/foo/in.csv /home/anotheruser/in.csv

它不会要求输入密码。如果您需要更多信息,可以查看答案这里

测试

我在我的机器上做了以下操作。首先以 root 用户身份发出visudo命令来编辑sudoers文件。然后,我添加了以下条目以允许用户拉梅什发出网络重启命令。

ramesh ALL = (root) NOPASSWD: /etc/init.d/network restart

之后,我su ramesh以该用户身份登录。现在,我发出命令/etc/init.d/network restart,它没有提示我输入密码。

相关内容