pw是一个用来创建、删除、修改、显示用户和组的命令行工具。它还有系统用户和组文件编辑器的功能。
1.pw命令格式:
1.1组管理
1.1.1组添加
pw [-V etcdir] groupadd [group|gid] [-C config] [-q] [-n group] [-g gid]
[-M members] [-o] [-h fd | -H fd] [-N] [-P] [-Y]
1.1.2组删除
pw [-V etcdir] groupdel [group|gid] [-n name] [-g gid] [-Y]
1.1.3组更改
pw [-V etcdir] groupmod [group|gid] [-C config] [-q] [-n name] [-g gid]
[-l name] [-M members] [-m newmembers] [-h fd | -H fd] [-N] [-P] [-Y]
1.1.4组显示
pw [-V etcdir] groupshow [group|gid] [-n name] [-g gid] [-F] [-P] [-a]
1.1.5 显示可建新组ID
pw [-V etcdir] groupnext [-C config] [-q]
1.2用户管理
1.2.1(1) 用户添加
pw [-V etcdir] useradd [name|uid] [-C config] [-q] [-n name] [-u uid] [-c comment]
[-d dir] [-e date] [-p date] [-g group] [-G grouplist] [-m] [-k dir]
[-w method] [-s shell] [-o] [-L class] [-h fd | -H fd] [-N] [-P] [-Y]
1.2.1(2)用户添加
pw [-V etcdir] useradd [name|uid] -D [-C config] [-q] [-b dir] [-e days]
[-p days] [-g group] [-G grouplist] [-k dir] [-u min,max] [-i min,max]
[-w method] [-s shell] [-y path]
1.2.2 用户删除
pw [-V etcdir] userdel [name|uid] [-n name] [-u uid] [-r] [-Y]
1.2.3 用户更改
pw [-V etcdir] usermod [name|uid] [-C config] [-q] [-n name] [-u uid] [-c comment]
[-d dir] [-e date] [-p date] [-g group] [-G grouplist] [-l name] [-m] [-k dir]
[-w method] [-s shell] [-L class] [-h fd | -H fd] [-N] [-P] [-Y]
1.2.4 显示用户
pw [-V etcdir] usershow [name|uid] [-n name] [-u uid] [-F] [-P] [-7] [-a]
1.2.5 可新建的用户ID
pw [-V etcdir] usernext [-C config] [-q]
1.2.6 锁定用户
pw [-V etcdir] lock [name|uid] [-C config] [-q]
1.2.7 用户解锁
pw [-V etcdir] unlock [name|uid] [-C config] [-q]
1.3常用选项解释
1.3.1用户操作时常用选项
[-V etcdir]
默认当新增组和用户时使用/etc/pw.conf作为pw配置文件,也可以指到别的文件上。pw.conf这个文件可以不存在。当使用这个参数时,需要使
用-C config
[-C config]
[-q] 在交互式环境中,这个选项使pw支持输出错误信息
[-N] 在添加和更改操作时输出结果,而不真正改变组和用户信息。
[-Y] 自动更新yp数据库。
[-n name] 指定用户名
[-u uid]指定用户id(ps:好像没什么用)
[-c comment]用户全称等注释信息(ps:没什么用)
[-d dir] 指定用户家目录
[-e date]帐号到期时间,时间格式可以是绝对的日-月-年,2为数字年或4位数字年,月可以是数字或英文月份的简写('Jan', 'Feb', etc);也
可以是相对时间,+n[分时天周月年],n可以是十进制、八进制[0开头]或十六进制[0x开头]。
[-p date]密码到期时间,时间格式同上。
[-g group]指定组(组名或组id)。
[-G grouplist]指定组列表,组以空格分开,如:-G wheel mysql teczm即把某账号置于这三个组内。
[-L class]在用户创建时指定登录等级。
[-m] 自动创建用户家目录
[-s shell]指定用户shell
[-w method]method包括:
no 新创建的账号禁止登录
yes 强制新建账号密码和账号一样(ps:这样不安全)
none 强制新建账号使用空密码(ps:这样不安全)
random 生成一个随机密码
ps:pw useradd username -g tests -d /home/test -s /bin/sh -h 0
增加参数 -h 0 可以出来password for user username:这样的提示来让你设定username的密码
1.3.2组操作时常用选项
[-M memberlist] 将用户置于组内,会替换掉已经存在的用户
[-m newmembers] 添加新用户到组内,不会替换掉已经存在的用户
示例:
1.新建一个用户bsder使用cshell,家目录为[color]/home/bsder[/color],属于组[color]wheel[/color],口令交互输入
#pw useradd bsder -s /bin/csh -d /home/bsder -m -g wheel -h 0
2.将bsder使用的shell改为/bin/sh
#pw usermod bsder -s /bin/sh
3.将bsder置于test组内
#pw groupmod test -m bsder
4.锁定bsder用户帐号
#pw lock bsder
5.对bsder账号解锁
#pw unlock bsder
6.显示bsder用户属性
#pw usershow bsder