0022와 022 사이에는 참조 차이가 없는 것으로 알고 있습니다.협회. 권한이 0066인 파일 1.c가 있습니다. 그런데 파일 1.c의 모드를 1066으로 변경한 후 ls -l을 사용하여 파일의 권한을 확인하면 권한에 영향을 줍니다. 첫 번째 숫자가 변경될 때마다 다른 권한 비트가 변경됩니다. 실제로 무엇을 의미합니까?
[vm4 ~]# ls -l 1.c
----rw-rw- 1 root root 10 Dec 23 22:48 1.c
[vm4 ~]# chmod 1066 1.c
[vm4 ~]# ls -l 1.c
----rw-rwT 1 root root 10 Dec 23 22:48 1.c
[vm4 ~]# chmod 2066 1.c
[vm4 ~]# ls -l 1.c
----rwSrw- 1 root root 10 Dec 23 22:48 1.c
[vm4 ~]# chmod 5066 1.c
[vm4 ~]# ls -l 1.c
---Srw-rwT 1 root root 10 Dec 23 22:48 1.c
답변1
네, 0022와 022에는 차이가 있습니다. umask는 아니지만 chmod에는 차이가 있습니다.
각 사용자, 그룹 및 다른 사람의 권한은 세 글자로 설명됩니다.
이는 일반적으로 rwxrwxrwx
(또는 -
필요한 경우) ls
출력에 포함됩니다.
$ touch 1.c
$ ls 1.c
-rw-r--r-- 1 user user 0 Feb 13 09:01 1.c
각 설정된 비트는 문자로 표시되고, 설정되지 않은 비트는 문자로 표시됩니다 -
.
따라서
rwx는 8진수 7에 대한 이진수인 111을 나타냅니다.
rw-는 8진수 6에 대한 이진수인 110을 나타냅니다.
r--는 8진수 4에 대한 이진수인 100을 나타냅니다.
그러나 기본 rwx 외에도 설정할 추가 권한을 나타내는 다른 문자가 있습니다. 이러한 권한은 4개의 8진수로 작성된 3자리 숫자이기도 하며 다음과 같이 표현됩니다.
파일의 경우:
0644 ==> rw-r--r--
1644 ==> rw-r--r-T # sticky bit (ignored in linux)
0644 ==> rw-r--r--
2644 ==> rw-r-Sr-- # Group ID does not match.
0655 ==> rw-r-xr-x
2644 ==> rw-r-sr-x # Run with group ID: SGID
0644 ==> rw-r--r--
2644 ==> rwSr--r-- # User ID does not match.
0755 ==> rwxr-xr-x
2744 ==> rwsr-xr-x # Run with User ID: SUID
전체 권한(7):
$ chmod 7777 1.c; ls -l 1.c
-rwsrwsrwt 1 user user 0 Feb 13 09:01 1.c
디렉토리의 경우:
SGID means that new files inside this dir will inherit group owner.
SUID Mostly ignored in Linux and Unix. BSD varies.
Sticky Protect files inside from being modified by a different user.
링크:
-끈끈한 비트
Linux: Linux 커널은 파일의 고정 비트를 무시합니다.
디렉터리에 고정 비트가 설정되면 루트, 디렉터리 소유자 또는 파일 소유자만 해당 디렉터리의 파일을 연결 해제하거나 이름을 바꿀 수 있습니다.
-UID 설정 및 GID 설정
-사용자 ID를 디렉터리화하고 설정하고 그룹 ID 비트를 설정합니다.
-시스템 관리 설명서: 보안 서비스
답변2
추가 비트는 set-user-ID
비트, set-group-ID
비트 및 끈적한 비트입니다. 자세한 내용은 을 참조하세요 man 2 chmod
. 해당 x 비트가 설정되지 않았기 때문에 이 비트의 S는 set-user-ID
대문자 S로 표시됩니다.