디렉토리 트리의 "다른 사용자"에게 읽기/실행 권한 부여

디렉토리 트리의 "다른 사용자"에게 읽기/실행 권한 부여

내 Linux 시스템 중 일부에는 다음과 같은 디렉터리 트리가 있습니다.

/dir1/dir2/dir3/dir4/target

각 dir[1-4] 디렉터리 아래에는 여러 디렉터리가 있으며 이러한 모든 디렉터리(및 해당 하위 디렉터리)에는 750권한이 있습니다. 이제 others"대상" 디렉터리와 해당 하위 디렉터리를 찾아보고 싶습니다 . chmod -R o+rx에서 실행하면 권한이 변경되지만 /dir1/dir2/dir3/dir4/target상위 디렉터리에 권한이 없기 때문에 사용자는 디렉터리에 액세스할 수 없습니다. 서버 중 하나에서 다음 권한을 부여하여 문제를 해결했습니다./dir1/dir2/dir3/dir4/target755othersr-x

chmod -R o+x /dir1
chmod -R o+rx /dir1/dir2/dir3/dir4/target

위 명령이 /dir[1-4]의 모든 하위 디렉터리에 "traverse" 권한도 부여한다는 점을 고려하면 /dir[1-4] 디렉터리와 "/" 디렉터리에만 순회 권한을 제공하는 더 나은 명령이 있습니까? dir" [1-4]" 디렉토리 rx 권한 대상 디렉토리?

답변1

x"기타" 디렉터리 /dir1/dir2/.../target와 모든 중간 디렉터리(루트 디렉터리 제외)에 대한 권한과 r경로 끝에 있는 디렉터리에 대한 권한을 설정합니다 .target

dir=/dir1/dir2/dir3/dir4/target

chmod o+r "$dir"
while [ -n "$dir" ]; do
    chmod o+x "$dir"
    dir=${dir%/*}
done

특정 디렉토리 경로에 대해 다음 명령이 실행됩니다.

chmod o+r /dir1/dir2/dir3/dir4/target
chmod o+x /dir1/dir2/dir3/dir4/target
chmod o+x /dir1/dir2/dir3/dir4
chmod o+x /dir1/dir2/dir3
chmod o+x /dir1/dir2
chmod o+x /dir1

dir마지막 항목과 그 이후의 모든 항목을 제거하면 루프가 반복될 때마다 변수 값이 변경됩니다 /.

관련 정보