UNIX 기반 시스템에서 사용자에게 폴더에 있는 파일 이름에 대한 읽기 액세스 권한을 부여하지만 파일 자체에 대한 액세스 권한은 부여하지 않는 방법은 무엇입니까?
답변1
말씀하신 것처럼 파일 자체가 아닌 디렉터리(폴더)에 대한 읽기 권한을 설정하세요. 예를 들어
umask 022 # others have r-x permissions
mkdir /tmp/f
umask 027 # others have --- permissions
echo hello > /tmp/f/1
ls -la /tmp/f
주어진
total 64
drwxr-xr-x 2 user user 4096 Feb 5 21:27 .
drwxrwxrwt 370 root root 53248 Feb 5 21:27 ..
-rw-r----- 1 user user 6 Feb 5 21:27 1
이제 다른 사람들이 파일을 실행 ls /tmp/f
하고 볼 수 있지만 1
읽을 수는 없습니다.
답변2
디렉토리에 read() 비트를 설정하면 디렉토리에 있는 파일의 파일 이름에 액세스할 수 있지만 디렉토리에 실행() 권한도 설정되어 r
있지 않으면 파일에 액세스하거나 디렉토리에 들어갈 수 없습니다 . 목차.cd
x
즉, 이 디렉토리에서 쓰기 및 실행 비트(적어도)를 취소합니다 chmod o=r dirname
.
관련된: