사용자에게 읽기 전용 액세스 권한을 부여하고 싶지만 해당 사용자는 내가 액세스 권한을 부여한 정확한 폴더만 볼 수 있기를 바랍니다. 예를 들어 그/그녀는 모든 서버를 돌아다니면서 모든 사용자 폴더 등을 탐색해서는 안 됩니다. 비록 그/그녀가 위로, 위로, 위로만 올라가더라도 나는 그/그녀가 내가 허용한 이러한 특정 폴더에만 가기를 원합니다. 그렇다면 먼저 특정 사용자가 특정 폴더에 액세스할 수 있도록 허용한 다음 해당 사용자의 홈 폴더에 대한 심볼릭 링크를 추가하는 것이 도움이 될까요? 그러면 필요한 폴더로 직접 이동할 수는 있지만 위나 아래로 이동할 수는 없습니까?
답변1
필요한 디렉터리 권한을 설정해야 합니다. 디렉토리의 경우 다음과 같습니다.
- 읽다: 해당 디렉토리의 파일 및 하위 디렉토리를 볼 수 있습니다.
- 쓰다: 해당 디렉토리에 파일 및 하위 디렉토리를 생성하는 것이 허용됩니다.
- 실행하다: 디렉토리에 들어갈 수 있습니다.
파일의 경우 상황은 비슷하며 매우 명확하므로 스스로 처리할 수 있습니다.
숫자로 다음 권한을 부여합니다.
- 읽다-4
- 쓰다-2
- 실행하다-1
권한을 편집하려면 를 사용하세요 chmod
. 용법:chmod xyz <file or directory>
- 엑스- 의 합소유자권한
- 와이- 의 합소유자 그룹권한
- 지- 의 합나머지 사용자/그룹권한
예:
$ chmod -R 664 /home/jack/
잭과 잭의 그룹은읽기+쓰기/home/jack에 대한 액세스 및모두하위 디렉토리입니다. 나머지는 읽기 권한만 갖습니다.-R
여기 옵션은 예전에재귀적으로권한을 설정합니다.
다른 예:
$ chmod 700 /home/jack/video/
잭에게 디렉토리에 대한 전체 액세스 권한을 부여합니다 /home/jack/video
. 소유자 및 소유 그룹을 변경하려면 chown
을 참조하세요 .chgrp
답변2
나는 또한 chroots 설정에 필요한 내용을 읽지 않았습니다. 상위 디렉토리로 이동하는 것을 방지하려면 엄격한 권한을 할당하십시오.
$ mkdir --parent 1/2/3
$ ls 1
2
$ chmod 100 1
$ ls 1
ls: cannot open directory 1: Permission denied
$ ls 1/2
3
사용자에게 /home/1에 대한 액세스 권한을 부여하고 싶지만 사용자가 /home에 있는 다른 자료를 볼 수 없도록 제한하려면 루트 손이 소유한 /home에 권한 111을 부여합니다. 따라서 사용자는 /home/2가 존재하는지 결코 알 수 없습니다.