visudo를 통해 sodoers 파일을 직접 수정하는 대신 /etc/sudoers.d/에 로컬 컨텐츠 추가


32

/etc/sudoers.d/에 대한 몇 가지 예와 자세한 지침을 알려주시겠습니까?

몇 가지 명령을 sudo 할 수있는 권한을 그룹에 부여하고 싶지만 다중 사용자 컴퓨터의 Ubuntu 보안 모델에서 불필요한 허점을 만들지 않는 적절한 방법입니다.

고대에는 간단한 sudoers 사용자 정의를 수행했지만 분명히 /etc/sudoers.d/가 더 적절한 방법이며 더 잘 이해하고 싶습니다.

답변:


43

으로 이 질문은 말한다, /etc/sudoers자동으로 시스템 업그레이드에 의해 변경 및 부적절한 변화에 매우 취약 할 수있는 시스템 전체의 구성 파일입니다. 부적절한 변경으로 인해 액세스가 손실되거나 시스템을 부팅 할 수 없게 될 수 있습니다.

$ sudo cat /etc/sudoers
#
# 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.
#

(... some other content ...)

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

당신이 기대할 수있는 것과는 달리, #includedir지시문 은 주석이 아닙니다 . 디렉토리에 sudo있는 파일 /etc/sudoers.d( '~'로 끝나거나 '.'문자를 포함하지 않는 파일)도 읽고 구문 분석 하는 효과가 있습니다.

$ ls -l /etc/sud*
-r--r----- 1 root root  755 sty 20 17:03 /etc/sudoers

/etc/sudoers.d:
total 7
-r--r----- 1 root root 958 mar 30  2016 README
$ sudo cat /etc/sudoers.d/README
#
# As of Debian version 1.7.2p1-1, the default /etc/sudoers file created on
# installation of the package now includes the directive:
# 
#   #includedir /etc/sudoers.d
# 
# This will cause sudo to read and parse any files in the /etc/sudoers.d 
# directory that do not end in '~' or contain a '.' character.
# 
# Note that there must be at least one file in the sudoers.d directory (this
# one will do), and all files in this directory should be mode 0440.
# 
# Note also, that because sudoers contents can vary widely, no attempt is 
# made to add this directive to existing sudoers files on upgrade.  Feel free
# to add the above directive to the end of your /etc/sudoers file to enable 
# this functionality for existing installations if you wish!
#
# Finally, please note that using the visudo command is the recommended way
# to update sudoers content, since it protects against many failure modes.
# See the man page for visudo for more information.
#

이와 달리 시스템 업그레이드 /etc/sudoers의 내용은 /etc/sudoers.d시스템 업그레이드 후에도 유지되므로 수정하는 것보다 파일을 만드는 것이 좋습니다 /etc/sudoers.

다음 visudo명령 을 사용하여이 디렉토리의 파일을 편집 할 수 있습니다 .

$ sudo visudo -f /etc/sudoers.d/veracrypt
  GNU nano 2.5.3        File: /etc/sudoers.d/veracrypt.tmp                      

# Users in the veracryptusers group are allowed to run veracrypt as root.
%veracryptusers ALL=(root) NOPASSWD:/usr/bin/veracrypt

그주의 visudo다른 편집기를 사용하여 대신의 수 nano에 설명 된대로 https://help.ubuntu.com/community/Sudoers

내가 찾은 몇 가지 링크는 다음과 같습니다.


4
파일의 실수 /etc/sudoers.d로 sudo가 중단되지 않는 것은 사실이 아닙니다 . 해당 파일은에 연결되어 /etc/sudoers있습니다. 해당 파일에 동일한 규칙이 적용됩니다.
tobltobs

2
적절하지 않은 파일로 시스템을 다운시킬 수 있다는 것은 맞습니다. #includedir은 단순한 어리석은 연결이 아닙니다. 몇 가지 검사를 포함하여 가장 명백한 오류를 감지하고 쉽게 복구 할 수 있습니다. 그러나 조심하십시오-당신은 항상 날카로운 칼로 자신을 다치게 할 수 있으므로주의해서 다루십시오 ;-)
Pawel Debski

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.