특정 폴더에서 휠 그룹에 RM 권한을 부여합니다.

특정 폴더에서 휠 그룹에 RM 권한을 부여합니다.

특정 폴더(이 경우 내 폴더는 "CT")에서 휠 그룹에 rm을 부여하고 싶습니다.

Visudo에 다음 줄을 추가해 보았습니다.

%wheel All=(ALL) /bin/rm /CT/

CT 폴더에 테스트 파일 "test1"이 있고 Wheel 사용자를 사용하여 RM을 시도하면 실행할 권한이 없다는 메시지가 나타납니다./bin/rm test1

답변1

디렉토리 자체에서만 파일을 삭제하려고 /CT하므로 sudo.

처음에는 그룹 소유권과 권한을 루트로 설정해야 합니다.

chgrp wheel /CT
chmod g+rwx /CT

이제 그룹의 사용자는 wheel다음을 사용하지 않고 이 디렉터리의 모든 파일을 생성(생성 및) 삭제할 수 있는 권한을 갖습니다 sudo.

rm -f /CT/unwanted.txt

답변2

귀하의 명령을 사용하면 휠 그룹의 사용자가 를 실행할 수 있습니다 rm /CT/. 그게 다야. 그 이하도 아닙니다.

/CT/여기에 지정된 것과 똑같은 플래그를 사용하는 경우 사용자가 콘텐츠를 삭제할 수 있도록 이 방법을 시도해 볼 수 있습니다 .

%wheel ALL=(ALL) /bin/rm -rf /CT/*

제가 일반적으로 선호하는 컨트롤은 sudo매개변수의 유효성을 검사하고 해당 스크립트가 통과하도록 하는 스크립트를 작성하는 것입니다 sudo. 대상이 폴더 내부의 파일인지 확인하는 것과 같은 것으로 충분할 수도 있습니다./CT

#!/bin/bash
#
ss=0
for item in "$@"
do
    real=$(readlink "$item")
    if [[ "$real" =~ ^/CT/. ]] && [[ -f "$real" ]]
    then
        rm -f -- "$item"
    else
        [[ -t 2 ]] && echo "Refusing to remove '$item'" >&2
        ss=1
    fi
done
exit $ss

대상이 디렉터리여야 하고 특정 소유권이 있어야 한다는 등의 조건을 추가할 수 있습니다.

관련 정보