그래서 /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