FreeBSD user/group管理
FreeBSD管理用户帐号的命令和Linux有些不同,这里做一些总结和实践记录
账户类型
系统账户: 系统账户用于运行诸如DNS,邮件和Web服务器等服务,主要是出于安全考虑避免使用超级用户身份运行
nobody
是一个通用的非特权系统账户;但是如果大量服务都以nobody
运行,则无形中该账户的特权也就越高
用户账户: 用户账户分配给真实的人,并用于登录和使用系统
Login class
: 登录分级是组(group)机制的扩展,提供了额外的灵活性Password change time
和Account expiration time
增强了账户安全性
超级用户账户: 超级用户账户通常被称为 root ,用于无限制地管理系统。因此,不应将其用于日常任务,如发送和接收邮件、系统的一般探索或编程。
通过
su
称为超级用户的用户帐号必须位于wheel
组,且必须知道root
帐号密码
帐号管理工具
adduser
交互命令创建帐号chpass
交互命令更改用户帐号配置rmuser
交互命令删除用户帐号(会同时删除用户的at,crontab作业,向用户拥有的所有进程发送SIGKILL信号,删除用户目录等,是非常干净的清理)
pw
超级帐号工具
pw
是FreeBSD环境超级强大的帐号管理工具,可以用来添加组,添加用户等等:
在jail内部创建admin
# 创建uid为1000的admin组
# 物理主机安装可以跳过,因为installer有一个交互步骤完成了这个工作
pw groupadd admin -g 501
# 创建admin用户
# 物理主机安装可以跳过,因为installer有一个交互步骤完成了这个工作
pw useradd admin -g 501 -u 501 -d /home/admin -m -s /bin/sh
# 将admin用户加入wheel组
pw groupmod wheel -m admin
# 为admin设置密码,不过不是必须的,可以设置ssh key登录
# 物理主机安装可以跳过,因为installer有一个交互步骤完成了这个工作
passwd admin
# 修改 /usr/local/etc/sudoers 设置wheel组用户(也就是admin)无需密码sudo
# %wheel ALL=(ALL:ALL) NOPASSWD: ALL
echo "%wheel ALL=(ALL:ALL) NOPASSWD: ALL" >> /usr/local/etc/sudoers
# 设置自动启动ssh
sysrc sshd_enable="YES"