Linux入门到精通,第二周自我总结
一、Linux用户与组管理
核心概念
用户类型:
root
(UID=0)、系统用户(UID 1-999)、普通用户(UID≥1000)
配置文件:
/etc/passwd
(用户信息)、/etc/shadow
(密码信息)、/etc/group
(组信息)
用户组关系:
每个用户有1个主组(基本组),最多31个附属组。
重点命令与参数
命令 | 关键选项 | 作用 | 示例 |
---|---|---|---|
useradd | -u | 指定UID | useradd -u 1005 user1 |
-d | 指定家目录 | useradd -d /data/user2 user2 | |
-s | 指定登录shell | useradd -s /sbin/nologin user3 | |
-M | 不创建家目录 | useradd -M user4 | |
-g | 指定主组 | useradd -g dev user5 | |
-G | 指定附属组 | useradd -G web,db user6 | |
userdel | -r | 删除用户及家目录 | userdel -r user7 |
passwd | --stdin | 非交互式设置密码 | echo "123" | passwd --stdin user8 |
-l /-u | 锁定/解锁用户 | passwd -l user9 | |
-d | 清空密码 | passwd -d user10 | |
usermod | -aG | 追加附属组(不覆盖原组) | usermod -aG docker user11 |
-L /-U | 锁定/解锁用户 | usermod -L user12 | |
chage | -m /-M | 设置密码最短/最长有效期 | chage -M 90 user13 |
groupadd | -g | 指定GID | groupadd -g 2000 dev |
gpasswd | -a /-M | 添加单个用户/批量设置组成员 | gpasswd -M user14,user15 web |
id | 查看用户UID、GID信息 | id zhx | |
sudo | -i | 切换至root环境(需sudoers配置) | sudo -i |
二、Linux权限管理
核心概念
权限类型:
普通权限:
r
(读)、w
(写)、x
(执行)特殊权限:
SUID
(4):用户执行文件时继承属主权限(-rwsr-xr-x
)SGID
(2):目录下新建文件继承属组(-rwxr-sr-x
)SBIT
(1):防删除位(-rwxr-xr-t
,仅root/属主可删)
权限表示:
符号:
u/g/o/a
(属主/属组/其他/所有)++/-/=
+rwx
数字:
r=4
,w=2
,x=1
(如755
=rwxr-xr-x
)
重点命令与参数
命令 | 关键选项 | 作用 | 示例 |
---|---|---|---|
chmod | -R | 递归修改权限 | chmod -R 755 /data |
数字模式 | 快速设置权限 | chmod 644 file.txt | |
符号模式 | 精确调整权限 | chmod g+w,o-rx dir/ | |
chown | -R | 递归修改属主/属组 | chown -R zhx:dev /project |
umask | 设置默认权限掩码(目录777-umask) | umask 022 → 目录755/文件644 | |
setfacl | -m | 设置ACL权限 | setfacl -m u:user1:rwx file.txt |
-R | 递归设置ACL | setfacl -R -m g:dev:rx /dir | |
getfacl | 查看ACL权限 | getfacl /data |
关键场景示例
SUID应用:
chmod u+s /usr/bin/passwd # 普通用户可修改自身密码
SGID共享目录:
mkdir /shared && chmod g+s /shared # 新建文件自动继承组
SBIT防误删:
chmod o+t /tmp # 仅文件属主/root可删除
ACL精细控制:
setfacl -m u:zhx:rw,d:u:zhx:rw /report # 赋予zhx读写权限及默认权限
总结重点
用户管理核心
创建/删除用户(useradd/userdel -r) 密码策略(passwd/chage) 组关系(usermod -aG)
权限管理核心
基础权限(chmod/chown) 特殊权限(SUID/SGID/SBIT) ACL扩展权限(setfacl)
运维高频命令
sudo(提权)、id(查身份) umask(设默认权限) getfacl(查ACL)