Linux系统管理:用户权限、认证与时间设置全解析
立即解锁
发布时间: 2025-08-24 00:56:12 阅读量: 1 订阅数: 5 

# Linux系统管理:用户权限、认证与时间设置全解析
## 1. sudo权限管理
### 1.1 修改sudoers文件
若要对 `/etc/sudoers` 文件进行更改或添加条目,需使用特殊的 `sudo` 编辑命令 `visudo`。此命令会调用 `vi` 编辑器来编辑该文件。与标准编辑器不同,`visudo` 会锁定 `/etc/sudoers` 文件并检查条目的语法,只有语法正确时才允许保存更改。操作步骤如下:
1. 首先使用 `su` 命令以 `root` 用户身份登录。
2. 输入 `visudo` 命令。
```bash
su
visudo
```
### 1.2 sudoers条目语法
sudoers 条目的语法如下:
```plaintext
user host=command
```
- `host` 指网络中的主机,可用 `ALL` 表示所有主机。
- `command` 可以是命令列表,部分或全部命令可附带选项,如是否需要密码,也可用 `ALL` 表示所有命令。
示例:
- 赋予用户 `robert` 在所有主机上对所有命令的完全根级访问权限:
```plaintext
robert ALL = ALL
```
- 让 `robert` 以 `fineart` 用户身份访问 `mypic` 主机上的所有命令:
```plaintext
robert mypic = (fineart) ALL
```
- 为指定组授予权限,需在组名前加 `%` 符号,如 `%mygroup`。
- 给予 `robert` 在所有主机上使用 `system-config-users` 工具的访问权限:
```plaintext
robert ALL=/usr/bin/system-config-users
```
### 1.3 查看可执行命令
用户若想查看自己可运行的命令,可使用 `sudo -l` 命令。
```bash
sudo -l
```
### 1.4 使用sudo执行命令
用户配置完成后,可使用 `sudo` 运行管理命令,只需在命令前加上 `sudo` 即可。此时用户会获得一个有时效性的访问令牌。
```bash
sudo date
```
使用 `sudo` 的优势在于,在执行需要根用户权限的普通任务时,无需以 `root` 用户身份登录,仍可对系统进行广泛的根用户操作。例如,使用 `sudo` 配合 `gedit` 图形文本编辑器编辑系统配置文件:
```bash
sudo gedit /etc/fstab
```
还能以 `sudo` 操作运行文件管理器,使其获得完全管理权限:
```bash
sudo files
```
与 `su` 相比,`sudo` 允许使用某些桌面应用程序(如 `gedit`)以根用户身份运行,而 `su` 仅支持命令行操作。
## 2. PolicyKit权限控制
### 2.1 PolicyKit简介
PolicyKit 由 Freedesktop.org 项目设计,允许普通用户和应用程序访问受管理控制的应用程序和设备。目前支持多个关键管理操作,如网络管理器、Udisks、PackageKit、防火墙、Samba 和系统监视器等。它旨在提供一个简单且集中的界面,用于授予用户对受管理控制的设备和工具的访问权限。
### 2.2 PolicyKit配置
PolicyKit 的新版本 `polkit-1` 用于相关操作,其配置文件位于 `/usr/share/polkit-1` 目录。目前尚无用于配置这些设置的桌面工具,`polkit-gnome` 桌面工具仅在应用程序或设备需要认证时提供 GNOME 对话框。
### 2.3 修改PolicyKit选项
若要更改某些操作(如挂载内部硬盘)的授权设置,可手动编辑 `/usr/share/polkit-1/actions` 目录下的配置文件,但此操作有风险。操作前需明确要更改的操作和要设置的权限,`polkit` 的手册页会列出可能的授权选项。默认授权选项如下:
| 授权选项 | 说明 |
| ---- | ---- |
| `allow_any` | 任何人都可访问 |
| `allow_inactive` | 控制台可访问 |
| `allow_active` | 仅活动控制台(用户已登录)可访问 |
这些授权选项可设置为以下具体值:
| 具体值 | 说明 |
| ---- | ---- |
| `auth_admin` | 仅管理用户可访问,始终需要授权 |
| `auth_admin_keep` | 仅管理用户可访问,授权在短时间内保留 |
| `auth_self` | 需要用户授权 |
| `auth_self_keep` | 需要用户授权,授权在短时间内保留 |
| `yes` | 始终允许访问 |
| `no` | 始终禁止访问 |
以允许用户在无需授权的情况下挂载内部硬盘分区为例,操作步骤如下:
1. 确定要修改的操作:`org.freedesktop.udisks2.filesystem-mount-system-internal`。
2. 找到对应的配置文件:`/usr/share/polkit-1/actions/org.freedesktop.udisks2.policy`。
3. 以 `root` 用户身份登录,使用 `nano` 或 `sudo` 配合 `gedit` 编辑该文件。
```bash
# 使用nano编辑
su
nano /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy
# 使用sudo配合gedit编辑
sudo gedit /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy
```
4. 在文件中找到如下操作 ID:
```xml
<action id ="org.feedesktop.udisks2.filesystem-mount-system"> <description>Mount a filesystem on a system device</description>
```
通常这是第二个操作 ID,在该操作部分末尾的 `<defaults>` 子部分中,将 `<allow_active>` 的值从 `auth_admin_keep` 替换为 `yes`。
```xml
<allow_active>yes</allow_active>
```
5. 保存文件,用户此后挂载内部分区时无需输入密码。
## 3. 系统认证配置
### 3.1 system-config-authentication工具
为确认用户身份的有效性,网络可能提供多种认证服务,可使用 `system-config-authentication` 工具(路径:Other | Authentication)在系统中启用这些服务。该工具包含三个选项卡:
- **Identity & Authentication**:通过“User Account Database”下拉菜单指定服务(如 NIS 和 LDAP),这些服务用于维护网络中系统和用户的配置信息。选择服务后,该选项
0
0
复制全文
相关推荐









