@[TOC](内容预览 ≧∀≦ゞ
Linux基础2:用户账号管理、文件权限与系统日志
声明
笔记内容参考了B站UP主 泷羽sec 的学习视频,如有侵权,将立即删除。 本笔记旨在促进网络安全学习,任何不当使用均与作者无关,请勿逾越法律红线,否则后果自负。 希望这些内容能对各位师傅有所帮助,欢迎您的点赞和评论!
在 Linux 系统中,用户管理、文件权限控制和系统日志记录是日常操作中至关重要的内容。本文将围绕这几个主题详细介绍相关命令和操作方法。
1. 用户与组账号管理
1.1 用户账号信息
/etc/passwd 文件
/etc/passwd 文件用于存储系统中的所有用户账户的基本信息。每行代表一个用户,各字段之间以冒号分隔,包括以下信息:
- 用户名:用户的登录名
- 密码占位符:通常表示为
x,密码实际存储在/etc/shadow文件中 - 用户 ID (UID):用户的唯一标识
- 组 ID (GID):用户所在组的标识
- 用户描述:一般用于存储用户的描述信息(如全名等)
- 家目录:用户登录后的主目录
- 默认 Shell:用户登录后默认使用的 Shell

/etc/shadow 文件
/etc/shadow 文件存储了用户的加密密码以及密码安全相关属性,只有 root 和拥有相应权限的用户才能访问。
字段包括:
- 用户名:与
/etc/passwd中的用户名对应 - 加密密码:用户的加密密码(若无密码则为
*或!!) - 密码上次修改时间:自1970年1月1日以来的天数
- 最短/最长密码间隔:两次密码修改的最短间隔和有效期
- 密码到期警告期:密码到期前的警告天数
- 宽限期与账户失效时间:密码到期后的宽限天数与账户失效日期

1.2 用户组信息
/etc/group 文件
/etc/group 文件保存了系统中所有组的相关信息。包括:
- 组名:组的名称
- 组密码:通常为空
- 组 ID (GID):组的唯一标识
- 组成员:组内的所有用户

1.3 禁用用户账号
禁用用户或设置账户失效:
-
禁用用户:
sudo passwd -l username该命令使用
passwd锁定用户账号,使username用户无法登录。 -
设置账号过期日期:
sudo chage -E 1990-01-01 username此命令将
username账户设置为在指定日期过期,不再允许登录。 -
查看用户密码状态:
sudo passwd -S username显示用户账号的状态,包括密码是否设置、是否被锁定以及上次修改时间。
2. 文件权限管理
在 Linux 系统中,一切皆文件,包括普通文件、目录、链接、设备等。文件权限管理是系统安全的核心。
2.1 查看文件权限
使用 ls -la 命令可以查看文件或目录的详细信息,包括权限、所有者、组用户、文件大小等。可以配合其他选项使用,例如 ls -liah,其含义如下:
-l:显示详细格式,包括权限、所有者、组、大小等。-i:显示 inode 号,这是文件的唯一标识。-a:显示所有文件,包括隐藏文件。-h:以人类易读的方式显示文件大小。
ls -liah /etc/passwd
2.2 更改文件所有者
使用 chown 命令更改文件的所有者或所属组。例如,将文件 file 的所有者更改为 root:
sudo chown root file
若要同时更改文件的所有者和所属组,可以使用:
sudo chown root:groupname file
2.3 修改文件权限
文件权限决定了文件的读取、写入和执行权。使用 chmod 命令可以设置或修改文件权限,既可以用字符模式指定权限,也可以用数字模式表示。
-
字符模式示例:
sudo chmod u=rwx,g+rw,o-r fileu=rwx:将所有者权限设为读、写、执行。g+rw:为组用户添加读、写权限。o-r:移除其他用户的读权限。
-
数字模式示例:
chmod 400 file400表示所有者有读权限,而组和其他用户没有任何权限。
2.4 文件权限详解
权限位说明
文件权限在 ls -l 命令的输出中以十个字符显示,前三个字符决定文件类型:
- 第一个字符:文件类型,如
-表示普通文件,d表示目录,l表示链接文件。 - 后九个字符:文件权限,按照所有者、组用户、其他用户的顺序排列,每三位表示一种用户权限,例如
rwxr-xr--。
权限类型
- r(读权限):允许读取文件内容或列出目录内容。
- w(写权限):允许修改文件内容或添加、删除、重命名目录中的文件。
- x(执行权限):允许执行可执行文件或进入目录。
- s(SetUID/SetGID 权限):
- SetUID (
u+s):当可执行文件具有 SetUID 权限时,执行该文件的用户临时获得文件所有者的权限。 - SetGID (
g+s):当目录具有 SetGID 权限时,文件创建后继承该目录的组权限。
- SetUID (
- t(粘滞位,Sticky Bit):设置在目录上时,仅文件所有者或 root 用户可删除文件,通常用于公共目录(如
/tmp)。
chmod 权限模式详解
-
用户类型:
u:文件所有者(User)。g:用户组(Group)。o:其他用户(Others)。a:所有用户(All)。
-
操作符:
+:添加权限。-:移除权限。=:设置指定权限,覆盖现有权限。
-
权限数值表示法:
-
权限组合可通过八进制数值表示,常用的权限数值如下:
- 4:读权限 (
r)。 - 2:写权限 (
w)。 - 1:执行权限 (
x)。
数值权限的组合方式:
7(rwx):读、写、执行。6(rw-):读、写。5(r-x):读、执行。4(r--):仅读。
- 4:读权限 (
常见的权限组合示例:
chmod 755 file # 所有者:rwx;组:r-x;其他用户:r-x chmod 644 file # 所有者:rw-;组:r--;其他用户:r-- chmod 700 file # 所有者:rwx;组和其他用户无权限 -
3. 系统日志管理
日志文件帮助管理员记录系统事件、审查用户行为,便于系统故障排查和安全监控。
3.1 查看日志目录
系统日志通常位于 /var/log 目录下:
ls -l /var/log
3.2 查看认证日志
认证日志记录用户的登录、认证失败等事件,帮助管理员排查认证问题。
sudo tail -3 /var/log/auth.log
auth.log:在 Debian 和 Ubuntu 系统中记录认证相关信息secure.log:在 Red Hat 和 CentOS 系统中记录认证相关信息
3.3 查看二进制日志
/var/log/wtmp 是一个二进制文件,记录用户的登录和注销信息,可使用 who 命令查看最近的登录/注销记录:
who /var/log/wtmp | tail -5
3.4 查看内核日志
dmesg 命令显示内核缓冲区的内容,包括硬件检测、驱动加载等信息。
dmesg
3.5 systemd 日志查看
journalctl 命令是 systemd 系统日志管理的工具,用于查询系统和服务的启动、运行和错误信息:
journalctl
总结
本篇文章介绍了 Linux 系统中的用户账号管理、文件权限配置以及系统日志查看的基本方法和命令。通过了解这些基础操作,可以帮助管理员更好地管理系统、提高安全性,并在发生问题时迅速定位故障。掌握这些技能对于系统运维和安全管理至关重要。
原文 https://blog.csdn.net/2301_79518550/article/details/143582405