집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux에는 어떤 권한이 있습니까?
Linux에서 s는 "강제 비트 권한"을 의미하며, 사용자 또는 그룹 권한 그룹의 세 번째 위치에 있습니다. 사용자 권한 그룹에 s 비트가 설정된 경우 파일이 실행될 때 파일은 사용자 UID 대신 파일 소유자 UID로 프로그램을 실행합니다. 그룹 권한 그룹에 s 비트가 설정된 경우 파일이 실행됩니다. 실행되면 사용자 GID가 아닌 파일 소유자 GID로 파일이 실행됩니다. s 권한 비트는 민감한 권한 비트이며 쉽게 시스템 보안 문제를 일으킬 수 있습니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
Linux 시스템에서 가장 일반적인 파일 권한은 각각 쓰기, 읽기 및 실행 권한에 해당하는 w, r 및 x입니다. 그러나 Linux는 또한 s 권한 및 t와 같은 다른 일련의 권한 설정도 지원합니다. 권한. 다음은 권한의 구체적인 의미를 소개합니다.
s 권한
s, 이는 UID 설정 또는 GID 설정을 의미합니다. 사용자 또는 그룹 권한 그룹의 세 번째 위치에 있습니다. 사용자 권한 그룹에 s 비트가 설정된 경우 파일이 실행될 때 파일은 사용자 UID 대신 파일 소유자 UID로 프로그램을 실행합니다. 그룹 권한 그룹에 s 비트가 설정된 경우 파일이 실행될 때 파일은 사용자 GID 대신 파일 소유자 GID로 프로그램을 실행합니다. s 권한 비트는 민감한 권한 비트이며 쉽게 시스템 보안 문제를 일으킬 수 있습니다. 설정할 때 주의를 기울이고 이미 시스템에 있는 SUID 또는 SGID 파일과 디렉터리를 알고 있어야 합니다.
s 권한에는 강제 비트 권한
이라고 하는 두 개의 상수 S_ISUID 및 S_ISGID가 포함됩니다. 强制位权限
;
S_ISUID只能应用于二进制可执行文件*;
S_ISGID可应用于二进制可执行文件*和目录;
*shell脚本不可以,因为shell脚本并不是二进制文件.
S_ISUID、S_ISGID用在二进制文件时:
如果S_ISUID为真,则把此进程的有效用户ID设置为此文件拥有者的用户ID.
如果S_ISGID为真,则把此进程的有效用户组ID设置为此文件的组ID.
由于进程有用户/组ID影响文件访问权限,于是就相当于临时拥有文件所有者的身份. 典型的文件是passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.
S_ISGID用在目录时:
当前用户执行chdir切换至该目录后,用户进程的有效用户组ID(effective group)将会设置为该目录的用户组.若用户在此目录下具备w权限,则用户进程所创建的新文件的用户组ID与该目录用户组ID相同.
ls -al /usr/bin/passwd -rwsr-xr-x 1 pythontab pythontab 32988 2018-03-16 14:25 /usr/bin/passwd
两个常量的值是:
oct | dec | |
S_ISUID | 4000 | 2048 |
S_ISGID | 2000 | 1024 |
即分别是第12位和第11位的掩码。
如何使用?
我们可以通过字符模式设置s权限:chmod a+s filename
현재 사용자가 디렉토리로 전환하기 위해 chdir을 실행한 후, 사용자 프로세스의 유효 사용자 그룹 ID(유효 그룹)가 디렉토리의 사용자 그룹으로 설정됩니다. 사용자는 이 디렉토리에 대해 w 권한을 갖고 있으며, 사용자 프로세스 생성된 새 파일의 사용자 그룹 ID는 디렉토리 사용자 그룹 ID와 동일합니다.
chmod 4755 test두 상수의 값은 다음과 같습니다.
oct | dec | |
S_ISUID td> | 4000 | 2048 |
S_ISGID | 2000 | 1024 |
chmod a+s filename
또는 절대 모드를 사용할 수 있습니다: 🎜🎜🎜🎜suid 설정: 해당 권한을 이전 비트로 설정 4로 설정 ; 🎜🎜🎜🎜Guid 설정: 해당 권한 비트 앞의 비트를 2로 설정합니다. 🎜🎜🎜🎜 둘 다 설정합니다. 해당 권한 비트 앞의 비트를 4+2 =6으로 설정합니다.🎜🎜🎜🎜실행할 파일을 설정합니다. 파일 소유자의 ID로 UID: 🎜chmod 2755 test🎜파일 소유자의 ID로 실행되도록 파일 설정 GID: 🎜
chmod 6755 test🎜위의 두 ID로 실행되도록 파일 설정 :🎜rrreee🎜참고: s 권한을 설정할 때 , 파일 소유자와 그룹은 먼저 해당 x 권한을 설정해야 합니다. 그렇지 않으면 s 권한이 실제로 적용되지 않습니다(s 권한을 설정하더라도 ch mod 명령은 필요한 무결성 검사를 수행하지 않으며 chmod는 오류를 보고하지 않습니다. ls -l 하면 rwS가 표시되며 대문자 S는 s 권한이 유효하지 않음을 나타냅니다.) 🎜🎜🎜Summary🎜🎜🎜 이 권한이 있으면 실행 파일이 권한을 얻고 마음대로 저장할 수 있습니다. 사용 가능한 모든 시스템 리소스를 가져옵니다. 파일의 소유자입니다. SUID 권한이 있는 파일에 주의하십시오. 해커는 종종 이 권한을 사용하여 루트 계정 소유자를 SUID와 일치시켜 향후 액세스를 위해 시스템에서 자동으로 백도어를 엽니다. 🎜🎜관련 추천: "🎜Linux 비디오 튜토리얼🎜"🎜
위 내용은 Linux에는 어떤 권한이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!