폴더 권한 우회

폴더 권한 우회

c"a"에 제한된 액세스 권한을 부여하고 싶습니다 .
이유는 합격하고 싶어서 입니다 a.

a              <- drwx------
└ b            <- drwxr-xr-x
  └ c          <- drwxr-xr-x


ln -s ../a/b/c/some_files ../a/

나는 모든 것이 필요 하다는 것을 이해합니다 a.bc +x그리고c +r그러나 그것은 진실이 아니다. 이제 a는 drwx--x--x입니다.

목표를 달성하려면 어떻게 해야 하나요? 감사합니다!

답변1

귀하의 의도와 목적에 따라 귀하가 수행하려는 작업은 귀하의 현재 권한 및 소유권 하에서는 불가능합니다. 이는 바인드 마운트를 통해 수행할 수 있지만 심볼릭 링크는 작동하지 않습니다.

아시다시피 a소유자(및 루트) 외에는 누구도 이 항목을 탐색할 수 없습니다. 즉, 다른 누구도 해당 항목에 액세스할 수 없으므로 b모든 c사람이 읽고 탐색할 수 있다는 것은 중요하지 않습니다.

할 수 있는 유일한 일은 권한을 변경하는 것뿐입니다. 모든 사람에게 액세스 권한을 부여하고 싶지 않은 경우 그룹을 만들고 액세스하려는 사람만 추가하고 그룹으로 설정한 a다음 권한을 으로 변경하세요 .755aa750

답변2

예, 가능합니다.하드 링크도착하다 a/b/c/some_files. 그런 다음 o중간 디렉터리에서 모든 "" 권한을 완전히 제거 할 수 있습니다 !

그건 그렇고, 지정하는 것이 가장 안전합니다순수한링크를 생성할 때의 경로입니다.

데모: 준비

# whoami
root

# mkdir -p /a/b/c
# touch /a/b/c/d
# chmod o= /a/
# chmod o= /a/b/
# chmod o= /a/b/c/
# ls -ld /a/
drwxr-x--- 3 root root 15 Dec 23 20:45 /a/

# ls -ld /a/b/
drwxr-x--- 3 root root 15 Dec 23 20:45 /a/b/

# ls -ld /a/b/c/
drwxr-x--- 2 root root 15 Dec 23 20:45 /a/b/c/

# ls -l /a/b/c/d
-rw-rw-rw- 1 root root 0 Dec 23 20:46 /a/b/c/d

# ln -s /a/b/c/d /softlink-to-d
# ls -l /softlink-to-d
lrwxrwxrwx 1 root root 8 Dec 23 20:47 /softlink-to-d -> /a/b/c/d

# ln    /a/b/c/d /hardlink-to-d
# ls -l /hardlink-to-d
-rw-rw-rw- 2 root root 0 Dec 23 21:09 /hardlink-to-d

데모: 증명하다

# su - postgres -c 'touch /a/b/c/d'
touch: cannot touch ‘/a/b/c/d’: Permission denied

# su - postgres -c 'touch /softlink-to-d'
touch: cannot touch ‘/softlink-to-d’: Permission denied

# ls -l /a/b/c/d
-rw-rw-rw- 2 root root 0 Dec 23 20:46 /a/b/c/d
                       ### Note, mtime still unchanged...

# su - postgres -c 'touch /hardlink-to-d'

# ls -l /a/b/c/d
-rw-rw-rw- 2 root root 0 Dec 23 21:13 /a/b/c/d
                       ### ...finally, mtime changed.

관련 정보