사용자가 파일 대신 파일 이름을 읽을 수 있도록 사용자 권한을 설정할 수 있습니까?

사용자가 파일 대신 파일 이름을 읽을 수 있도록 사용자 권한을 설정할 수 있습니까?

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있지 않으면 파일에 액세스하거나 디렉토리에 들어갈 수 없습니다 . 목차.cdx

즉, 이 디렉토리에서 쓰기 및 실행 비트(적어도)를 취소합니다 chmod o=r dirname.

관련된:

관련 정보