쓰기 권한 없는 파일만 복사하기

mon12key의 이미지

제목처럼
쓰기 권한 없는 파일은 복사하고, 쓰기 권한이 있는 파일은
심볼릭 링크를 할 생각입닌다.
이때 쓰기 권한이 없는지는 어떻게 판단해야 할지요?
쓰려 하는데 "Access deny"가 오면 권한이 없다는 맞는 말이만,
왠지 편법 처럼 느껴지네요.
현재 프로세스가 다른 파일에 쓸 권한이 있는지를 나타내는

시스템 콜이나 라이브러리 없나요?

eminency의 이미지

stat 시스템 콜을 쓰시면 됩니다.

자세한 건 "man 2 stat"를 참고하시고...
얻어온 stat구조체의 st_mode필드를 검사하면 퍼미션 설정 상태를 알 수 있습니다.

노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5

partout의 이미지

현재 프로세스가 파일에 대해 어떤 권한을 갖는지 체크하려는 목적이라면,..
stat보다는 access를 쓰시는 게 나을 것 같네요.

man 2 access

stat 콜을 통해서 얻은 st_mode값으로 파일의 퍼미션을 얻을 수 있지만,
실제로 현재 프로세스가 해당 파일에 대해 접근 권한이 있는지 확인하려면
몇 가지 비교 루틴이 추가로 필요할 것 같네요.

어찌나 졸린지..~~

mon12key의 이미지

stat 쓰려 했더니 여러가지 거리는 점이 있어서 뭔가 다른게 없나 했는데, access같이 좋은게 있군요.
감사합니다.