Linux 시스템 권한 분석: 일반 파일 및 디렉터리의 권한 분류 및 표현 방법
리눅스 시스템에는 많은 권한이 있습니다. 사용자의 보안을 도모하고 이해하기 어렵게 만드는 것이 목적이지만 여기서는 파일 유형에 따른 Linux의 권한을 요약하겠습니다
1. 일반 파일 및 디렉터리
Linux 시스템의 일반 파일 및 디렉터리에는 rwx 권한, 숨겨진 속성 권한 및 ACL 권한의 세 가지 권한이 있습니다.
1.rwx 권한 (1) 숫자를 사용하여 rwx 권한을 나타냅니다
r은 읽기 권한을 나타내고, w는 쓰기 권한을 나타내고, x는 실행 권한을 나타냅니다.
Linux 시스템에는 세 가지 ID가 있습니다: 소유자(u), 그룹(g) 및 기타 사용자(o)
Linux 시스템에서는 0을 사용하여 권한이 꺼져 있음을 나타내고 1을 사용하여 권한이 켜져 있음을 나타냅니다. 따라서 모든 파일에 대해 LINUX를 설치하는 방법에는 8가지 소유자 권한 조합이 있습니다.
읽기 권한만 r--로 표시되며 2의 보수는 100이며 10의 보수 4로 변환됩니다.
쓰기 권한만 -w-로 표시되며 2의 보수는 010이며 10의 보수 2로 변환됩니다.
실행 권한만 –x로 표현하면 2의 보수는 001이고, 이를 10의 보수로 환산하면 1이 됩니다.
이로부터 10의 보수를 사용하여 rwx 권한을 나타내는 방법을 얻습니다.
r은 4로, w는 2로, x는 1로 표현됩니다.
(2) 시스템의 파일 및 디렉터리에 대한 rwx 권한의 영향
파일의 경우 r 권한은 읽기 가능을 의미하며 이는 파일 내용을 볼 수 있음을 의미합니다. 이는 cat/more/less와 같은 명령을 실행하여 내용을 볼 수 있음을 의미합니다. 변경(기록)할 수 있음을 나타냅니다. linux 파일은 실행 가능한 vim 파일 편집기인 명령에 해당하는 사용자에게 권한이 부여됩니다.
디렉토리의 경우 r 권한은 읽기 가능을 의미하며, 이는 해당 디렉토리에 있는 파일과 디렉토리 이름을 볼 수 있음을 의미합니다. (디렉토리는 파일 속성 정보를 기록하는 파일로 이해될 수 있습니다.) Linux 파일은 사용자에게 권한이 부여됩니다. 즉, ls를 실행할 수 있습니다. w 권한은 쓰기 가능을 의미합니다. 즉, 명령에 해당하는 파일 및 디렉터리 이름을 변경할 수 있습니다. 즉, touch, mkdir, rmdir, rm 등과 같은 명령을 실행할 수 있습니다. .; x는 실행 권한을 의미합니다. 이는 명령에 해당하는 이 디렉터리를 실행할 수 있음을 의미하며, cd를 사용하여 디렉터리에 들어갈 수 있습니다.
2.숨겨진 속성 권한
Linux 시스템에는 파일 보안을 보장하기 위한 몇 가지 숨겨진 속성이 있습니다
아래에서 사용 가능한 명령을 확인하세요.
으아악
-a는 모든 파일 디렉터리를 보는 것을 의미합니다. qq의 Linux 버전 디렉터리만 보려면 -d 옵션을 추가할 수 있습니다.
파일/디렉토리에 숨겨진 속성 권한을 추가하거나 삭제하려면 다음 명령을 사용하세요.
으아악
其中i选项和a选项对文件和目录又有不同的影响:
对文件来说,假如有i隐藏属性,这么该文件就是一个只读文件,难以更改;假如有a隐藏属性,只能降低数据(echo重定向形式),不能更改数据(因而a隐藏属性适宜于日志)。
对目录来说,假如有i隐藏属性,只能更改目录下已有文件,不能完善新文件以及删掉已有文件(只读目录);假如有a隐藏属性,只能新建或更改文件,不能删掉、改名已有文件。
3.ACL权限
ACL=accesscontrollist英文为“访问控制列表”
作用:可对单一用户设置文件、目录的rwx权限。
形成缘由:出于安全考虑,linux系统下的文件、目录默认对其他人有较低权限,假如某个其他人身分想要查看他不具备权限的目录或文件,要么切换他的身分为所有者,要么让他以所有者的身分登入系统,而这两种做法都具有一定安全隐患,为此,为解决该问题,ACL权限形成。
设置ACL权限可用如下的命令格式:
setfacl -m u:user:rwx filename
-m选项用于设置ACL权限,user表示要修改权限的用户,rwx表示要赋于该用户的权限情况,filename表示要赋于ACL权限的文件或目录。
查看ACL权限可用如下的命令格式:
getfacl filename <span class="token comment">#在当前文件目录下</span>
ACL权限优势:
我们可以用getfacl查看早已设置好ACL权限的文件或目录:
<span class="token comment">#省略输出…………</span> user::rwx <span class="token comment">#文件所有者权限</span> user:user:rwx <span class="token comment">#用户user对该文件的权限</span> group::rwx<span class="token comment">#文件所属组权限</span> other::---<span class="token comment">#文件其他人权限</span> 省略输出…………
可以看见,用户user不属于所有者、所属组或其他人,而是单独为他设置了对该文件的rwx权限。这样在保证其他人难以查看、修改该文件的情况下,也可同时确保用户user更改、查看该文件,达到安全目的。
二、特殊文件——可执行文件
linux系统存在着好多可执行文件,比如各类命令、shell脚本等,这么对于个别只能由超级用户才可执行的命令怎么给普通用户执行呢?这就涉及到了SetUID和SetGID的概念。
1.SetUID权限
linux系统示例:/bin/passwd命令
可以查看一下该文件的权限情况
可以见到,在所有者执行权限的x位上弄成了s,这就表示某个可执行文件被赋于了SUID权限。
作用:普通用户也可用passwd命令更改密码(给用户某执行文件的所有者权限)。
运作过程:
普通用户使用passwduser,意图更改密码------passwd拥有SUID权限且user对passwd命令有x权限------user暂时拥有root权限,以所有者身分执行passwd-------root可把密码写入密码文件/etc/shadow-----更改完成,user身分恢复。
SetUID权限添加、删除命令:
<span class="token function">chmod</span> u+s filename <span class="token comment">#给文件/目录添加SUID权限</span> <span class="token function">chmod</span> u-s filename <span class="token comment">#给文件/目录删除SUID权限</span>
2.SetGID权限
linux系统示例:/usr/bin/locate
可以见到,在所所属组执行权限的x位上弄成了s,这就表示某个可执行文件被赋于了SGID权限。
作用:普通用户也可用locate命令查询mlocate.db数据库(给用户某执行文件的所属组权限)。
运作过程:
普通用户使用locate,意图查询系统上的某文件------locate拥有SGID权限且user对locate命令有x权限------user暂时拥有slocate组权限,以所属组身分执行locate-------该组对mlocate.db数据库有r权限-----user可以查询------查询结束,user组身分恢复。
SetGID权限添加、删除命令:
<span class="token function">chmod</span> g+s filename <span class="token comment">#给文件/目录添加SGID权限</span> <span class="token function">chmod</span> g-s filename <span class="token comment">#给文件/目录删除SGID权限</span>
3.StickyBIT权限
linux系统示例:/tmp
可以看见,该目录的其他人执行权限上的x位弄成了t,这就表示该目录具有BIT权限。
BIT权限特征:仅对目录有效;仅其他人可用。
作用:设置了BIT权限的目录,任何人都可以在该目录下创建、修改文件,但只有该文件的所有者或root用户才可删掉文件。(谁创建,谁删掉)
权限添加、删除命令:
<span class="token function">chmod</span> o+t filename <span class="token comment">#给文件/目录添加BIT权限</span> <span class="token function">chmod</span> o-t filename <span class="token comment">#给文件/目录删除BIT权限</span>
4.umask权限
在命令行执行umask命令时,会听到4位权限数:
其中后三位就表示一个文件/目录的rwx默认权限,它限制了新创建的文件/目录的初始权限(文件644,目录755)
这儿还存在第一位上的0,这一点结合上述执行文件三种权限即可解释:
SetUID权限:以s表示,对应所有者,用十补码4表示(100);
SetGID权限:以s表示,对应所属组,用十补码2表示(010);
BIT权限:以t表示,对应其他人,用十补码1表示(001)。
这样,任何一个文件/目录的权限可表示如下:
rwxsrwxsrwxt
ugo
三、系统命令
尽管超级用户具备linux所有命令的执行权限,但一个多用户系统假如全都由root用户管理是不现实的,正常的管理方式是root用户把一些系统命令授权给普通用户,让其协助管理,这才符合多用户系统的管理思路。
操作对象:系统命令(与上述权限不同)
工具:
1.su:切换用户身分,赋于某用户所有系统命令权限。(有安全隐患)
使用方式:su-用户名(不加为root)
弊病:非root用户切换他人须要密码。
2.sudo:限制用户使用系统命令
授权形式:
<span class="token function">vi</span> /etc/sudoers visudo <span class="token comment">#两种方式选一个即可</span>
更改模板:
root ALL<span class="token operator">=</span>(ALL)ALL <span class="token comment">#用户主机名身份执行的命令 </span>
赋于过程(以user为例):
如果root用户想要赋于普通用户user重启服务器权限
<span class="token function">vi</span> /etc/sudoers <span class="token comment">#在root下加一行即可</span> rootALL<span class="token operator">=</span><span class="token punctuation">(</span>ALL<span class="token punctuation">)</span> ALL userALL<span class="token operator">=</span>usr/sbin/reboot
sudo作用:把原本只能由root用户执行的命令赋于普通用户执行。
四、小结
关于linux系统的权限,主要分为三个部份:普通文件/目录、可执行文件和系统命令,每种权限的诞生都是为了解决相关的权限问题,所以要明白为何会有这些权限。
위 내용은 Linux 시스템 권한 분석: 일반 파일 및 디렉터리의 권한 분류 및 표현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

인터넷은 단일 운영 체제에 의존하지 않지만 Linux는 이에 중요한 역할을합니다. Linux는 서버 및 네트워크 장치에서 널리 사용되며 안정성, 보안 및 확장 성으로 인기가 있습니다.

Linux 운영 체제의 핵심은 명령 줄 인터페이스이며 명령 줄을 통해 다양한 작업을 수행 할 수 있습니다. 1. 파일 및 디렉토리 작업 LS, CD, MKDIR, RM 및 기타 명령을 사용하여 파일 및 디렉토리를 관리합니다. 2. 사용자 및 권한 관리는 UserAdd, Passwd, CHMOD 및 기타 명령을 통해 시스템 보안 및 리소스 할당을 보장합니다. 3. 프로세스 관리는 PS, Kill 및 기타 명령을 사용하여 시스템 프로세스를 모니터링하고 제어합니다. 4. 네트워크 운영에는 Ping, Ifconfig, SSH 및 기타 명령이 포함되어 있으며 네트워크 연결을 구성하고 관리합니다. 5. 시스템 모니터링 및 유지 관리 Top, DF, Du와 같은 명령을 사용하여 시스템의 작동 상태 및 리소스 사용을 이해합니다.

Linux 관리자의 평균 연봉은 미국에서 $ 75,000 ~ $ 95,000, 유럽에서는 40,000 유로에서 60,000 유로입니다. 급여를 늘리려면 다음과 같이 할 수 있습니다. 1. 클라우드 컴퓨팅 및 컨테이너 기술과 같은 새로운 기술을 지속적으로 배울 수 있습니다. 2. 프로젝트 경험을 축적하고 포트폴리오를 설정합니다. 3. 전문 네트워크를 설정하고 네트워크를 확장하십시오.

소개 Linux는 유연성과 효율성으로 인해 개발자, 시스템 관리자 및 전원 사용자가 선호하는 강력한 운영 체제입니다. 그러나 길고 복잡한 명령을 자주 사용하는 것은 지루하고 응급실이 될 수 있습니다.

Linux 시스템 관리자의 주요 작업에는 시스템 모니터링 및 성능 조정, 사용자 관리, 소프트웨어 패키지 관리, 보안 관리 및 백업, 문제 해결 및 해상도, 성능 최적화 및 모범 사례가 포함됩니다. 1. 상단, HTOP 및 기타 도구를 사용하여 시스템 성능을 모니터링하고 조정하십시오. 2. 사용자 ADD 명령 및 기타 명령을 통해 사용자 계정 및 권한을 관리합니다. 3. APT 및 YUM을 사용하여 소프트웨어 패키지를 관리하여 시스템 업데이트 및 보안을 보장합니다. 4. 방화벽을 구성하고 로그를 모니터링하고 데이터 백업을 수행하여 시스템 보안을 보장합니다. 5. 로그 분석 및 공구 사용을 통해 문제를 해결하고 해결합니다. 6. 커널 매개 변수 및 응용 프로그램 구성을 최적화하고 모범 사례를 따라 시스템 성능 및 안정성을 향상시킵니다.

Linux의 주요 용도에는 다음이 포함됩니다. 1. 서버 운영 체제, 2. 임베디드 시스템, 3. 데스크탑 운영 체제, 4. 개발 및 테스트 환경. Linux는이 분야에서 뛰어나 안정성, 보안 및 효율적인 개발 도구를 제공합니다.

Linux는 서버, 개발 환경 및 임베디드 시스템에 적합합니다. 1. 서버 운영 체제로서 Linux는 안정적이고 효율적이며 종종 고 대전성 애플리케이션을 배포하는 데 사용됩니다. 2. 개발 환경으로서 Linux는 효율적인 명령 줄 도구 및 패키지 관리 시스템을 제공하여 개발 효율성을 향상시킵니다. 3. 임베디드 시스템에서 Linux는 가볍고 사용자 정의 가능하며 자원이 제한된 환경에 적합합니다.

가상화 지원에서 Linux와 Windows의 주요 차이점은 다음과 같습니다. 1) Linux는 KVM과 Xen을 제공하며, 높은 커스터마이징 환경에 적합한 뛰어난 성능과 유연성을 제공합니다. 2) Windows는 친숙한 인터페이스를 통해 Hyper-V를 통한 가상화를 지원하며 Microsoft 소프트웨어에 의존하는 기업에 적합한 Microsoft Ecosystem과 밀접하게 통합됩니다.
