쉘 스크립트의 쓰기 권한

쉘 스크립트의 쓰기 권한

사용자에게 디렉터리에 대한 쓰기 권한이 있는지 확인하는 방법은 디렉터리 이름이 명령줄 인수로 전달됩니다.

답변1

@SHW의 답변은 좋은 생각이 아니며 경우에 따라 잘못된 결과를 반환합니다.

test다음 명령(또는 별칭) 만 사용하십시오 [.

if [ -w "$dirname" ]; then
    echo "$dirname is writable"
fi

테스트가 test포함된 명령어는 이력을 확인하는 것이 아니라 쓰기 가능성을 확인하기 위해 호출되기 때문 입니다 .-wUNIX permission bitsaccess(2)

이를 사용하면 기존 UNIX 권한 비트를 확인할 때 누락된 영향 도 포함된다는 장점이 access(2)있습니다 .accessACL

답변2

쓰기 권한을 찾는 간단한 스크립트

ls -ld directory | cut -c -10 > temp_perm
owner_perm=`cut -c 3 temp_perm`
group_perm=`cut -c 6 temp_perm`
other_perm=`cut -c 9 temp_perm`
[ "$owner_perm" -eq "w" ] && echo "Owner have write permission"
[ "$group_perm" -eq "w" ] && echo "Group have write permission"
[ "$other_perm" -eq "w" ] && echo "Other have write permission"

관련 정보