특정 하위 폴더의 모든 파일에 대한 읽기 전용 액세스

특정 하위 폴더의 모든 파일에 대한 읽기 전용 액세스

"/home/.../reboot/"에 특정 폴더가 있습니다. 변경되는 파일에 대해 읽기 전용 액세스가 필요한 일련의 사용자가 있습니다. 내 문제는 동일한 사용자에게 상위 디렉터리 파일을 볼 수 있는 권한이 없다는 것입니다.

이제 내가 할 수 있는 유일한 일은 etc/passwd 파일을 변경하여 "/home/.../reboot/"에 시작 폴더를 만드는 것입니다. 다른 폴더에 대한 모든 액세스를 차단해야 합니다. 이 디렉토리에만 액세스 권한을 부여하려면 어떻게 해야 합니까?

답변1

다른 위치에 디렉터리의 읽기 전용 보기를 만듭니다. 당신은 이것을 할 수 있습니다파일 시스템 바인딩.

문제의 디렉토리가 이고 /home/confidential/reboot그룹의 사용자에게 읽기 전용 액세스 권한을 부여하려고 한다고 가정합니다 mygroup. /views/mygroup/reboot이 그룹이 액세스할 수 있는 디렉터리를 만듭니다 .

mkdir -p /views/mygroup/reboot
chown root:mygroup /views/mygroup
chmod 750 /views/mygroup

읽기 전용 보기를 만드는 데 사용됩니다 bindfs. binfs 프로세스에는 파일을 읽고 마운트 지점에 액세스할 수 있는 권한이 있어야 합니다. 여기서는 아마도 루트로 실행할 것입니다.

bindfs -p a-w /home/confidential/reboot /views/mygroup/reboot

/home/confidential/reboot에서 아래 파일을 사용자가 읽을 수 없는 경우 mygroup, 읽을 수 있도록 설정하려면 권한 사양을 로 변경하세요 -p a=rX.

시작 시 읽기 전용 보기를 생성하려면 다음 항목에 추가하세요 /etc/fstab.

bindfs#/home/confidential/reboot /views/mygroup/reboot fuse perms=a=rX

답변2

참고로 대안은 , , bindfs입니다 . 그 중 유일한 것은 근거가 없습니다.aufsunionfs-fuserofsaufsfuse

모두( aufs및 포함 bindfs)에는 ACL이 지원되지 않는 등의 제한 사항이 있습니다(나열할 수는 있지만 효과가 없음). ACL이 필요한 경우 또 다른 옵션은 NFS를 사용하는 것입니다.

답변3

  1. 디렉토리에 읽기 권한이 없으면 해당 사용자는 디렉토리에 있는 파일 목록을 가져와서 액세스할 수 없습니다.
  2. man setfaclACL( ) 을 사용할 수 있습니다 .

관련 정보