FreeBSD 中文手册
FreeBSD 中文社区
  • FreeBSD 中文手册
  • 编辑日志
  • 译者说明
  • FreeBSD 中文手册
  • 概述
  • 前言
    • 致读者
    • 第四版
    • 第三版
    • 第二版(2004)
    • 第一版(2001)
    • 本书的组织结构
    • 本书中使用的一些约定
    • 致谢
  • 第一部分:快速开始
  • 第1章 简介
    • 1.1.概述
    • 1.2.欢迎来到 FreeBSD!
    • 1.3.关于 FreeBSD 项目
  • 第2章 安装 FreeBSD
    • 2.1.概述
    • 2.2.最低硬件要求
    • 2.3.安装前的准备工作
    • 2.4.开始安装
    • 2.5.使用 bsdinstall
    • 2.6.分配磁盘空间
    • 2.7.获取安装文件
    • 2.8.账户、时区、服务和安全
    • 2.9.故障排除
    • 2.10.使用 Live CD
  • 第3章 FreeBSD 基础
    • 3.1.概述
    • 3.2.虚拟控制台和终端
    • 3.3.用户和基本账户管理
    • 3.4.权限
    • 3.5.目录结构
    • 3.6.磁盘结构
    • 3.7.文件系统的挂载与卸载
    • 3.8.进程和守护进程
    • 3.9.Shell
    • 3.10.文本编辑器
    • 3.11.设备和设备节点
    • 3.12.手册页
  • 第4章 安装应用程序:软件包和 Ports
    • 4.1.概述
    • 4.2.软件安装的概述
    • 4.3.寻找所需的应用程序
    • 4.4.使用 pkg 管理二进制包
    • 4.5.使用 Ports
    • 4.6.使用 Poudriere 构建软件包
    • 4.7.安装后的注意事项
    • 4.8.如何处理损坏的 port
  • 第5章 X Window 系统
    • 5.1.概述
    • 5.2.安装 Xorg
    • 5.3.显卡驱动
    • 5.4.Xorg 配置
    • 5.5.在 X11 中使用字体
  • 第6章 FreeBSD 中的 Wayland
    • 6.1.简介
    • 6.2.Wayland 概述
    • 6.3.Wayfire 混成器
    • 6.4.Hikari 混成器
    • 6.5.Sway 混成器
    • 6.6.使用 Xwayland
    • 6.7.使用 VNC 进行远程连接
    • 6.8.Wayland 登录管理器
    • 6.9.实用工具
  • 第7章 网络
    • 7.1.概述
    • 7.2.设置网络
    • 7.3.有线网络
    • 7.4.无线网络
    • 7.5.主机名
    • 7.6.DNS
    • 7.7.故障排除
  • 第二部分:常见任务
  • 第8章 桌面环境
    • 8.1.概述
    • 8.2.桌面环境
    • 8.3.浏览器
    • 8.4.开发工具
    • 8.5.桌面办公应用
    • 8.6.文档阅读器
    • 8.7.财务
  • 第9章 多媒体
    • 9.1.概述
    • 9.2.设置声卡
    • 9.3.音频播放器
    • 9.4.视频播放器
    • 9.5.视频会议
    • 9.6.图像扫描仪
  • 第10章 配置 FreeBSD 内核
    • 10.1.概述
    • 10.2.为什么要构建定制内核
    • 10.3.浏览系统硬件
    • 10.4.配置文件
    • 10.5.构建并安装定制内核
    • 10.6.如果发生了错误
  • 第11章 打印
    • 11.1.快速入门
    • 11.2.连接打印机
    • 11.3.常见的页面描述语言(PDL)
    • 11.4.直接打印
    • 11.5.LPD(行式打印机程序)
    • 11.6.其他打印系统
  • 第12章 Linux 二进制兼容层
    • 12.1.概述
    • 12.2.配置 Linux 二进制兼容层
    • 12.3.Linux 用户空间
    • 12.4.高级主题
  • 第13章 WINE
    • 13.1.概述
    • 13.2.WINE 概述和概念
    • 13.3.在 FreeBSD 上安装 WINE
    • 13.4.在 FreeBSD 上运行第一个 WINE 程序
    • 13.5.配置 WINE 安装程序
    • 13.6.WINE 图形化用户管理界面
    • 13.7.多用户 FreeBSD 与 WINE
    • 13.8.FreeBSD 上的 WINE 常见问题
  • 第三部分:系统管理
  • 第14章 配置与优化
    • 14.1.概述
    • 14.2.配置文件
    • 14.3.管理 FreeBSD 中的服务
    • 14.4.Cron 和 Periodic
    • 14.5.配置系统日志
    • 14.6.电源和资源管理
    • 14.7.添加交换空间
  • 第15章 FreeBSD 的引导过程
    • 15.1.概述
    • 15.2.FreeBSD 的引导过程
    • 15.3.Device Hints
    • 15.4.关机流程
  • 第16章 安全
    • 16.1.概述
    • 16.2.简介
    • 16.3.账户安全
    • 16.4.入侵检测系统(IDS)
    • 16.5.安全等级
    • 16.6.文件标志位
    • 16.7.OpenSSH
    • 16.8.OpenSSL
    • 16.9.Kerberos
    • 16.10.TCP 封装器(TCP Wrapper)
    • 16.11.访问控制列表(ACL)
    • 16.12.Capsicum
    • 16.13.进程记账
    • 16.14.资源限制
    • 16.15.监控第三方安全问题
    • 16.16.FreeBSD 安全公告
  • 第17章 jail 与容器
    • 17.1.概述
    • 17.2.jail 的类型
    • 17.3.主机配置
    • 17.4.传统 jail(厚 jail)
    • 17.5.瘦 jail
    • 17.6.管理 jail
    • 17.7.更新 jail
    • 17.8.jail 资源限制
    • 17.9.jail 管理器与容器
  • 第18章 强制访问控制
    • 18.1.概述
    • 18.2.关键术语
    • 18.3.了解 MAC 标签
    • 18.4.规划安全配置
    • 18.5.可用的 MAC 策略
    • 18.6.用户锁定
    • 18.7.MAC Jail 中的 Nagios
    • 18.8.MAC 框架的故障排除
  • 第19章 安全事件审计
    • 19.1.概述
    • 19.2.关键术语
    • 19.3.审计配置
    • 19.4.使用审计跟踪
  • 第20章 存储
    • 20.1.概述
    • 20.2.添加磁盘
    • 20.3.调整和增加磁盘大小
    • 20.4.USB 存储设备
    • 20.5.创建和使用 CD
    • 20.6.创建和使用 DVD
    • 20.7.创建和使用软盘
    • 20.8.备份的基础知识
    • 20.9.内存盘
    • 20.10.文件系统快照
    • 20.11.磁盘配额
    • 20.12.加密磁盘分区
    • 20.13.加密交换分区
    • 20.14.高可用性存储(HAST)
  • 第21章 GEOM: 模块化磁盘转换框架
    • 21.1.概述
    • 21.2.RAID0——条带
    • 21.3.RAID1——镜像
    • 21.4.RAID3——带有专用奇偶校验的字节级条带
    • 21.5.软件 RAID 设备
    • 21.6.GEOM Gate 网络设备
    • 21.7.为磁盘设备添加卷标
    • 21.8.通过 GEOM 实现 UFS 日志
  • 第22章 Z 文件系统(ZFS)
    • 22.1.是什么使 ZFS 与众不同
    • 22.2.快速入门指南
    • 22.3.zpool 管理
    • 22.4.zfs 管理
    • 22.5.委托管理
    • 22.6.高级主题
    • 22.7.更多资源
    • 22.8.ZFS 特性和术语
  • 第23章 其他文件系统
    • 23.1.概述
    • 23.2.Linux® 文件系统
    • 23.3.Windows® 文件系统
    • 23.4.MacOS® 文件系统
  • 第24章 虚拟化
    • 24.1.概述
    • 24.2.使用 macOS® 上的 Parallels Desktop 安装 FreeBSD
    • 24.3.使用 macOS® 上的 VMware Fusion 安装 FreeBSD
    • 24.4.使用 VirtualBox™ 安装 FreeBSD
    • 24.5.在 FreeBSD 上安装 VirtualBox™
    • 24.6.使用 FreeBSD 上的 QEMU 虚拟化
    • 24.7.使用 FreeBSD 上的 bhyve 虚拟机
    • 24.8.基于 FreeBSD 的 Xen™ 虚拟机
  • 第25章 本地化——i18n/L10n 的使用和设置
    • 25.1.概述
    • 25.2.使用本地化
    • 25.3.寻找 i18n 应用程序
    • 25.4.特定语言的区域配置
  • 第26章 FreeBSD 更新与升级
    • 26.1.概述
    • 26.2.更新 FreeBSD
    • 26.3.更新 Bootcode
    • 26.4.更新文档
    • 26.5.追踪开发分支
    • 26.6.从源代码更新 FreeBSD
    • 26.7.多台机器的追踪
    • 26.8.在非 FreeBSD 主机上进行构建
  • 第27章 DTrace
    • 27.1.概述
    • 27.2.实现上的差异
    • 27.3.开启 DTrace 支持
    • 27.4.启用内核外部模块 DTrace
    • 27.5.使用 DTrace
  • 第28章 USB 设备模式/USB OTG
    • 28.1.概述
    • 28.2.USB 虚拟串行端口
    • 28.3.USB 设备模式网络接口
    • 28.4.USB 虚拟存储设备
  • 第四部分:网络通讯
  • 第29章 串行通信
    • 29.1.概述
    • 29.2.串行术语和硬件
    • 29.3.终端
    • 29.4.拨入服务
    • 29.5.拨出服务
    • 29.6.设置串行控制台
  • 第30章 PPP
    • 30.1.概述
    • 30.2.配置 PPP
    • 30.3.PPP 连接的故障排除
    • 30.4.使用以太网 PPP(PPPoE)
    • 30.5.使用 ATM 上的 PPP (PPPoA)
  • 第31章 电子邮件
    • 31.1.概述
    • 31.2.邮件组件
    • 31.3.DragonFly 邮件代理(DMA)
    • 31.4.Sendmail
    • 31.5.修改邮件传输代理
    • 31.6.邮件用户代理
    • 31.7.高级主题
  • 第32章 网络服务器
    • 32.1.概述
    • 32.2.inetd 超级服务器
    • 32.3.网络文件系统(NFS)
    • 32.4.网络信息系统(NIS)
    • 32.5.轻型目录访问协议(LDAP)
    • 32.6.动态主机设置协议(DHCP)
    • 32.7.域名系统(DNS)
    • 32.8.零配置网络(mDNS/DNS-SD)
    • 32.9.Apache HTTP 服务器
    • 32.10.文件传输协议(FTP)
    • 32.11.用于 Microsoft® Windows® 客户端的文件和打印服务(Samba)
    • 32.12.用 NTP 进行时钟同步
    • 32.13.iSCSI target 和 initiator 的配置
  • 第33章 防火墙
    • 33.1.概述
    • 33.2.防火墙的概念
    • 33.3.PF
    • 33.4.IPFW
    • 33.5.IPFILTER(IPF)
    • 33.6.Blacklistd
  • 第34章 高级网络
    • 34.1.概述
    • 34.2.网关和路由
    • 34.3.虚拟主机
    • 34.4.无线高级身份验证
    • 34.5.无线自组织(Ad-hoc)模式
    • 34.6.USB 网络共享
    • 34.7.蓝牙
    • 34.8.桥接
    • 34.9.链路聚合与故障转移
    • 34.10.使用 PXE 进行无盘操作
    • 34.11.共用地址冗余协议(CARP)
    • 34.12.VLAN
  • 第五部分:附录
  • 附录 A.获取 FreeBSD
    • A.1.镜像站
    • A.2.使用 Git
    • A.3.使用 Subversion
    • A.4.光盘
  • 附录 B.书目
    • B.1.FreeBSD 相关书籍
    • B.2.安全性参考文献
    • B.3.UNIX 历史
    • B.4.期刊与杂志
  • 附录 C.网络资源
    • C.1.网站
    • C.2.邮件列表
    • C.3.Usenet 新闻组
  • 附录 D.OpenPGP 密钥
    • D.1.官方成员
  • 术语表
  • 后记
由 GitBook 提供支持

FreeBSD 中文社区

在本页
  • 3.3.1. 账户类型
  • 3.3.1.1. 系统账户
  • 3.3.1.2. 用户账户
  • 3.3.1.3. 超级用户账户
  • 3.3.2. 管理账户
  • 3.3.2.1. 添加用户
  • 3.3.2.2. 删除用户
  • 3.3.2.3. 更改用户信息
  • 3.3.2.4. 更改用户密码
  • 3.3.2.5. 创建、删除、修改和显示系统用户与组
  • 3.3.3. 管理用户组

这有帮助吗?

在GitHub上编辑
导出为 PDF
  1. 第3章 FreeBSD 基础

3.3.用户和基本账户管理

FreeBSD 允许多个用户同时使用计算机。尽管同一时间只能有一个用户坐在屏幕前使用键盘,但任意数量的用户都可以通过网络登录系统。为了使用系统,每位用户都应拥有自己的用户账户。

本章将介绍:

  • FreeBSD 系统中不同类型的用户账户;

  • 如何添加、删除和修改用户账户;

  • 如何设置资源访问限制,以控制用户和用户组的权限;

  • 如何创建用户组,并将用户添加为组成员。

3.3.1. 账户类型

由于访问 FreeBSD 系统的所有操作都必须通过账户完成,且所有进程均由用户启动,因此用户与账户管理至关重要。

FreeBSD 中主要有三类账户:系统账户、用户账户,以及超级用户账户。

3.3.1.1. 系统账户

系统账户用于运行诸如 DNS、邮件和 Web 服务器等服务。这样做的原因是出于安全考虑;如果所有服务都以超级用户身份运行,它们将可以不受限制地执行操作。

系统账户的例子如 daemon、operator、bind、news 和 www。

nobody 是一个通用的非特权系统账户。然而,使用 nobody 的服务越多,该用户关联的文件和进程就越多,从而其潜在权限也逐渐提升。

3.3.1.2. 用户账户

用户账户是分配给真实用户的,用于登录和使用系统。每位访问系统的人都应拥有一个唯一的用户账户。这样可以使管理员了解每位用户的操作,并防止用户之间相互干扰配置。

每位用户可以通过配置默认 shell、编辑器、按键绑定和语言设置等方式,设置适合自己的系统使用环境。

FreeBSD 系统中的每个用户账户都包含以下信息:

密码 每个账户都需要设置密码。

用户 ID(UID) 用户 ID 是用于在 FreeBSD 系统中唯一标识该用户的数字。支持用户名参数的命令会首先将其转换为 UID。建议使用小于 65535 的 UID,因部分软件可能对更大的 UID 兼容性不佳。

组 ID(GID) 组 ID 是用于唯一标识用户所属主要用户组的数字。组是一种机制,通过 GID(而非 UID)来控制对资源的访问。这可显著减小部分配置文件的体积,并允许用户同时属于多个组。建议使用不超过 65535 的 GID,因更高的 GID 可能会导致某些软件运行异常。

密码变更时间 默认情况下,密码不会过期。但也可以为每个用户单独启用密码过期策略,强制其在一段时间后更改密码。

用户全名 用户名是 FreeBSD 用于识别账户的唯一标识,但不一定反映用户的真实姓名。类似注释字段,该信息可以包含空格、大写字符,并超过八个字符。

家目录 家目录是系统中某个目录的完整路径,是用户登录系统后的起始位置。通常的做法是将所有用户的家目录放在 /home/用户名 或 /usr/home/用户名 下。用户可在其家目录中存储个人文件和子目录。

用户 shell shell 是用户与系统交互的默认环境。存在多种 shell 类型,有经验的用户通常会有自己的偏好,可以通过账户设置进行配置。

3.3.1.3. 超级用户账户

超级用户账户通常称为 root,用于以无限制权限管理系统。因此,不应将其用于日常任务,例如收发邮件、浏览系统和编程。

与其他用户账户不同,超级用户可以无所限制地操作系统,若误用可能造成严重后果。普通用户的权限则受限,不太可能意外破坏整个系统。因此建议用户使用普通账户进行日常操作,仅在某个命令需要额外权限时再切换为超级用户。

使用超级用户身份执行命令时应三思而后行,多次确认命令内容,因为一个多余的空格或漏掉的字符都可能导致数据无法恢复。

获取超级用户权限有多种方式。虽然可以直接以 root 身份登录,但强烈不推荐这么做。

下面的示例中,用户仅为了运行 make install 而临时切换为超级用户。完成后,输入 exit 即可退出超级用户身份并返回普通用户权限。

示例 1:以超级用户身份安装程序

% configure
% make
% su -
Password:
# make install
# exit
%

3.3.2. 管理账户

表 1. 管理用户账户的工具

命令
概要

推荐用于添加新用户的命令行应用程序。

推荐用于删除用户的命令行应用程序。

用于更改用户数据库信息的灵活工具。

用于更改用户密码的命令行工具。

可修改用户账户所有方面的强大灵活工具。

带有账户管理支持的系统配置工具。

3.3.2.1. 添加用户

示例 2. 在 FreeBSD 上添加用户

# adduser

输出应类似如下:

Username: jru
Full name: J. Random User
Uid (Leave empty for default):   # UID(留空以使用默认值)
Login group [jru]:               # 登录组
Login group is jru. Invite jru into other groups? []: wheel
Login class [default]:          # 登录类
Shell (sh csh tcsh zsh nologin) [sh]: zsh
Home directory [/home/jru]:     # home 目录
Home directory permissions (Leave empty for default):  # home 目录权限(留空使用默认)
Use password-based authentication? [yes]:             # 使用基于密码的认证?
Use an empty password? (yes/no) [no]:                 # 使用空密码?
Use a random password? (yes/no) [no]:                 # 使用随机密码?
Enter password:                 # 输入密码
Enter password again:          # 再次输入密码
Lock out the account after creation? [no]:            # 创建后锁定账户?
Username   : jru
Password   : ****
Full Name  : J. Random User
Uid        : 1001
Class      :
Groups     : jru wheel
Home       : /home/jru
Shell      : /usr/local/bin/zsh
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (jru) to the user database.
Add another user? (yes/no): no
Goodbye!

注意

由于输入密码时不会回显,请在创建用户账户时小心不要输错密码。

3.3.2.2. 删除用户

  1. 向该用户的所有进程发送 SIGKILL 信号。

  2. 从系统本地密码文件中删除该用户。

  3. 删除该用户的 home 目录(如果其归用户所有),包括处理通往实际 home 目录路径中的符号链接。

  4. 从 /var/mail 中删除属于该用户的邮件文件。

  5. 从 /tmp、/var/tmp 和 /var/tmp/vi.recover 中删除所有属于该用户的文件。

  6. 删除该用户拥有的所有消息队列、共享内存段和信号量。

默认情况下,该命令以交互模式运行,如下所示:

示例 3. rmuser 交互式删除账户

# rmuser jru

输出应类似如下:

Matching password entry:
jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh
Is this the entry you wish to remove? y
Remove user's home directory (/home/jru)? y
Removing user (jru): mailspool home passwd.

3.3.2.3. 更改用户信息

注意

除非以超级用户身份运行,否则该工具在退出编辑器时会提示输入用户密码。

示例 4. 以超级用户身份使用 chpass

# chpass jru

输出应类似如下:

# 修改 jru 的账户信息数据库
Login: jru
Password: *
Uid [#]: 1001
Gid [# or name]: 1001
Change [month day year]:       # 密码更改日期
Expire [month day year]:       # 账户过期日期
Class:
Home directory: /home/jru
Shell: /usr/local/bin/zsh
Full Name: J. Random User
Office Location:               # 办公地点
Office Phone:                  # 办公电话
Home Phone:                    # 家庭电话
Other information:             # 其他信息

示例 5. 以普通用户身份使用 chpass

# 修改 jru 的账户信息数据库
Shell: /usr/local/bin/zsh
Full Name: J. Random User
Office Location:               # 办公地点
Office Phone:                  # 办公电话
Home Phone:                    # 家庭电话
Other information:             # 其他信息

3.3.2.4. 更改用户密码

示例 6. 更改自己的密码

% passwd

输出应类似如下:

Changing local password for jru.
Old password:                  # 输入旧密码
New password:                  # 输入新密码
Retype new password:           # 再次输入新密码
passwd: updating the database...
passwd: done

超级用户可以通过指定用户名来更改任意用户的密码。以超级用户身份运行该工具时,不会提示输入当前密码。这可用于用户忘记原密码时更改密码。

示例 7. 以超级用户身份更改其他用户密码

# passwd jru

输出应类似如下:

Changing local password for jru.
New password:                  # 输入新密码
Retype new password:           # 再次输入新密码
passwd: updating the database...
passwd: done

3.3.2.5. 创建、删除、修改和显示系统用户与组

3.3.3. 管理用户组

一个用户组是一组用户的列表。一个用户组通过其组名和 GID 来标识。在 FreeBSD 中,内核通过进程的 UID 和其所属的用户组列表来判断该进程被允许执行哪些操作。在大多数情况下,某个用户或进程的 GID 通常指的是该列表中的第一个用户组。

警告

使用 operator 用户组时必须格外小心,因为这可能会授予意想不到的类似超级用户的权限,包括但不限于关机、重启,以及访问该组在 /dev 中的所有条目。

# pw groupadd teamtwo
# pw groupshow teamtwo

输出应类似如下:

teamtwo:*:1100:

在这个例子中,1100 是 teamtwo 的 GID。此时,teamtwo 还没有成员。以下命令将会添加 jru 作为 teamtwo 的成员。

# pw groupmod teamtwo -M jru
# pw groupshow teamtwo

输出应类似如下:

teamtwo:*:1100:jru
# pw groupmod teamtwo -m db
# pw groupshow teamtwo

输出应类似如下:

teamtwo:*:1100:jru,db

在这个例子中,传递给 -m 的参数是一个以逗号分隔的用户列表,这些用户将被添加进组中。与前一个示例不同,这些用户是追加添加的,并不会替换已有用户。

% id jru

输出应类似如下:

uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)

在这个例子中,jru 是 jru 和 teamtwo 这两个用户组的成员。

上一页3.2.虚拟控制台和终端下一页3.4.权限

最后更新于6天前

这有帮助吗?

用户名 用户名是在 login: 提示符处输入的标识。每个用户必须拥有唯一的用户名。创建合法用户名的规则详见 。建议使用不超过八个字符且全部小写的用户名,以保持对旧应用程序的兼容性。

登录类(Login class) 登录类是组机制的扩展,用于在面向不同用户时提供更大的灵活性。相关内容将在 中进一步讨论。

账户过期时间 FreeBSD 默认不会使账户过期。如需创建具有使用期限的账户(例如学校中的学生账户),可使用 命令指定账户过期时间。若过期,该账户将无法登录,但其目录和文件仍会保留。

更好的方式是使用 命令切换为超级用户。如果在执行时指定了 - 参数,用户还会继承 root 用户的环境。执行此命令的用户必须属于 wheel 组,否则命令会失败。此外,还必须知道 root 用户的密码。

内建的 框架适合单一系统或由一位管理员管理的小型网络。另一个选择是安装 软件包或 port。该软件支持操作记录,并允许管理员配置哪些用户可以以超级用户身份运行哪些命令。

FreeBSD 提供了多种不同的命令来管理用户账户。最常用的命令已在 中总结,后面还附有一些使用示例。更多细节和使用示例请参考每个工具的手册页。

推荐使用的添加新用户的程序是 。添加新用户时,此程序会自动更新 /etc/passwd 和 /etc/group。它还会为新用户创建 home 目录,从 /usr/share/skel 复制默认配置文件,并可选地向新用户发送一封欢迎邮件。此工具必须由超级用户运行。

是交互式的,会逐步引导创建新用户账户。如 所示,输入所需信息或按 Return 接受方括号中的默认值。在此示例中,用户被邀请加入 wheel 组,使其可以通过 成为超级用户。完成后,该工具会提示是创建另一个用户还是退出。

要从系统中彻底删除某用户,请以超级用户身份运行 。该命令会执行以下步骤:

删除该用户的 项(若有)。

删除该用户的所有 任务。

从 /etc/group 中所有该用户所属的组中移除用户名。(如果某个组为空,且组名与用户名相同,则该组也会被删除;这是对 为每个用户创建唯一组的补充。)

不能用于删除超级用户账户,因为这几乎总是意味着严重破坏。

所有用户都可以使用 更改其默认 shell 和账户的个人信息。超级用户可以用此工具更改任意用户的额外账户信息。

若不带参数(或仅带可选用户名), 会显示一个编辑器用于更改用户信息。用户退出编辑器时,用户数据库将更新为新的信息。

在 一节中,超级用户输入了 chpass jru,正在查看可更改的字段。若 jru 自己运行该命令,仅会显示后六个字段供编辑。这在 中展示。

与 是 的链接命令,、 和 也是。由于 NIS 支持是自动的,无需在命令前加 yp。NIS 配置方法见 。

任何用户都可以使用 轻松更改密码。为防止意外或未经授权的更改,该命令在设置新密码前会提示输入原密码:

与 一样, 也是 的链接命令,因此 NIS 与这两个命令都兼容。

工具可用于创建、删除、修改和显示用户与组。它是系统用户和组文件的前端。 提供了非常强大的命令行选项,适合用于 shell 脚本,但对于新用户来说可能比本节中的其他命令更复杂。

组名与 GID 的映射关系记录在 /etc/group 中。这个文件是一个纯文本文件,包含四个用冒号分隔的字段。第一个字段是组名,第二个字段是加密密码,第三个字段是 GID,第四个字段是成员的逗号分隔列表。完整的语法描述请参考 。

超级用户可以使用文本编辑器修改 /etc/group,不过建议使用 进行编辑,因为它可以捕捉一些常见错误。另一种方式是使用 来添加和编辑用户组。例如,要添加一个名为 teamtwo 的用户组并确认其存在:

示例 8:使用 添加用户组

示例 9:使用 将用户账户添加到一个新用户组中

传递给 -M 的参数是一个以逗号分隔的用户列表,用于添加到一个新的(空的)用户组中,或者用于替换现有用户组的全部成员。对用户而言,这种组成员资格不同于密码文件中列出的主用户组(且是额外的)。这意味着使用 的 groupshow 时不会显示该用户,但通过 或类似工具查询信息时则会显示。当使用 将用户添加到组中时,它仅操作 /etc/group,不会从 /etc/passwd 读取其他数据。

示例 10:使用 向组中添加新成员

示例 11:使用 来判断用户组成员资格

关于该命令和 /etc/group 格式的更多信息,请参阅 和 。

passwd(5)
配置登录类
pw(8)
su(1)
su(1)
security/sudo
管理用户账户的工具
adduser(8)
adduser(8)
在 FreeBSD 上添加用户
su(1)
rmuser(8)
crontab(1)
at(1)
adduser(8)
rmuser(8)
chpass(1)
chpass(1)
以超级用户身份使用 chpass
以普通用户身份使用 chpass
chfn(1)
chsh(1)
chpass(1)
ypchpass(1)
ypchfn(1)
ypchsh(1)
网络服务器
passwd(1)
chpass(1)
yppasswd(1)
passwd(1)
pw(8)
pw(8)
group(5)
vigr(8)
pw(8)
pw(8)
pw(8)
pw(8)
id(1)
pw(8)
pw(8)
id(1)
pw(8)
group(5)
adduser(8)
rmuser(8)
chpass(1)
passwd(1)
pw(8)
bsdconfig(8)