FreeBSD 用户组

发布于 2024-11-29 21:11:29 字数 4620 浏览 2 评论 0

在 FreeBSD 中,用户和组统一用 pw 命令管理:

创建一个 admin 分组,并添加 yklaroot 两位用户:

# pw groupadd admin
# pw groupmod admin -m ykla root

创建一个 wheel 分组,只添加 root 用户:

# pw groupadd wheel
# pw groupmod wheel -m root

admin 组里移除用户 ykla

# pw groupmod admin -d ykla

删除 admin 用户组:

# pw groupdel admin

adminwheel 权限的区别:

  • admin ,具有管理系统的权限(sudo 的默认配置如此),可以使用 sudo 命令。
  • wheel ,超级管理员权限,可以任意修改系统(该名称来源于俚语 big wheel,意为大人物)。

用 pw 命令管理用户和组操作系统用户,或许叫账号更恰当,是操作人员登陆操作系统的凭证,如前面的自建用户;

而操作系统组,也可以简单理解为角色,限制了操作系统用户的基础权限。

子命令

useradd 命令,用于新建用户,常用参数:

  • -u,指定 uid,不指定则由操作系统根据已存在的 uid 自动生成。在某些情况下,例如从测试场推送文件到生产环境,由于 uid 不同,可能导致系统认为文件归属不同用户,从而导致错误,这种情况事先指定统一的 uid 会好些。
  • -c,注释,也可以理解为用户全名,登录桌面后显示的用户名即注释
  • -d,指定主目录,不指定则默认 /home/新建用户名 ,如 '/home/ykla'
  • -g,指定起始组,或者说指定主要角色,如果不指定则默认为与新建用户同名的组
  • -G,指定附加组,不指定就没有
  • -m,指定创建用户同时创建主目录,不指定则默认不创建主目录
  • -s,指定用户登陆后的 shell 环境,不指定则使用 /bin/sh ,FreeBSD 建议指定 /bin/csh ,如果想禁止用户登陆,可以指定 /usr/sbin/nologin
  • -h,指定输入设备以非交互状况下设置密码,通常设置参数为 0,代表 stdin,即系 统的标准输入
# pw useradd test1 #创建用户 test1,uid 系统默认,test1 组,登陆环境/bin/sh,主目录未创建
# pw useradd test2 -u 1200 -m -d /tmp/test -g test1 -G wheel -s csh -c test2 #创建用户 test2,uid 为 1200,创建主目录,主目录为/tmp/test,test1 组,有管理员权限,登陆环境/bin/csh,全名 test2 
# echo password | pw useradd test3 -h 0 #创建用户 test3,同时设置密码为 password

usermod 命令,用于修改用户信息,常用参数:

  • -l ,为用户改名 其他参数参考 useradd 子命令。
# pw usermod test1 -G wheel #为用户 test1 增加管理员权限 
# pw usermod test1 -l myuser #用户 test1 改名为 myuser 
# echo password | pw usermod test2 -h 0 #修改用户 test2 密码为 password

userdel 命令,用于删除用户,常用参数:

  • -r ,删除用户同时删除用户主目录及所有相关信息,不使用该参数则信息保留,仅删除用户
# pw userdel test2 -r

usershow 命令,用于显示用户信息,

# pw usershow test2

usernext 命令,返回下一个可用的 uid,

# pw usernext

lock 命令,锁定账号,锁定后账号无法登录使用,

# pw lock test2

unlock 命令,解锁账号,解锁后账号可以正常使用,

# pw unlock test2

groupadd 命令,用于新建组,常用参数:

-g,指定 gid,不指定则由操作系统根据已存在的 `gid` 自动生成
-M,指定组成员列表,多个用户用逗号隔开

示例:

# pw groupadd test -g 1200 #创建组 test,gid 为 1200,注意,gid 与 uid 不是一回事 
# pw groupadd test5 -M test1,test2 #创建组 test5,成员有 test1 和 test2

groupmod 命令,用于修改组信息,常用参数:

  • -g ,指定新的 gid
  • -l ,为组改名
  • -M ,替换现有组成员列表,多个用虎用逗号隔开
  • -m ,为现有组成员列表增加新的成员

其他参数参考 groupadd 命令。

# pw groupmod test -g 1300 #修改 test 组的 gid 为 1300 
# pw groupmod test -l mygroup 组 test 改名为 mygroup 
# pw groupmod test5 -M test1 #设置组 test5 的成员为 test1 
# pw groupmod test5 -m test3 #为组 test5 增加成员 test3

groupdel 命令,用于删除组,

# pw groupdel mygroup

groupshow 命令,用于显示组信息,

# pw groupshow test

groupnext 命令,返回下一个可用的 gid

# pw groupnext

其他用户管理命令

  1. adduser 命令,用于新建用户,与 pw 相比, useradd 的区别在于该命令是交互式的,安装操作系统时自建的用户,就是基于该命令创建的。
  2. rmuser 命令,用于删除用户,与 adduser 命令一样,也是交互式的。不过该命令带 -y 参数,并允许列出用户列表,
# rmuser -y test1 test2 #同时删除用户 test1 和 test2,
  1. -y 参数用于省略询问步骤

chpass 命令,以 vi 编辑器方式打开并修改指定用户信息,如不指定用户则默认为当前用户。

常用参数: -s,用于登录环境

# chpass -s csh test1 #更换用户 test1 的登陆环境为/bin/csh 
# chpass #以 vi 方式打开当前用户信息进行修改 d.passwd 命令,修改用户密码,如不指定用户则默认为当前用户。

示例: passwd 用户 #回车后根据系统提示设置用户密码

id 命令,查看用户 id 信息,包括用户 id 和起始组 id

# id # 查看当前用户 id 信息 
# id test1 # 查看用户 test1 的 id 信息
  1. whoami 命令,查看当前用户是谁。
  2. who 命令,查看当前用户登陆信息。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

慵挽

暂无简介

0 文章
0 评论
24 人气
更多

推荐作者

佚名

文章 0 评论 0

qq_Nk4xk9

文章 0 评论 0

mabiao

文章 0 评论 0

~~

文章 0 评论 0

坤阳

文章 0 评论 0

增幅人气の奥

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文