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.简易账号管理

  1. 账号创建与密码设置:系统管理员(root身份)使用useradd创建账号,passwd设置密码,如useradd myuser1passwd myuser1。普通用户也可使用passwd修改自己的密码,但需满足密码强度要求。

  2. 账号删除userdel指令用于删除账号,userdel -r可同时删除账号及其家目录和电子邮件文件夹。

2.账户与组关联性管理

  1. 群组与账号建立:先使用groupadd创建群组,如groupadd progroup;再通过useradd -G将账号加入次要群组,如useradd -G progroup prouser1;可使用passwd --stdin批量设置密码,但存在安全风险 。

  2. 账户属性变更:使用usermod指令修改已存在账户的群组等属性,如usermod -G student prouser1prouser1加入student群组,注意-a选项用于延伸群组支持。

四、账号与权限用途

1.单个用户所有权

一般用户仅能修改自己文件的权限。管理员复制资料给普通用户时,需注意修改文件所有者和权限,确保用户可访问。用户也可将指令复制到自己家目录,修改权限后使用,如student将ls复制为myls,修改权限为700后,通过./myls执行 。

2.群组共用功能

  1. 目录共享:创建目录后,修改所属群组和权限实现共享,如mkdir /srv/project1chgrp progroup /srv/project1chmod 770 /srv/project1,使progroup成员可在目录内操作 。

  2. 文件执行权限共享:复制文件后,调整群组和权限,仅允许特定群组执行,如将cat复制为mycat,设置权限为750,仅progroup成员可执行 。