저는 현재 작업을 수행하기 위해 내 터미널에 SSH로 접속하는 다른 사용자를 위한 호스트 역할을 하는 네트워크 컴퓨터에서 Fedora를 실행하고 있습니다.
/home
하지만 그 사람들도 내 폴더 에 접근할 수 있다는 걸 깨달았어요 . 다른 사람이 액세스할 수 없도록 권한을 설정하려면 어떻게 해야 합니까?
답변1
세상 사람들이 읽을 수 없게 만들어서요. 기본적으로 다음과 같습니다.
igalic@tynix /home % ls -lh
total 28K
drwxr-xr-x. 62 igalic igalic 4.0K Jun 20 10:24 igalic/
drwx------. 2 root root 16K Jun 1 15:54 lost+found/
igalic@tynix /home %
다음을 사용하여 나 자신(및 루트)을 제외한 다른 사람의 액세스를 거부할 수 있습니다 chmod o-rx
.
igalic@tynix /home % ls -lh
total 20K
drwxr-x---. 62 igalic igalic 4.0K Jun 20 10:28 igalic/
drwx------. 2 root root 16K Jun 1 15:54 lost+found/
igalic@tynix /home %
이는 기본 Unix 권한입니다. 보다 세분화된 액세스를 위해 확장 POSIX ACL을 사용할 수 있습니다.
igalic@tynix /home % getfacl igalic
# file: igalic
# owner: igalic
# group: igalic
user::rwx
group::r-x
other::---
또는 SELinux:
drwxr-x---. igalic igalic unconfined_u:object_r:user_home_dir_t:s0 igalic/
drwx------. root root system_u:object_r:lost_found_t:s0 lost+found/
답변2
이런 말권한또는사용할 권리Unix 시스템에서는 너무 모호합니다. 문제를 해결하려면 권한 관리 방법을 이해한 다음 의미하는 바를 보다 정확하게 정의해야 합니다."액세스할 수 없습니다".
Unix의 권한 시스템에 대한 간략한 개요
권한에는 3가지 유형이 있습니다.
r
: 읽다w
: 쓰다x
: 구현하다
이 권한은 디렉터리에 대해 특별한 의미를 갖습니다.
r
: 디렉토리의 파일을 나열합니다(예ls
: .w
: 카탈로그에 새 요소를 추가합니다.x
:디렉토리의 파일에 액세스합니다.
3가지 수준의 권한을 설정할 수 있습니다.
- 사용자(파일/디렉토리 소유자)
- 그룹
- 모두
시스템에 새 사용자를 생성하면 해당 사용자에게 그룹을 할당하라는 메시지가 표시됩니다. 이유는 간단합니다. 권한을 더 잘 관리하기 위해서입니다.
파일의 권한을 아는 방법
방법은 다양합니다. 가장 간단한 방법은 다음을 사용하는 것입니다 ls -l
.
$ ls -l file
-rw-r----- 1 rahmu users 406 Jun 18 13:28 file
첫 번째 열은 권한을 나타냅니다.
-rw-r-----
에서 첫 번째 비트( -
)는 파일이 디렉터리, 링크 또는 일반 파일인지 여부를 나타냅니다. 지금은 무시하세요. 다음 3자리 숫자( rw-
)는 사용자 수준 권한을 나타냅니다. 이는 사용자가 파일 rahmu
에 액세스할 수 있음을 의미합니다 . 다음 세 자리( )는 그룹 수준 권한으로, 그룹의 모든 사용자가 액세스 할 수 있음 을 의미합니다 . 다른 모든 사용자에게는 권한이 전혀 없습니다( ). 즉, 파일을 읽거나 쓰거나 실행할 수 없습니다.read
write
r--
users
read
--
권한을 수정하는 방법.
일반적으로 chmod
유틸리티를 통해 수행됩니다. 여러 구문을 지원하며 어느 것이 가장 좋은지는 논쟁의 여지가 있지만 위의 설명 후에는 다음이 가장 적합합니다.
$ chmod [who]operator[permissions] file
who
u
ser,g
그룹 또는 기타 입니다o
. (또한a
세 가지 레벨을 모두 한 번에 수정하는 경우도 있습니다).operator
예+
또는-
.permission
예r
,w
또는x
.
예:
chmod u-w file
:write
사용자 권한을 삭제합니다.chmod a+x file
:execute
모든 사람에게 권한을 추가합니다.
예방하는 방법사용할 권리당신/집으로?
내가 언급했듯이 당신은 당신이 의미하는 바를 정의해야합니다사용할 권리. read
디렉토리의 내용을 나열하는 것을 원하지 않는 등 액세스를 의미하는 경우 가장 쉬운 방법은 디렉토리에서 적절한 권한을 얻는 것입니다 /home
. (별도의 사용자에게 연결한다고 가정)
$ chmod o-rwx ~
답변3
모든 파일(및 디렉터리)은 항상 하나의 사용자와 하나의 그룹에 속합니다. 접근 제어를 관리하려면 파일이 속한 사용자, 파일이 속한 그룹, 그 외 모든 사람(기타)의 세 가지 권한 집합을 설정해야 합니다.
홈 디렉토리인 의 권한을 확인하세요 ls -l /home
. 홈 디렉토리는 사용자 이름에 속할 가능성이 높습니다. 즉, 다른 사람이 해당 홈 디렉토리에 액세스할 수 있는지 여부는 그룹 권한 및 기타 권한에 따라 달라집니다. 홈 디렉토리에 대한 읽기 액세스 권한이 있는 모든 사람은 해당 내용 목록을 검색할 수 있으며, 실행 가능 액세스 권한이 있는 모든 사람은 해당 디렉토리의 파일에 액세스할 수 있습니다.
홈 디렉토리 권한을 최대한 제한하려면 홈 디렉토리 권한을 700으로 설정하십시오. chmod 700 /path/to/your/home
그러면 귀하를 제외한 모든 사용자가 홈 디렉토리에 액세스할 수 없게 됩니다.
SSH는 이것과 아무 관련이 없습니다!
답변4
타사 앱을 설치할 의향이 있다면 확인해 보세요.제한된 쉘(lshell). 파일 시스템의 명령 및/또는 경로에 대한 사용자 액세스를 제한하도록 구성할 수 있습니다.
또한 연결이 원격으로(SSH, FTP 등을 통해) 수행되는지 여부를 감지하고 그에 따라 다른 조치를 취할 수도 있습니다.
귀하의 사용 사례에 대한 정확한 구성을 제공할 수는 없지만 다음 설명을 확인해 보시기 바랍니다.사용 가능한 모든 옵션,게다가샘플 구성 파일프로젝트 웹사이트에서 호스팅됩니다.