unix permissions file permissions unix with examples
유닉스 권한 : 유닉스의 다른 파일 권한에 대해 알아보기
Unix는 여러 사용자가 동일한 리소스를 공유 할 수있는 다중 사용자 시스템입니다.
Unix의 모든 권한은 특정 파일 및 폴더에 대한 액세스를 특정 사용자 또는 사용자 그룹으로 제한하는 것을 기반으로합니다.
=> 전체 Unix 튜토리얼 시리즈를 보려면 여기를 클릭하십시오.
학습 내용 :
Unix 권한 : 예제가있는 파일 권한
파일에 대한 액세스에는 세 가지 수준이 있습니다.
- 읽기 권한 – 권한이있는 경우 사용자는 파일의 내용을 읽을 수 있습니다.
- 쓰기 권한 – 권한이있는 경우 사용자는 파일을 수정할 수 있습니다.
- 실행 권한 – 권한이있는 경우 사용자는 파일을 프로그램으로 실행할 수 있습니다.
각 파일은 파일에 액세스 할 수있는 사람을 결정하는 데 사용되는 식별자 집합과 연결됩니다.
- 사용자 ID (UID) – 파일을 소유 한 사용자를 지정합니다. 기본적으로 이것은 파일의 작성자입니다.
- 그룹 ID (GID) – 파일이 속한 사용자 그룹을 지정합니다.
마지막으로 각 파일과 관련된 세 가지 액세스 권한 집합이 있습니다.
- 사용자 권한 – 파일의 UID와 일치하는 사용자에게 부여 된 액세스 수준을 지정합니다.
- 그룹 권한 – 파일의 GID와 일치하는 그룹의 사용자에게 부여 된 액세스 수준을 지정합니다.
- 기타 허가 – 일치하는 UID 또는 GID가없는 사용자에게 부여 된 액세스 수준을 지정합니다.
이러한 액세스 제어 체계는 Unix 시스템을 매우 안전하게 만드는 동시에 다중 사용자 시스템에 필요한 유연성을 제공합니다.
그만큼 ls -l 명령을 사용하여 현재 폴더의 각 파일과 관련된 권한을 볼 수 있습니다.
이 명령의 출력 예는 다음과 같습니다.
예:
플래그 링크 소유자 그룹 크기 수정 날짜 이름
total of 24 drwxr-xr-x 7 user staff 224 Jun 21 15:26 . drwxrwxrwx 8 user staff 576 Jun 21 15:02. -rw-r--r-- 1 user staff 6 Jun 21 15:04 .hfile drwxr-xr-x 3 user staff 96 Jun 21 15:17 dir1 drwxr-xr-x 2 user staff 64 Jun 21 15:04 dir2 -rw-r--r-- 1 user staff 39 Jun 21 15:37 file1 -rw-r--r-- 1 user staff 35 Jun 21 15:32 file2
이 출력에서 'total 24'는 나열된 파일이 차지하는 총 블록 수를 나타냅니다.
나머지 열은 다음과 같습니다.
- 플래그 – 파일 모드 및 파일 권한을 나타내는 플래그 모음입니다.
- 연결 - 파일과 관련된 링크 수입니다.
- 소유자 - 파일을 소유하는 UID입니다.
- 그룹 – 파일과 연관된 GID입니다.
- 크기 – 파일 크기 (바이트)입니다.
- 수정 된 날짜 – 파일을 마지막으로 수정 한 월, 날짜, 시간 및 분.
- 이름 – 파일 또는 디렉토리의 이름입니다.
첫 번째 열의 플래그는 파일 모드와 다양한 권한 집합을 지정합니다.
# 1) 첫 번째 문자는 파일 유형을 나타냅니다.
C ++에서 정규식을 사용하는 방법
- – : 일반 파일을 나타냅니다.
- d : 디렉터리를 나타냅니다.
- c : 문자 장치 파일을 나타냅니다.
- b : 블록 장치 파일을 나타냅니다.
# 2) 다음 세 문자는 사용자 권한을 나타냅니다.
- 이 세 가지 중 첫 번째는 사용자에게 읽기 권한이 있는지 여부를 나타냅니다.
-
- – : 사용자에게 읽기 권한이 없음을 나타냅니다.
- r : 사용자에게 읽기 권한이 있음을 나타냅니다.
-
- 두 번째 문자는 사용자가 쓰기 권한이 있는지 여부를 나타냅니다.
-
- – : 사용자에게 쓰기 권한이 없음을 나타냅니다.
- w : 사용자가 쓰기 권한을 가지고 있음을 나타냅니다.
-
- 마지막 문자는 사용자가 권한을 실행했는지 여부를 나타냅니다.
-
- – : 사용자가 권한을 실행할 필요가 없음을 나타냅니다.
- x : 사용자가 권한을 실행했음을 나타냅니다.
-
#삼) 다음 세 문자는 위의 사용자 권한과 유사한 그룹 권한을 나타냅니다.
# 4) 마지막 세 문자는 위의 사용자 권한과 유사한 공용 권한을 나타냅니다.
파일이 일반 파일 인 경우 읽기 권한이 있으면 사용자가 파일을 열고 내용을 검토 할 수 있습니다. 쓰기 권한은 사용자가 파일의 내용을 수정할 수 있도록합니다. 그리고 실행 권한은 사용자가 파일을 프로그램으로 실행할 수 있도록합니다.
파일이 디렉토리 인 경우 읽기 권한이 있으면 사용자가 디렉토리의 내용을 나열 할 수 있습니다. 쓰기 권한은 사용자가 디렉토리에 새 파일을 만들고 파일 또는 디렉토리를 제거 할 수 있도록합니다. 실행 권한은 사용자가 디렉토리에서 검색을 실행할 수 있도록합니다.
액세스 권한을 변경하는 Unix 명령 줄 도구
Unix는 액세스 권한을 변경하기위한 여러 명령 줄 도구를 제공합니다.
파일 소유자 만 액세스 권한을 변경할 수 있습니다.
1. chmod : 파일 액세스 권한 변경
- 기술: 이 명령은 파일 권한을 변경하는 데 사용됩니다. 이러한 권한은 소유자, 그룹 및 기타에 대한 읽기, 쓰기 및 실행 권한입니다.
- 구문 (기호 모드) :
chmod (ugoa)((+-=)(mode)) file
- 첫 번째 선택적 매개 변수는 누가 (u) ser, (g) roup, (o) thers 또는 (a) ll 일 수 있는지 나타냅니다.
- 두 번째 선택적 매개 변수는 opcode를 나타냅니다. 이것은 권한을 추가 (+), 제거 (-) 또는 할당 (=)하기위한 것일 수 있습니다.
- 세 번째 선택적 매개 변수는 모드를 나타냅니다. 이것은 (r) ead, (w) rite 또는 e (x) ecute 일 수 있습니다.
예 :file1에 대한 사용자, 그룹 및 기타에 대한 쓰기 권한 추가
$ ls -l
-rw-r–r– 1 명의 사용자 직원 39 Jun 21 15:37 file1
-rw-r–r– 1 명의 사용자 직원 35 Jun 21 15:32 file2
$ chmod ugo+w file1 $ ls -l
-rw-rw-rw- 사용자 직원 1 명 39 Jun 21 15:37 file1
-rw-r–r– 1 명의 사용자 직원 35 Jun 21 15:32 file2
$ chmod o-w file1 $ ls -l
-rw-rw-r– 1 명의 사용자 직원 39 Jun 21 15:37 file1
-rw-r–r– 1 명의 사용자 직원 35 Jun 21 15:32 file2
- 구문 (숫자 모드) :
chmod (mode) file
- 모드는 세 자리의 조합입니다. 첫 번째 자리는 사용자의 권한, 두 번째 자리는 그룹, 세 번째 자리는 다른 자리를 나타냅니다.
- 각 숫자는 관련 권한을 추가하여 계산됩니다. 읽기 권한은‘4’, 쓰기 권한은‘2’, 실행 권한은‘1’입니다.
- 예 :사용자에게 읽기 / 쓰기 / 실행 권한을 부여하고, 그룹에 읽기 / 실행 권한을 부여하고, 다른 사용자에게 실행 권한을 부여합니다.
$ ls -l
-rw-r–r– 1 명의 사용자 직원 39 Jun 21 15:37 file1
-rw-r–r– 1 명의 사용자 직원 35 Jun 21 15:32 file2
$ chmod 777 file1 $ ls -l
-rwxrwxrwx 1 사용자 직원 39 Jun 21 15:37 file1
-rw-r–r– 1 명의 사용자 직원 35 Jun 21 15:32 file2
2. chown : 파일 소유권을 변경합니다.
- 기술 : 파일 소유자 만 파일 소유권을 변경할 수 있습니다.
- 통사론 : chown (소유자) (파일)
- 예 :현재 사용자가 현재 소유하고 있다고 가정하고 file1의 소유자를 user2로 변경합니다.
$ chown user2 file1
3. chgrp : 파일의 그룹 소유권을 변경합니다.
- 기술 : 파일 소유자 만 파일 소유권을 변경할 수 있습니다.
- 통사론 : chgrp (그룹) (파일)
- 예 :현재 사용자가 현재 소유하고 있다고 가정하고 file1의 그룹을 group2로 변경하십시오.
$ chgrp group2 file1
새 파일을 만드는 동안 Unix는 기본 파일 권한을 설정합니다. Unix는 umask라는 변수에 저장된 값을 사용하여 기본 권한을 결정합니다. umask 값은 세 가지 권한 집합 중 비활성화해야하는 권한을 Unix에 알려줍니다.
플래그는 사용자, 그룹 및 기타에 대한 권한 마스크를 각각 나타내는 세 개의 8 진수로 구성됩니다. 기본 권한은 디렉토리의 경우‘777’, 파일의 경우‘666’에서 umask 값을 빼서 결정됩니다. umask의 기본값은‘022’입니다.
4. umask : 기본 액세스 권한 변경
경험이 풍부한 PDF에 대한 SQL Server 2012 인터뷰 질문 및 답변
- 기술: 이 명령은 기본 파일 권한을 설정하는 데 사용됩니다. 이러한 권한은 소유자, 그룹 및 기타에 대한 읽기, 쓰기 및 실행 권한입니다.
- 통사론 : umask (모드)
- 모드는 세 자리의 조합입니다. 첫 번째 자리는 사용자의 권한, 두 번째 자리는 그룹, 세 번째 자리는 다른 자리를 나타냅니다.
- 각 숫자는 관련 권한을 추가하여 계산됩니다. 읽기 권한은‘4’, 쓰기 권한은‘2’, 실행 권한은‘1’입니다.
예 :사용자에게 읽기 / 쓰기 / 실행 권한을 부여하고 그룹 또는 다른 사용자에게는 권한을 부여하지 않습니다. 즉, 파일에 대한 권한은 600이되고 디렉토리에 대한 권한은 700이됩니다.
$ umask 077
- 예 :사용자에게 읽기 / 쓰기 / 실행 권한을 부여하고, 디렉토리에 대한 그룹 또는 다른 사용자에게 읽기 / 실행 권한을 부여하고, 다른 파일에 대해 그룹 또는 기타에 대한 읽기 전용 권한을 부여합니다. 즉, 파일에 대한 권한은 644가되고 디렉토리에 대한 권한은 755가됩니다.
$ umask 022
결론
Unix의 권한은 '사용자', '그룹'및 '기타'라는 모든 사용자에 대한 권한이 될 수 있습니다.
권한 플래그, 링크 수, 소유자, 그룹, 크기, 마지막 수정 날짜, 파일 등과 같은 세부 정보는 'ls-l'명령으로 간단히 얻을 수 있습니다.
=> 전체 Unix 튜토리얼 시리즈를 보려면 여기를 클릭하십시오.