사용자가 루트가 소유한 파일을 삭제하도록 허용

사용자가 루트가 소유한 파일을 삭제하도록 허용

사용자 및 루트 액세스가 제한되어 있습니다. 이 사용자가 루트가 소유한 파일을 삭제하도록 하려면 어떻게 해야 합니까?

/etc/sudoers.d/john: 에 다음 줄을 추가했지만 john ALL=(ALL) NOPASSWD:/var/opt/OV/tmp/*/var/opt/OV/tmp에서 touch 또는 rm 명령을 실행할 수 없습니다. 추가로 무엇이 필요합니까?

사용자 john이 /var/opt/OV/tmp/ 아래에서 rm 또는 touch만 할 수 있도록 구문을 정확히 어떻게 설정해야 하는지 모르겠습니다. 어딘가에 생각하고 있어요 Cmnd_Alias REMOVE=/bin/rm Cmnd_Alias CREATE=/bin/touch john ALL = (ALL) NOPASSWD: REMOVE, CREATE, /var/opt/OV/tmp. 이것이 효과가 있는지 또는 뭔가를 추가/제거해야 하는지 알려주세요. 아니요, /var/opt/OV/tmp 아래의 파일은 루트 소유이므로 chmod&chown 명령은 도움이 되지 않습니다.

답변1

일반 사용자에게 상위 디렉토리에 대한 쓰기 액세스 권한을 부여함으로써 루트가 소유한 파일을 삭제할 수 있는 권한을 부여할 수 있습니다. 불필요한 sudo.

귀하의 예에서는 사용자가 파일을 삭제할 수 있기를 원하므로 /var/log사용자가 파일을 생성하고 삭제할 수 있도록 해당 디렉터리에 대한 권한을 변경합니다.

사용자만 포함하는 새 그룹을 생성하고 일치하도록 디렉터리의 그룹 소유권을 변경한 다음 그룹 쓰기 권한을 추가하여 이를 수행할 수 있습니다.

chgrp johnsgroup /var/log
chmod g+w /var/log

이 제안은 테스트하지 않았으며 다른 응용 프로그램에서는 디렉터리에 파일을 쓰기 위해 이미 그룹 쓰기 권한이 필요할 수 있습니다. 그들이 말했듯이 YMMV.

관련 정보