특정 사용자가 특정 디렉터리의 모든 콘텐츠에 대한 소유자와 그룹을 반복적으로 변경하고 해당 디렉터리만 변경하기를 원합니다. 디렉터리는 서비스가 파일과 하위 디렉터리를 작성하는 일종의 "받은 편지함"입니다.
현재 관리자가 있지만 sudo chown
해당 사용자에게 필요한 추가 권한 없이 대상 소유자가 직접 수행하는 것을 선호합니다. 원래 소유자가 "headsman"이고 최종 소유자가 "audience"라고 가정해 보겠습니다. 두 사용자 모두 같은 그룹에 속해 있지 않습니다.
sudo chown -R audience:watchers /usr/files/pathofdir
청중이 chown을 사용할 수 있는 무제한 권한을 갖는 것을 원하지 않기 때문에 옳지 않습니다. 내 첫 번째 추측은 /usr/bin/chown 및 /usr/bin/chgrp에 대한 권한을 사용하여 /etc/sudoers에 "대상"을 추가하려고 시도하는 것이었습니다. 그러나 그것은 너무 많은 권한이다.
청중만을 위한 스크립트를 작성하려고 생각했지만 해당 스크립트에 올바른 권한을 부여하는 방법을 모르겠습니다.
이를 수행하는 좋은 방법은 무엇입니까?
답변1
인수와 모두를 사용하여 에서 전체 명령을 지정할 수 있습니다 sudoers
. 이 경우 사용자는 지정된 인수를 사용하여 지정된 명령을 실행할 수 있는 권한을 갖게 됩니다. 따라서 이 sudoers
항목은 문제를 해결해야 합니다.
audience ALL=/usr/bin/chown -R audience\:watchers /usr/files/pathofdir
그러나 디렉토리에서 기본 ACL을 사용하면 문제를 더 쉽게 처리할 수 있으므로 ACL을 확인해야 한다고 생각합니다. 보다이 게시물예를 들어.
답변2
@Lasek은 아마도 ACLS를 사용하고 싶었을 것이라고 지적했습니다. 이것은 나를 위해 일하는 것 같습니다.
sudo setfacl -RPdm user:audience:rwX /usr/files/pathofdir
sudo setfacl -RPdm group:watchers:rwX /usr/files/pathofdir
sudo setfacl -RPm user:audience:rwX /usr/files/pathofdir
sudo setfacl -RPm group:watchers:rwX /usr/files/pathofdir
더 간결한 구문이 있을 수 있지만 이것이 제가 처음으로 사용한 구문입니다.setfacl