鸟哥的私房菜:Linux 基础文件权限与基础账号管理读书笔记

在学习 Linux
系统的过程中,文件权限与账号管理是极为重要的基础内容,这部分知识对于理解系统安全机制、实现资源合理分配与管理有着关键作用。下面对“Linux
基础文件权限与基础账号管理” 课程内容进行梳理总结。
一、课程整体框架
课程围绕 RockyLinux 9.x
展开 Linux
基础训练,涵盖初次使用、指令列模式、文件管理、vim 使用等多方面内容。本次重点学习的第四课,聚焦于 Linux
基础文件权限与基础账号管理,后续课程还将深入权限应用、程序管理、文件系统管理等进阶内容,形成完整的学习体系。
二、Linux 传统权限
1.权限概念与身份划分
Linux
权限旨在保护文件资料,其设置基于用户、群组、其他人三种身份。用户即文件所有者;群组是文件所属的团队;其他人则是不属于用户且未加入群组的账号。以学校借书为例,小老师为使用者,本班同学为群组,隔壁班同学为其他人,清晰展现了不同身份在文件管理中的权限差异。
2.文件权限观察
查看指令:使用ls -l或ll可查看文件权限,如ls -ld /var/spool/mail,输出结果包含文件类型与权限、链接数、拥有者、所属群组、容量、修改时间、文件名等信息。
权限解读:文件类型通过首字符判断,-为一般文件,d为目录文件等。后续 9 个字符每 3 个一组,分别对应用户、群组、其他人的权限,r表示读取,w表示写入,x表示执行,无权限则显示-。例如-rwxr-xr--
,拥有者具有rwx
权限,同群组使用者具有rx权限,其他使用者具有r权限 。
相关指令:id
指令可查询账号所属群组;file指令用于查询文件类型;getfacl
指令能更清晰展示文件拥有者与权限设置。
3.修改文件属性与权限
修改所有者:使用chown
指令,如chown daemon checking
可将文件checking
的所有者改为daemon
,该指令还可同时修改群组等信息,具体语法可通过man chown
查询。
修改所属群组:利用chgrp
指令,结合grep
指令查询群组是否存在,如chgrp bin checking
将文件checking
所属群组改为bin。
修改权限
数字法:将r、w、x分别对应 4、2、1,每种身份权限范围为 0 - 7,如
chmod 740 checking
可设置文件checking
的权限为所有者rwx
,群组r--,其他人---。符号法:使用u(用户)、g(组)、o(其他人)、a(所有)搭配+(加入)、-(减去)、=(设置)以及r、w、x设置权限,如
chmod u=rwx,g=rw,o=r checking
。
其他属性修改:touch指令可修改文件时间参数,mv指令用于修改文件名。
三、基础账号管理
1.简易账号管理
账号创建与密码设置:系统管理员(root身份)使用
useradd
创建账号,passwd
设置密码,如useradd myuser1
、passwd myuser1
。普通用户也可使用passwd修改自己的密码,但需满足密码强度要求。账号删除:
userdel
指令用于删除账号,userdel -r
可同时删除账号及其家目录和电子邮件文件夹。
2.账户与组关联性管理
群组与账号建立:先使用
groupadd
创建群组,如groupadd progroup
;再通过useradd -G
将账号加入次要群组,如useradd -G progroup prouser1
;可使用passwd --stdin
批量设置密码,但存在安全风险 。账户属性变更:使用
usermod
指令修改已存在账户的群组等属性,如usermod -G student prouser1
将prouser1
加入student
群组,注意-a选项用于延伸群组支持。
四、账号与权限用途
1.单个用户所有权
一般用户仅能修改自己文件的权限。管理员复制资料给普通用户时,需注意修改文件所有者和权限,确保用户可访问。用户也可将指令复制到自己家目录,修改权限后使用,如student
将ls复制为myls
,修改权限为700后,通过./myls
执行 。
2.群组共用功能
目录共享:创建目录后,修改所属群组和权限实现共享,如
mkdir /srv/project1
、chgrp progroup /srv/project1
、chmod 770 /srv/project1
,使progroup
成员可在目录内操作 。文件执行权限共享:复制文件后,调整群组和权限,仅允许特定群组执行,如将
cat
复制为mycat
,设置权限为750,仅progroup
成员可执行 。