루트는 권한이 440으로 설정된 sudoers 파일에 어떻게 쓰나요?

루트는 권한이 440으로 설정된 sudoers 파일에 어떻게 쓰나요?

그래서 /etc/sudoers 파일의 권한을 보면 다음과 같습니다.

-r--r----- 1 root root 705 Nov  2 19:57 /etc/sudoers

자, 이것은 쓸 수 없다는 뜻이 아닌가요? 그렇다면 루트 사용자는 어떻게 글을 쓰나요?

답변1

루트 사용자는 모드에 관계없이 항상 모든 파일에 대한 전체 쓰기 액세스 권한을 갖습니다.

아마도 가장 좋은 예는 /etc/shadow모드 000이지만 루트로 수정할 수 있다는 것입니다.

[root@centos7 ~]# ls -pl /etc/shadow
----------. 1 root root 1353 Oct 26 07:40 /etc/shadow

답변2

의견에서 언급했듯이 원래 답변은 약간 불분명했습니다.

파일 소유자는 자신이 소유한 모든 파일에 대한 권한을 언제든지 변경할 수 있습니다(루트는 모든 기존 파일에 대해 이 작업을 수행할 수 있습니다).

일반 사용자인 경우 읽기 전용 파일을 어떻게 수정하려는지에 따라 다릅니다.

  • vi로 파일을 열고 변경하세요. -> ":w!"를 사용하여 변경 사항을 쓸 수 있습니다.
  • #echo "test" >> 읽기 전용 파일을 시도했지만 권한이 거부되었습니다.

루트라면 원하는 파일을 덮어쓰고 변경할 수 있지만 vi 프로그램은 읽기 전용 권한을 고려하고 확인을 요청합니다.

/etc/sudoers 파일은 항상 "visudo" 명령을 통해 변경되어야 합니다. 이 명령은 임시 파일에서 실제 파일의 내용을 열고 변경 사항을 저장하기 전에 몇 가지 검사를 수행합니다. 읽기 전용 권한이 있더라도 루트 사용자로서 계속 변경 사항을 쓸 수 있습니다.

답변3

vi 대신 visudo를 사용해 보세요

sudo visudo

관련 정보