一、Linux安全基础(用户账户体系)
1. 核心安全逻辑
Linux依靠UID用户ID、GID组ID实现资源访问隔离,所有文件/目录都绑定属主、属组,区分所有者、同组用户、其他用户三层权限。
2. 用户分类
root管理员:UID=0,拥有系统全部权限;
系统伪用户:UID<500,供后台服务运行,禁止登录;
普通用户:UID≥1000,日常登录使用。
3. 核心配置文件
/etc/passwd :所有用户基础信息,7个冒号分隔字段:用户名、密码占位符x、UID、GID、备注、家目录、登录Shell;普通用户可读。
/etc/shadow :仅root可读,存放加密密码,9个字段管控密码有效期、账户锁定规则。
/etc/group :用户组信息,4字段:组名、组密码占位、GID、组内成员列表。
4. 切换root方式
su - root / sudo -i ;执行 exit 退回普通用户。
二、用户管理全套命令
1. 创建用户
useradd (参数化创建)
useradd -m 用户名 :自动创建/home下家目录,复制/etc/skel基础配置文件;不加-m无家目录、无登录shell;
常用参数: -c 备注、 -g 主组、 -G 附加组、 -s 指定登录shell、 -e 账户过期时间。
adduser (Ubuntu交互式)
自动弹窗输入密码、全名、房间/电话等备注,一键生成家目录与配套配置,操作更简单。
设置密码: passwd 用户名 ;批量改密码: echo user:pass | chpasswd 。
2.修改用户信息(usermod、chfn、chsh、chage)
1. usermod :修改账户核心属性
c 改备注、 -aG 追加附加组、 -g 更换主组、 -L 锁定账户、 -U 解锁、 -l 修改用户名。
2. chfn :交互式修改用户备注(全名、房间、电话等);
3. chsh -s 路径 用户名 :修改登录Shell(必须写绝对路径如/bin/dash);
4. chage :管控密码过期、账户失效时间。
3. 删除用户
userdel 用户名 :仅删账户信息,保留家目录;
userdel -r 用户名 :删除账户+家目录+邮件文件。
三、用户组管理
1. 创建组: groupadd 组名
2. 修改组: groupmod -n 新名 旧名 (改名); groupmod -g 修改GID
3. 用户加入附加组: usermod -aG 组名 用户名
4. 删除组: groupdel 组名
5. 共享实现逻辑:把多名用户加入同一附加组,再修改文件属组,同组用户可互相读写文件。
四、文件权限体系
1. 权限查看与标识
ls -l 查看权限,10位字符规则:
第1位:文件类型( - 普通文件、 d 目录、 l 软链接);
后9位分三组:所有者u、所属组g、其他用户o,每组3位r/w/x:
r=读(4)、w=写(2)、x=执行(1); - 代表无对应权限。
2. umask默认权限掩码
控制新建文件/目录初始权限:
文件基准666,目录基准777;减去umask(默认0022)得到实际权限;
示例:umask 0022 → 文件644(rw-r--r--)、目录755(rwxr-xr-x);
umask 查看、 umask xxx 临时修改默认掩码。
3. chmod修改权限(两种模式)
1. 八进制数字模式: chmod [-R] 数字 文件
例: chmod -R 666 * 所有文件读写; chmod 770 dir 目录仅属主/属组完整权限; -R 递归修改目录内所有内容。
2. 符号模式: chmod u/g/o/a +/-/= rwx 文件
u=所有者、g=组、o=其他人、a=全部; + 增加、 - 移除、 = 覆盖权限。
4. chown修改文件归属(仅root可执行)
chown -R 用户:组 文件 :同时修改属主、属组;
chown -R :组 文件 :仅修改所属组;
-R 递归作用于目录全部子文件。
五、实操练习题要求
1. 创建用户、设置密码,通过 /etc/passwd 验证;
2. 使用 usermod -c 或 chfn 修改用户备注;
3. groupadd 创建共享组, usermod -aG 将用户加入, groupmod 修改组名;
4. 在用户家目录新建文件、目录,用 ls -l 查看默认权限;
5. 通过 chown 修改文件属组、 chmod 配置组内读写权限,实现文件共享;
6. 按需删除测试用户。
创建新用户,并设置用户密码。查看/etc/passwd文件中是否存在该用户
2. 修改用户/etc/passwd文件的备注字段,并查看
使用groupadd为你的组员创建新组
在新用户的HOME目录下,创建.txt文本和目录并查看权限
使用usermod将新用户添加进你所创建的新组中,并修改组名
6.使用chmod和chown修改当前目录下所有文件的组权限,实现组内用户的共享文件,
并查看
7.删除刚刚创建的用户(也