首页 > 基础资料 博客日记
三、Linux 文件管理+用户管理
2026-05-31 14:00:02基础资料围观2次
一、文件系统基础命令
1.1 相对路径 & 绝对路径
|
类型 |
定义 |
示例 |
|
绝对路径 |
以根 开头的路径,在任何位置都可使用 |
、 |
|
相对路径 |
不以根开头,相对于当前所在目录 |
|
bash
[root@lab ~]# ls passwd # 在当前目录下找 passwd,不存在则报错
ls: cannot access 'passwd': No such file or directory
[root@lab ~]# ls /etc/passwd # 绝对路径,成功
/etc/passwd
1.2 文件命名规则
- 文件名区分大小写
- 同目录下不能存在同名文件
- 文件名长度≤255字符
- 尽量不用特殊字符:
? $ % ^ & *等
1.3 touch 命令
作用
- 创建空文件
- 更新已有文件时间戳
用法
touch 文件名 # 当前目录创建
touch /opt/xym # 指定路径创建
文件3个时间戳
- Access Time:最后访问时间
- Modify Time:文件内容最后修改时间
- Change Time:文件属性(权限、大小、名称)最后修改时间
查看时间戳
stat 文件路径

总结:文件不存在则创建,存在则更新时间戳。
1.4 mkdir 创建目录
mkdir 目录路径 # 创建单层目录
mkdir -p /opt/a/b/c/d/e/f/g # -p 递归创建多级父目录
-p:父目录不存在自动创建,无报错
1.5 rm 删除文件/目录
rm 文件名 # 删除文件,交互式询问
rm -f 文件名 # -f 强制删除,不询问
rm -r 目录名 # -r 递归删除目录及内容
rm -rf 目录名 # 强制递归删除目录(常用)
rm是rm -i别名,默认删除会询问rm -rf谨慎使用,不可逆
1.6 rmdir 删除空目录
- 仅能删除空目录,非空目录无法删除
rmdir 空目录名
1.7 ls 列出目录内容
常用参数
|
参数 |
作用 |
|
|
显示详细属性信息 |
|
|
显示隐藏文件(以 |
|
|
人性化显示文件大小(配合 |
|
|
递归列出所有子目录内容 |
|
|
按修改时间倒序排序 |
|
|
排序取反 |
|
|
只查看目录本身属性 |
|
|
按文件类型显示颜色 |
ll是ls -l --color=auto别名
alias 查看系统的命名别名

ls -l 字段详解
-rw-r--r--. 1 root root 2192 May 16 16:46 /etc/passwd
- 文件类型
-:普通文件d:目录b:块设备(硬盘/光驱)c:字符设备(键盘/鼠标)l:软链接(快捷方式)s:套接字文件
- 权限:属主、属组、其他人 rwx(读写执行) 权限
- 末尾
.表示文件受 SELinux 安全机制保护 - 硬链接数
- 属主、属组
- 文件大小(字节)
- 修改时间
- 文件名
Linux 后缀无系统识别意义,仅给人看。
1.8 cd 切换目录
cd # 回到当前用户家目录
cd ~ # 回到家目录
cd ~用户名 # 进入指定用户家目录
cd .. # 回到上一级目录
cd - # 切换到上一次所在目录
cd 路径 # 切换到指定路径
1.9 pwd 命令
pwd # 打印当前所在工作目录

1.10 file 命令
专门查看文件真实类型,不受后缀影响。
file 文件名

empty表示 空文件
1.11 cp 拷贝命令
语法:cp 源路径 目标路径
- 拷贝文件
cp /etc/passwd /opt/ # 备份文件到目录
cp /etc/shadow /tmp/shadow-$(date +%F) # 按时间命名备份
- 拷贝目录
cp -r /etc /tmp # -r 递归拷贝目录
cp -a /etc /tmp # -a 归档拷贝,保留权限、时间戳、软链接所有属性
-a等同于-dR --preserve=all
1.12 mv 移动/重命名
- 同目录:mv = 重命名
- 不同目录:mv = 移动文件/目录
mv 原文件名 新文件名 # 重命名
mv 文件/目录 目标路径 # 移动
二、用户与用户组管理
2.1 Linux 用户分类
|
用户类型 |
UID 范围 |
说明 |
|
超级管理员 |
UID=0 |
root,拥有系统最高权限 |
|
系统用户 |
0<UID<1000 |
运行系统服务,禁止登录 |
|
普通用户 |
UID≥1000 |
管理员创建,供日常登录使用 |
2.2 用户信息配置文件 /etc/passwd![]()
每行格式:用户名:x:UID:GID:描述:家目录:登录Shell
字段说明:
- 用户名
- 密码占位符
x(真实密码存/etc/shadow) - UID 用户ID
- GID 组ID
- 备注描述
- 用户家目录
- 登录Shell
常见的两类:
/bin/bash:可登录系统/sbin/nologin:禁止登录
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
比较特殊的登录SHELL
/bin/sync其实就是sync命令,而sync命令就是将内存中的数据刷入到磁盘中(赶紧把缓存数据写到磁盘里面)
/sbin/shutdown 和 /sbin/halt 作用一样:关机
2.3 用户管理命令
|
命令 |
作用 |
|
|
创建用户 |
|
|
修改用户 |
|
|
删除用户 |
|
|
设置密码 |
|
|
查看用户信息 |
用户组的密码文件/etc/gshadow
useradd 创建用户
常用参数
|
参数 |
作用 |
|
|
指定UID |
|
|
指定私有组GID |
|
|
指定附加组(会覆盖原有的附加组新增用-aG) |
|
|
添加描述信息 |
|
|
指定家目录 |
|
|
指定登录Shell |
|
|
不自动创建家目录 |
UID 分配原则:未手动指定时,系统分配 /etc/passwd 中最大 UID + 1。
默认行为:
- 家目录:
/home/用户名 - 邮箱文件:
/var/spool/mail/用户名 - 创建同名的私有组
示例
useradd mengxin # 创建普通用户
useradd -u 2026 -c "game user" memeda01
useradd -s /sbin/nologin mysqluser # 不可登录用户
需求一:创建memeda01用户,要求UID是2026,要求描述信息是game user
useradd -u 2026 -c “game user” memeda01
需求二:创建mysqluser用户,描述信息database user,不可以登录系统
useradd -c “database user” -s /sbin/nologin mysqluser
需求三:创建caiwu用户,私有组就是caiwu,附加组是mysqluser
useradd -G mysqluser caiwu
需求四:创建diruser用户,用户的家目录在/tmp/diruser
useradd -d /tmp/diruser diruesr
不指定UID系统找最多的UID+1分配
创建用户会同时创建一个同名的邮箱和组
用户必须要有一个组
附加组:用户可以加入到其他组
passwd 设置用户密码
passwd 用户名
usermod 修改用户属性
|
选项 |
说明 |
|
|
修改附加组(会覆盖原有附加组) |
|
|
新增附加组(不覆盖) |
|
|
修改家目录(只改配置文件,不创建目录) |
|
|
修改登录 SHELL |
|
|
锁定用户 |
|
|
解锁用户 |
usermod -s /sbin/nologin 用户名 # 禁止登录
usermod -aG 组名 用户名 # 追加附加组(-aG 不覆盖原有组)
userdel 删除用户
userdel 用户名 # 只删用户,保留家目录、邮件
userdel -r 用户名 # -r 彻底删除:用户+家目录+邮件
首先你创建一个用户user110,系统分配的UID假设是1000
现在你通过userdel删除user110用户,但是家目录和邮件文件不会删除
家目录和邮件文件UID和GID就是1000
此时你通过useradd user111的用户--->UID 1000
user111用户继承了1000的UID
此时家目录和邮件文件UID和GID就是1000 就被user111可以访问了
这个时候,文件就没有私密可言了
老用户abcuser
家目录和邮件文件没有删除
再创建一个用户abcuser
此时删除abcuser用户,这些目录和邮件文件会删除
老用户abcuser
家目录和邮件文件没有删除
再创建一个用户123user
此时删除123user,老的目录和邮件文件不会删除
userdel 删除用户的时候,删除的是同名的目录和邮件
/home/123user 可以被删除
/home/abcuser
2.4 用户组配置文件 /etc/group
格式:组名:x:GID:组内成员
- 记录组名、密码占位符、GID、组内附加成员
- 私有组成员不会在此文件显示
|
字段 |
说明 |
|
第1列 |
组名 |
|
第2列 |
组的密码占位符 |
|
第3列 |
GID |
|
第4列 |
组内成员(私有组的成员不显示) |
2.5 用户组管理命令
|
命令 |
作用 |
|
|
创建组 |
|
|
修改组 |
|
|
删除组 |
|
|
设置组密码、管理组成员 |
|
|
列出/添加/删除组成员 |
groupadd -g 3333 itgroup # 创建指定GID组
groupdel 组名 # 删除组(不能删用户私有组)
gpasswd 组名 # 设置组密码、管理组成员
newgrp 组名 # 登录组
groupmems # 查看/添加/移除组成员
groupadd – 创建组
bash
groupadd -g 3333 itgroup # 指定 GID 创建组
groupmod – 修改组
bash
groupmod -n newname oldname # 重命名组
groupdel – 删除组
bash
groupdel itgroup # 若某用户的私有组是该组,则无法删除
gpasswd – 管理组密码和成员
bash
gpasswd 组名 # 设置组密码
gpasswd -a user 组名 # 添加用户到组
gpasswd -d user 组名 # 从组中删除用户
gpasswd -A user 组名 # 设置组管理员
groupmems – 管理组成员
bash
groupmems -g 组名 -l # 列出组成员
groupmems -g 组名 -a user # 添加用户
groupmems -g 组名 -d user # 删除用户
也可用 usermod -aG 添加附加组。
记忆:
加用户到组:usermod
删除组的用户:gpasswd
列出组的成员:groupmens
2.6 密码影子文件 /etc/shadow
仅root可读取,存放加密用户密码及密码策略
mengxin:$6$pfNug4M3ru8qFDpN$0pNQj/37TvTCJzadBGXWXC4ljl6hAyBIwFevxLU.BQuAVzPiS6UuIzikk9.J7QCwF2gmbx5/6uYuEmsH96yn21:20596:0:99999:7:::
|
字段 |
说明 |
|
第1列 |
用户名 |
|
第2列 |
加密后的密码( |
|
第3列 |
上次修改密码时间(距1970-01-01天数) |
|
第4列 |
密码最短有效期(天数,0表示无限制) |
|
第5列 |
密码最长有效期(天数,99999表示无期限) |
|
第6列 |
告警天数(过期前多少天告警) |
|
第7列 |
密码锁定日期 |
|
第8列 |
账户过期时间(距1970-01-01天数) |
|
第9列 |
保留字段 |
加密算法标识:
$6$→ SHA-512(默认)$5$→ SHA-256$1$→ MD5
用户组的密码文件/etc/gshadow
生成加密密码(不通过 passwd):
openssl passwd -6 123 # 输出 SHA-512 加密的密文
# 然后手动替换 /etc/shadow 对应行
2.7 chage 密码策略管理
查看和修改用户密码策略:
chage -l 用户名 # 查看密码策略
chage -m 30 -M 90 -W 20 -E 2027-12-01 用户名 # 修改策略
chage -d 0 用户名 # 强制下次登录改密码
2.8 默认密码策略配置
/etc/login.defs 定义新建用户默认规则:
PASS_MAX_DAYS密码最大有效期PASS_MIN_DAYS密码最小间隔天数PASS_WARN_AGE过期提前告警天数
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- 2026御网杯线上挑战赛Pwn的wp
- XGBoost + SHAP 一键生成 10 张出版级模型解释图
- 三、Linux 文件管理+用户管理
- 【Azure App Service】App Service 里的 SNAT 端口 vs 出站连接数:到底是谁限制了谁?
- WEB-2026DASCTF夏季赛-CorpGate
- 面试官:Workflow 和 Agent 有什么区别?如何选型?
- 为什么你用光模块测试FPGA IBERT不通
- 2026 年 5 个最佳 Agent Skills 平台推荐
- 从失忆到记住一切:Spring AI AutoMemoryTools 与 Session API 实战
- 如何在Reaonix中使用CodeGraph以及CodeGraph效果实测经验分享


