Linux에는 어떤 권한이 있습니까?

青灯夜游
풀어 주다: 2022-07-19 18:24:15
원래의
11027명이 탐색했습니다.

Linux에서 s는 "강제 비트 권한"을 의미하며, 사용자 또는 그룹 권한 그룹의 세 번째 위치에 있습니다. 사용자 권한 그룹에 s 비트가 설정된 경우 파일이 실행될 때 파일은 사용자 UID 대신 파일 소유자 UID로 프로그램을 실행합니다. 그룹 권한 그룹에 s 비트가 설정된 경우 파일이 실행됩니다. 실행되면 사용자 GID가 아닌 파일 소유자 GID로 파일이 실행됩니다. s 권한 비트는 민감한 권한 비트이며 쉽게 시스템 보안 문제를 일으킬 수 있습니다.

Linux에는 어떤 권한이 있습니까?

이 튜토리얼의 운영 환경: 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
로그인 후 복사

两个常量的值是:

octdec
S_ISUID40002048
S_ISGID20001024

即分别是第12位和第11位的掩码。

如何使用?

我们可以通过字符模式设置s权限:chmod a+s filename

S_ISUID는 바이너리 실행 파일에만 적용할 수 있습니다*.
  • S_ISGID는 바이너리 실행 파일에 적용할 수 있습니다*

  • *셸 스크립트는 바이너리 파일이 아니기 때문에 허용되지 않습니다.
  • S_ISUID 및 S_ISGID는 바이너리 파일에서 사용됩니다.
  • S_ISUID가 true인 경우 이 프로세스의 유효 사용자 ID를 설정합니다. 이 파일 소유자의 사용자 ID입니다.

S_ISGID가 true인 경우 이 프로세스의 유효 사용자 그룹 ID를 이 파일의 그룹 ID로 설정합니다.

프로세스에 다음과 같은 사용자/그룹 ID가 있으므로 파일 액세스 권한에 영향을 미치며 이는 파일 소유자의 ID를 일시적으로 소유하는 것과 같습니다. 일반적인 파일은 passwd입니다. 일반 사용자가 파일을 실행하면 실행 과정에서 파일이 루트 권한을 얻을 수 있으므로 사용자의 비밀번호를 사용할 수 있습니다.

S_ISGID 디렉토리에 있을 때:

현재 사용자가 디렉토리로 전환하기 위해 chdir을 실행한 후, 사용자 프로세스의 유효 사용자 그룹 ID(유효 그룹)가 디렉토리의 사용자 그룹으로 설정됩니다. 사용자는 이 디렉토리에 대해 w 권한을 갖고 있으며, 사용자 프로세스 생성된 새 파일의 사용자 그룹 ID는 디렉토리 사용자 그룹 ID와 동일합니다.

chmod 4755 test
로그인 후 복사

두 상수의 값은 다음과 같습니다.

< /tr>
octdec
S_ISUID40002048
S_ISGID20001024

즉, 마스크의 12번째 비트와 11번째 비트입니다.

사용 방법은?

🎜🎜문자 모드를 통해 s 권한을 설정할 수 있습니다: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!