Voici mon fichier de configuration sudoers
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
Host_Alias TX=12x.xxx.xxx.xx9
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
www_remote TX=(root) NOPASSWD:/bin/chown
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
Après vous être connecté à www_remote à distance, vous devez toujours saisir le mot de passe lors de l'exécution de sudo chown
[root@VM_xx_xx_centos ~]# sudo -u apache ssh xxx.xxx -l www_remote
Linux iZ...Z 3.2.0-4-amd64 #1 SMP Debian 3.2.86-1 x86_64
Welcome to aliyun Elastic Compute Service!
Last login: Sun May 14 17:55:32 2017 from 12x.xxx.xxx.xx9
www_remote@iZ...Z:~$ ls -l
总用量 0
-rw-r--r-- 1 www-data www_remote 0 5月 14 16:38 test
www_remote@iZ...Z:~$ sudo chown :www-data test
[sudo] password for www_remote:
www_remote 无权在 iZ281fkjotsZ 上运行 sudo。此事将被报告。
S'il s'agit de www_remote ALL=(root) NOPASSWD:/bin/chown, la commande peut être exécutée normalement.
Qu'est-ce qui ne va pas avec ma configuration ?
Déplacez la ligne "www_remote" à la fin du fichier, sinon %sudo l'écrasera.