chmod/chown에 대한 NOPASSWD 권한을 나 자신에게 부여할 수 없습니다. [중복]

chmod/chown에 대한 NOPASSWD 권한을 나 자신에게 부여할 수 없습니다. [중복]

chmod일반 사용자 계정을 사용하여 모든 파일 작업을 할 수 있도록 로컬 컴퓨터(Linux Mint 13 Maya 포함)를 설정하려고 합니다 .chownmax

이 페이지에 이어, https://askubuntu.com/questions/159007/how-do-i-run-특이적-sudo-commands-without-a-password

나는 다음을 수행했습니다.

#edit the /etc/sudoers file via `visudo` 
sudo visudo

#in the file, added these lines:
Cmnd_Alias NOPASS_CMNDS = /bin/chmod, /bin/chown
max ALL=(ALL) NOPASSWD: NOPASS_CMNDS

그런 다음 저장되었습니다. (chmod 및 chown을 사용하여 위치를 얻었습니다 which)

이제 내 visudo파일은 다음과 같습니다.

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

Cmnd_Alias NOPASS_CMNDS = /bin/chmod, /bin/chown
max ALL=(ALL) NOPASSWD: NOPASS_CMNDS

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# 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

이것이 출력이다sudo -l

$ sudo -l
Matching 'Defaults' entries for max on this host:
    env_reset, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User max may run the following commands on this host:
    (ALL) NOPASSWD: /bin/chmod, /bin/chown
    (ALL : ALL) ALL

그런 다음 새 셸 탭을 열고 sudo chmod다른 사용자 및 그룹이 소유한 파일에 액세스하려고 하면 비밀번호를 묻는 메시지가 나타납니다.

$ ls -l  tmp/0000000001
-rw------- 1 www-data www-data 19245781 Sep 10 16:59 tmp/0000000001

$ sudo chmod +w tmp/0000000001
[sudo] password for max:

여기서 뭔가 빠졌나요? 제가 뭔가 잘못하고 있는 것인지, 아니면 제가 정말로 바꾸고 싶은 것을 오해하고 있는 것인지 모르겠습니다.

변경 사항을 보려면 재부팅하거나 다시 로드/다시 시작해야 합니까?

답변1

여기서 문제는 이 사용자에게 두 가지 규칙이 있다는 것입니다.

(ALL) NOPASSWD: /bin/chmod, /bin/chown
(ALL : ALL) ALL

두 번째는 줄을 읽는 sudoers에서 나옵니다.

%sudo   ALL=(ALL:ALL) ALL

Sudo는 파일 하단에서 첫 번째 일치 규칙을 사용합니다. 따라서 명령 하위 집합에 대해 다른 옵션을 제공해야 하는 경우 해당 옵션이 나열되어 있는지 확인해야 합니다.다음과 같은좀 더 일반적인 라인.

즉, 라인이 다음과 같은지 확인해야 합니다.

max ALL=(ALL) NOPASSWD: NOPASS_CMNDS

배치되다뒤쪽에철사

%sudo   ALL=(ALL:ALL) ALL

파일에서.

관련 정보