파일에 대한 사용자의 유효 사용 권한 테스트

파일에 대한 사용자의 유효 사용 권한 테스트

파일에 대한 특정 사용자의 유효 사용 권한을 테스트할 수 있습니까?

일반적으로 su user파일에 액세스하여 이 작업을 수행하지만 이제는 셸이 없는 사용자(예: 시스템 사용자)에서 테스트하고 싶습니다.

답변1

다음과 같은 스크립트에서 사용하는 것이 편리하다고 생각합니다.

 sudo -u <user> test -r <file-to-test> && ...

답변2

sudo명령은 이 옵션을 사용하여 특정 사용자로서 무엇이든 실행할 수 있습니다 -u. 쉘에 대해 걱정하지 마십시오. cat대상 사용자로서 파일을 시도(또는 실행)하십시오.

$ sudo -u apache cat .ssh/authorized_keys 
cat: .ssh/authorized_keys: Permission denied

답변3

sudo -u <user> test -r <file-to-test>; echo $?

echo $?섹션에서는 테스트의 종료 상태를 출력합니다.

여기서 출력은 다음과 같습니다 0. 작업이 다음과 같은지 기억 하십시오.성공적인!또는 0이 아닌 경우(예: 0이 1아닌 경우)입니다.

좋다@토마스의 코멘트실행 가능성, 쓰기 가능성 테스트 등과 man test같은 더 많은 운영 테스트를 얻기 위한 @ user72025의 답변과 관련하여test -xtest -w

답변4

su -s <shellname> <username>특정 사용자로 특정 쉘에 들어가는 데 사용할 수 있다는 것을 알았습니다 . 그런 다음 평소처럼 파일 권한을 테스트할 수 있습니다.

예를 들어:

su -s /bin/bash Debian-exim
touch /etc/exim4/exim4.conf.template

관련 정보