简介
对于想要有效管理用户访问、权限和系统安全的系统管理员和开发人员来说,了解 Linux 用户属性至关重要。本教程提供了一份全面的指南,用于在 Linux 环境中检查和操作用户属性,涵盖了用于用户识别和访问控制的基本命令和技术。
对于想要有效管理用户访问、权限和系统安全的系统管理员和开发人员来说,了解 Linux 用户属性至关重要。本教程提供了一份全面的指南,用于在 Linux 环境中检查和操作用户属性,涵盖了用于用户识别和访问控制的基本命令和技术。
在 Linux 系统中,用户是与操作系统进行交互的基本实体。每个用户都有唯一的标识和一组权限,这些权限控制着对文件、目录和系统资源的访问。了解用户基础对于系统管理和安全管理至关重要。
Linux 中的每个用户都由两个关键属性标识:
要查看基本用户信息,可以使用几个命令:
$ id
uid=1000(labex) gid=1000(labex) groups=1000(labex)
$ whoami
labex
Linux 区分不同类型的用户:
用户类型 | UID 范围 | 描述 |
---|---|---|
根用户 | 0 | 具有完全权限的系统管理员 |
系统用户 | 1 - 999 | 用于系统服务和后台进程 |
普通用户 | 1000+ | 用于人类交互的普通用户账户 |
Linux 提供了用于管理用户账户的命令:
$ sudo adduser newuser
$ sudo usermod -aG sudo newuser
$ sudo userdel newuser
每个用户通常在 /home/username
中有一个主目录,该目录用作他们的个人工作区和配置存储。
在 LabEx 环境中工作时,了解用户基础有助于你:
掌握 Linux 用户基础对于有效的系统管理和安全至关重要。通过了解用户标识、类型和管理技术,你可以自信地使用 Linux 系统。
Linux 提供了丰富的命令集来检查和管理用户属性。这些命令帮助系统管理员和用户了解用户属性、权限以及系统交互。
getent
命令从系统数据库中检索条目:
## 检索用户信息
$ getent passwd username
labex:x:1000:1000:LabEx 用户:/home/labex:/bin/bash
id
命令显示用户和组信息:
## 显示当前用户详细信息
$ id
uid=1000(labex) gid=1000(labex) groups=1000(labex)
## 查看用户账户属性
$ sudo passwd -S username
labex P 02/15/2024 0 99999 7 -1
属性 | 描述 |
---|---|
P | 已设置密码 |
02/15/2024 | 上次密码更改日期 |
0 | 密码更改前的最短天数 |
99999 | 密码过期前的最长天数 |
## 显示用户密码老化信息
$ sudo chage -l username
修改用户账户属性:
## 更改用户的登录 shell
$ sudo usermod -s /bin/zsh username
## 锁定用户账户
$ sudo usermod -L username
## 快速查看用户属性概述
$ getent passwd | grep username
$ id username
$ groups username
命令 | 主要功能 | 作用范围 |
---|---|---|
id | 用户/组 ID | 当前用户 |
getent | 系统数据库 | 所有用户 |
passwd | 密码管理 | 特定用户 |
chage | 密码老化 | 用户账户 |
usermod | 用户修改 | 系统范围 |
/etc/passwd
这样的系统文件掌握用户属性命令能够实现高效的 Linux 系统管理,深入了解用户配置和系统安全。
Linux 使用全面的权限模型来控制对文件和目录的访问:
权限由一个 10 字符的字符串表示:
$ ls -l /home/labex/example.txt
-rw-r--r-- 1 labex labex 64 Apr 15 10:30 example.txt
权限类型 | 符号 | 含义 |
---|---|---|
用户 | rw- | 读取、写入 |
组 | r-- | 只读 |
其他用户 | r-- | 只读 |
修改文件权限:
## 数字模式
$ chmod 755 script.sh
## 符号模式
$ chmod u+x script.sh
$ chmod g-w document.txt
数字 | 权限 |
---|---|
4 | 读取 |
2 | 写入 |
1 | 执行 |
示例:
## 设置特殊权限
$ chmod u+s 可执行文件
$ chmod g+s 目录
$ chmod +t 共享目录
## 查看 ACL
$ getfacl file.txt
## 设置 ACL
$ setfacl -m u:用户名:rwx file.txt
## 切换用户
$ su - 用户名
$ sudo -i
## 编辑 sudoers 文件
$ sudo visudo
## 诊断权限问题
$ ls -l 有问题的文件
$ whoami
$ groups
了解 Linux 权限和安全对于维护系统完整性和保护敏感资源至关重要。仔细管理用户属性和权限可确保稳健且安全的计算环境。
通过掌握 Linux 用户属性检查技术,系统管理员可以增强系统安全性、更高效地管理用户访问并实施强大的权限控制。用户属性知识是维护安全且组织良好的 Linux 系统的基础,能够实现精确的用户管理和访问配置。