한 명의 관리자는 /etc/fstab 파일을 편집할 수 있지만 한 명의 관리자는 fstab 파일을 편집할 수 없도록 하고 싶습니다.
두 관리자 모두 다른 모든 관리 작업에 액세스해야 합니다.
이것이 가능한가?
나는 "sudo"가 그들에게 액세스 권한을 부여하는 파일을 어떻게든 설정해야 한다고 가정합니다. 아니면 관리자가 아닌 계정을 만든 다음 fstab-access라는 그룹을 만들고 여기에 사용자 중 한 명을 추가하고 해당 그룹에 대한 권한을 설정하는 것이 가능합니다. 나는 올바른 길을 가고 있습니까?
답변1
그들에게 모든 것에 대한 액세스 권한을 부여하면 분명히 모든 베팅이 취소됩니다. 그러나 사용자가 특정 파일만 편집하도록 허용할 수 있습니다. 예를 들어:
user ALL = sudoedit /etc/fstab
사용자가 /etc/fstab만 편집할 수 있도록 허용합니다.
답변2
사용자에게 편집만 허용하려면 /etc/fstab
다음과 같은 여러 가지 방법을 사용할 수 있습니다.
- 액세스 제어 목록이 활성화되어 있는지 확인하고( 항목
acl
의 옵션 ) 및 ./etc/fstab
/
setfacl -m user:joe:rw /etc/fstab
- 규칙 추가
sudoers
: 실행visudo
및 줄 추가joe ALL = sudoedit /etc/fstab
누가 무엇을 할 수 있는지 감사하기 쉽기 때문에 sudo 방법을 권장합니다.
그러나 사용자에게 편집을 허용하면 /etc/fstab
setuid 루트 바이너리를 심은 외부 또는 루프 파일 시스템을 마운트할 수 있는 항목을 추가하여 간접적으로 루트를 얻을 수 있습니다.
사용자에게 편집 fstab
만 허용하는 것은 다소 이상합니다. 사용자가 이동식 장치를 마운트할 수 있도록 하려면 다음을 사용하세요.pmount
(또는 데스크탑 환경에 의존).
사용자가 허용 목록에 없는 명령을 루트("기타 모든 관리 작업")로 실행하도록 허용하면 해당 사용자가 특정 파일을 편집하는 것을 막을 수 없습니다. 어느 시점에서는 이 사람들을 신뢰할 수 있는지 여부를 결정해야 합니다. 귀하의 머신을 관리하는 것을 신뢰하지 않는다면, 그들에게 권한을 부여하지 마십시오(대신 다른 머신, 아마도 가상 머신을 사용하도록 하십시오). 당신이 그들을 신뢰한다면, 루트 권한을 부여하고 특정 파일은 금지되어 있음을 알려주십시오.
답변3
관리자가 사용해야 하는 모든 단일 유틸리티를 열거하려고 하면 한동안 키보드 앞에 앉아 있어야 합니다.
엄밀히 말하면 이런 종류의 욕구는리눅스 기능개발되었습니다. 원하는 것을 수행하려면 사용자에게 특정 기능을 부여한 다음 user1에게 fstab
ACL 등을 통해 쓰기 액세스 권한을 부여하고 제한된 user2에게는 동일한 쓰기 권한을 부여하지 않을 수 있습니다(user2가 CAP_CHOWN이 없는지 확인). 또는 CAP_DAC_OVERRIDE) 그러나 현재 기능 상태(사용자 공간이 얼마나 잘 개발되었는지 측면에서)를 고려할 때 가치보다 작업이 더 많을 수 있습니다.
책임을 "사용자 역할로서의 루트" 시나리오로 위임하는 기능을 사용하지 않으면 루트 계정을 사용하여 작업을 수행하는 다양한 순열만 갖게 됩니다. 이로 인해 다른 사용자에게 필요한 모든 가능한 도구(조작에 간접적으로 사용할 수 없는 도구 fstab
)를 시스템에 알려야 하는 앞서 언급한 문제가 발생합니다.
특정 사용자를 관리자로 신뢰할 수 있는지 여부를 결정하는 것이 더 나을 것입니다.