「setenforce(8)」-

修改SELinux运行的模式
命令语法格式
setenforce [Enforcing|Permissive|1|0]
命令描述
使用Enforcing或者1来将SELinux设置为enforcing模式。 使用Permissive或者0来将SELinux设置为permissive模式。
如果SELinux被禁用并且您想要启用它,或者启用了SELinux并且您想要禁用它,请参阅selinux(8)。
相关手册
selinux(8), getenforce(8), selinuxenabled(8)
参考文献

man 8 setenforce, Version 2.8-1+b1

更新日志

10/17/2018 创建文章[……]

READ MORE

「mailq(1)」-

打印邮件队列
命令语法格式
mailq [-Ac] [-q…] [-v]
命令描述
命令Mailq打印排队等待将要发送的邮件的摘要。
为每条消息打印的:第一行显示了此主机上用于”具有可能状态字符的消息“的内部标识符,消息的大小(以字节为单位),消息被加入到队列中的日期和时间,信封的发送者。第二行显示导致此消息保留在队列中的错误消息;如果第一次处理消息,它将不会出现。状态字符为”*“表示正在处理作业;”X“表示负载太高而无法处理作业;”-“表明工作太年轻而无法处理。以下行显示邮件收件人,每行一个。
命令Mailq与“sendmail -bp”完全相同。
命令行选项
命令支持的选项如下:
-Ac 显示/etc/mail/submit.cf中指定的邮件提交队列,而不是/etc/mail/sendmail.cf中指定的MTA队列。
-qL 显示邮件队列中的“丢失”项,而不是正常的队列项。
-qQ 显示邮件队列中的隔离项,而不是正常的队列项。
-q[!]I substr 将已处理的作业限制为包含substr作为队列ID的子字符串的那些作业。如果指定”!“,则表示相反。
-q[!]Q substr 将已处理的作业限制为包含substr作为隔离原因的子字符串的隔离作业。如果指定”!“,则表示相反。
-q[!]R substr 将已处理的作业限制为包含substr作为其中一个收件人的子字符串的作业。如果指定”!“,则表示相反。
-q[!]S substr 将已处理的作业限制为包含substr作为发送者的子字符串的作业。如果指定”!“,则表示相反。
-v 打印详细信息。 这会添加消息的优先级和单个字符指示符(“+”或空白),指示是否已在消息的第一行发送警告消息。 另外,额外的行可以与指示“控制用户”信息的接收者混合;这表明谁将拥有代表此消息执行的任何程序以及此命令扩展的别名的名称(如果有)。此外,如果可用,则打印每个收件人的状态消息。
注意事项
多个sendmail.cf选项会影响mailq实用程序的行为:如果设置了该值,则每个队列组打印的项目数受MaxQueueRunSize限制。 除非使用-q选项限制已处理的作业,否则不会为QueueSortOrder的某些值(例如,filename, random, modification, none)打印状态字符”*“。
退出状态
0 成功
>0 失败
相关手册
sendmail(8)
参考文献

man 1 mailq, Version 8.15.2-12

更新日志

10/30/2018 创建文章[……]

READ MORE

「shadow」

主题:介绍Shadow软件包及其中的命令的简单介绍。
Shadow,该软件包中包含的程序与系统的密码处理有关,这些程序提供了一种处理密码的安全方式。
项目主页:https://github.com/shadow-maint/shadow
包含的命令列表
chage Used to change the maximum number of days between obligatory password changes
chfn Used to change a user’s full name and other information
chgpasswd Used to update group passwords in batch mode
chpasswd Used to update user passwords in batch mode
chsh Used to change a user’s default login shell
expiry Checks and enforces the current password expiration policy
faillog Is used to examine the log of login failures, to set a maximum number of failures before an account is blocked, or to reset the failure count
gpasswd Is used to add and delete members and administrators to groups
groupadd 使用给出的组名来创建新组。
groupdel Deletes the group with the given name
groupmems Allows a user to administer his/her own group membership list without the requirement of super user privileges.
groupmod Is used to modify the given group’s name or GID
grpck Verifies the integrity of the group files /etc/group and /etc/gshadow
grpconv Creates or updates the shadow group file from the normal group file
grpunconv Upd[……]

READ MORE

「chage(1)」-

修改用户密码过期时间
命令语法格式
chage [options] LOGIN
命令描述
命令chage修改密码更改日期与上次密码更改日期之间的天数。系统使用这些信息来确定用户何时必须更改其密码。
如果未使用任何选项,则命令chage会以交互的方式运行,并提示用户所有字段的当前值,当前值显示在一对方括号([])中。输入新值来更改字段,或留空表示使用原值。
参数LOGIN指定了帐号,是一个必传参数。
命令支持的选项及含义
命令change支持如下的选项:
帐号时效
-E, –expiredate EXPIRE_DATE 设置用户账户过期日期。如果账户过期,则用户将无法访问。参数EXPIRE_DATE的格式为YYYY-MM-DD,或使用当前区域比较通用的格式。参数EXPIRE_DATE也可以是一个整数数值,从1970-01-01算起的天数。如果EXPIRE_DATE为-1,将移除帐号的失效日期。
如果帐号无法访问或者被锁定,只能联系管理员。
密码时效
-d, –lastday LAST_DAY 修改上次的密码修改时间。参数LAST_DAY的格式为YYYY-MM-DD,或这当前区域比较通用的格式。参数LAST_DAYS也可以是一个整数数值,从1970-01-01算起的天数。
-M, –maxdays MAX_DAYS 设置密码有效的天数。如果LAST_DAY加上MAX_DAYS小于当前时间,则在登录的时候会要求用户修改密码。该选项可以配合-W选项,在密码到期之前的几天内,向用户发出密码过期警告。如果MAX_DAYS为-1,将移除密码有效性检查。
-W, –warndays WARN_DAYS 设置在需要更改密码之前的警告天数。参数WARN_DAYS是一个在密码到期之前的天数,在该天数内用户将被警告密码即将过期。
如果将该值设置为-1,将禁用密码过期警告。
-I, –inactive INACTIVE 在帐户锁定之前,设置密码过期后不活动的天数。INACTIVE选项是不活动的天数。如果帐号无法访问或者被锁定,只能联系管理员。
通常,如果密码已过期,则用户在下次登录时必须更改密码。 您还可以设置其他条件,在密码过期后,如果用户在10天从未尝试登录,您可以使用选项-I自动锁定其帐户,如下所示,“密码不活动”日期设置为从“密码过期”值开始的10天:

# chage -I 10 dhinesh

如果INACTIVE为-1,将移除账户的不活动。
-m, –mindays MIN_DAYS 将两次密码更改之间的最小天数设置为MIN_DAYS天。此字段的值为零表示用户可以随时更改其密码,否则在MIN_DA[……]

READ MORE

「chfn(1)」-

修改用户名和信息
命令语法格式
chfn [options] [LOGIN]
命令描述
命令chfn更改用户帐户的用户全名、办公室房间号、办公室电话号码、家庭电话号码信息。该信息通常由finger(1)和类似程序打印。普通用户只能更改自己帐户的字段,但需遵守/etc/login.defs中的限制。(默认配置是阻止用户更改其全名。)超级用户可以更改任何帐户的任何字段。 此外,只有超级用户可以使用-o选项来更改GECOS字段的未定义部分。
这些字段不得包含任何冒号。除了其他字段,它们不应包含任何逗号或等号。 还建议避免使用非US-ASCII字符,但这对于电话号码是强制的。另一个字段用于存储其他应用程序使用的记帐信息。
其实,这些信息是存储在/etc/passwd文件中的GECOS字段(或者称为Comment字段,即倒数第三个字段)。
如果未指定任何选项,则命令chfn会以交互方式运行,提示用户当前所有字段的值,当前值显示在一对方括号([])之间,并提示输入新值以更改字段,或留空表示不进行就该。
参数LOGIN为帐号名,如果未指定,则为当前用户账户。
命令支持的选项及含义
命令chfn支持如下选项:
-f, –full-name FULL_NAME 修改用户全名。
-h, –home-phone HOME_PHONE 修改用户的电话号码。
-w, –work-phone WORK_PHONE 修改用户的办公电话号码。
-o, –other OTHER 修改用户的其他GECOS信息。这个字段用于存储其他应用程序使用的用户信息,并且只能由root用户修改。
-r, –room ROOM_NUMBER 修改用户的房间号。
-R, –root CHROOT_DIR 在CHROOT_DIR中应用更改,并使用CHROOT_DIR目录中的配置文件。
-u, –help 显示帮助并退出。
配置文件
在/etc/login.defs中的以下配置变量会改变chfn命令的行为:
CHFN_RESTRICT (string) 此参数指定使用chfn程序的普通用户可以更改/etc/passwd文件的GECOS字段中的哪些值。它的值可以是字母f,r,w,h的任意组合,分别代表了Full name, Room number, Work phone, Home phone。
为了向后兼容,“yes”等同于“rwh”,“no”等同于“frwh”。如果未指定,则只有超级用户可以进行任何更改。通过不设置chfn的SUID位可以更好地实现最严格的设置。
相关文件
/etc/passwd 用户帐户信息。
/etc/logi[……]

READ MORE

「chgpasswd(8)」-

批量更新组密码
命令语法格式
chgpasswd [options]
命令描述
命令chgpasswd从标准输入中读取一个组名和密码对的列表,并使用此信息更新一组现有组。每行的格式如下:

group_name:password

默认情况下,提供的密码必须是明文形式,并由chgpasswd加密。
可以使用/etc/login.defs的ENCRYPT_METHOD变量为系统定义默认加密算法,并且可以使用-e,-m,-c选项覆盖该算法。
此命令旨在用于一次创建许多帐户的大型系统环境中。
命令支持的选项及含义
命令chgpasswd支持如下选项:
-c, –crypt-method METHOD 使用指定的方法加密密码。如果你的libc支持这些方法,可用的METHOD是DES,MD5,NONE,SHA256,SHA512。
-s, –sha-rounds ROUNDS 使用指定的轮数加密密码。值为0表示系统将选择crypt方法的默认轮数(5000)。将强制执行最小值1,000和最大值999,999,999。您只能将此选项与SHA256或SHA512加密方法一起使用。
默认情况下,用PAM加密密码。
-e, –encrypted 告诉chgpasswd密码是加密的形式。
-m, –md5 当提供的密码未加密时,使用MD5加密,而不是DES。
默认情况下,轮数是由/etc/login.defs中的SHA_CRYPT_MIN_ROUNDS和SHA_CRYPT_MAX_ROUNDS变量定义。
-R, –root CHROOT_DIR 在CHROOT_DIR中应用更改,并使用CHROOT_DIR目录中的配置文件。
-h, –help 显示帮助信息并退出。
注意事项
请记住设置适当的权限或umask值,以防止其他用户对未加密文件的读取。
你要确认密码和加密方法符合系统的密码策略。
配置文件
在/etc/login.defs中的以下配置变量会影响命令chgpasswd的行为:
MAX_MEMBERS_PER_GROUP (number) 每组条目的最大成员数。达到最大值时,将在/etc/group中创建新的组条目(行),并具有相同的名称、相同的密码、相同的GID值。
该属性默认值为0,表示组中的成员数没有限制。
此功能(拆分组)允许限制group文件中的行长度。这有助于确保NIS组的行不超过1024个字符。
如果你需要强制执行此类限制,则可以使用25。
注意:并不是所有工具都支持拆分组,即使在Shadow软件包中也有些工具不支持。除非确实有必要,否[……]

READ MORE

「chpasswd(8)」-

批量更新密码
命令语法格式
chpasswd [options]
命令描述
命令chpasswd从标准输入中读取用户名和密码对的列表,并使用此信息更新一组现有用户。每行的格式如下:

username:password

默认情况下,密码必须以明文形式提供,并由chpasswd加密。密码时效也将更新(如果存在)。
默认情况下,密码由PAM加密,但(即使不推荐)您可以使用-e、-m、-c选项选择不同的加密方法。
除了使用PAM加密密码外,chpasswd首先更新​​内存中的所有密码,然后在没有任何错误发生的情况下将所有更改提交到磁盘。
当PAM用于加密密码(并更新系统数据库中的密码)时,如果密码无法更新,chpasswd将继续更新下一个用户的密码,并在退出时返回错误代码。
此命令旨在用于一次创建许多帐户的大型系统环境中。
命令支持的选项及含义
命令chpasswd支持如下选项:
-c, –crypt-method METHOD 使用指定的方法加密密码。如果你的libc支持这些方法,可用的METHOD是DES,MD5,NONE,SHA256,SHA512。
-s, –sha-rounds ROUNDS 使用指定的轮数加密密码。值为0表示系统将选择crypt方法的默认轮数(5000)。将强制执行最小值1,000和最大值999,999,999。您只能将此选项与SHA256或SHA512加密方法一起使用。
默认情况下,用PAM加密密码。
-e, –encrypted 告诉chpasswd密码是加密的形式。
-m, –md5 当提供的密码未加密时,使用MD5加密,而不是DES。
默认情况下,轮数是由/etc/login.defs中的SHA_CRYPT_MIN_ROUNDS和SHA_CRYPT_MAX_ROUNDS变量定义。
-R, –root CHROOT_DIR 在CHROOT_DIR中应用更改,并使用CHROOT_DIR目录中的配置文件。
-h, –help 显示帮助信息并退出。
注意事项
请记住设置适当的权限或umask值,以防止其他用户对未加密文件的读取。
配置文件
在/etc/login.defs中的以下配置变量会影响命令chpasswd的行为:
SHA_CRYPT_MIN_ROUNDS (number), SHA_CRYPT_MAX_ROUNDS (number) 当ENCRYPT_METHOD设置为SHA256或SHA512时,这两个配置项定义了默认情况下加密算法使用的SHA轮数(当命令行中未指定轮数(-s)时)。
当轮次有很多时,暴力破解密码会[……]

READ MORE

「chsh(8)」-

功能简述
修改登录 Shell
常用命令
允许或禁止 apache 用户登录:

chsh -s /bin/bash apache # 允许

chsh -s /sbin/nologin apache # 禁止

语法格式

chsh [options] [LOGIN]

命令描述
命令chsh更改用户登录Shell。这确定了用户初始登录命令的名称。
普通用户只能更改自己帐户的登录Shell;超级用户可以更改任何帐户的登录Shell。
命令行中的LOGIN参数用于指定要修改的用户。
命令选项
命令chsh支持如下的选项:
-s, –shell SHELL 用户的新登录 Shell 的名称。将此字段设置为空则系统会选择默认登录 Shell。
如果未指定-s选项,则命令chsh以交互方式运行,并提示用户当前正在使用的登录Shell。输入新值以更改原有的登录Shell,或留空则不做修改。当前的登录Shell显示在一对方括号([])之间。
-R, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-h, –help 显示帮助信息并退出。
注意事项
对由选项-s指定的登录Shell的唯一限制是必须存在于/etc/shells中,除非chsh的调用者是超级用户,然后可以添加任何值。
具有受限登录Shell的帐户可能不会更改其登录Shell。因此,不建议在/etc/shells中放置/bin/rsh,因为意外更改为受限制的Shell会阻止用户将其登录Shell更改回其原始值。
相关文件
/etc/passwd 用户账户信息。
/etc/shells 列出了可用的登录Shell。
/etc/login.defs 软件包Shadow中各个工具的配置文件,用于改变这些工具的行为。
相关手册
chfn(1), login.defs(5), passwd(5).
参考文献

man 1 chsh, Version shadow-utils 4.4
How to Block or Disable Normal User Logins in Linux[……]

READ MORE

「expiry(1)」-

检查或强制执行密码到期策略
命令语法格式
expiry option
命令描述
命令expiry检查(-c)当前密码是否到期,并在需要时强制(-f)用户更改。
普通用户也可以调用该命令。
命令支持的选项及含义
命令chsh支持如下的选项:
-h, –help 显示帮助信息并退出。
-c, –check 检查当前用户的密码是否到期。
-f, –force 如果当前用户的密码已经到期,则强制进行修改。
相关文件
/etc/passwd 用户账户信息。
/etc/shadow 安全的用户帐号信息。
相关手册
passwd(5), shadow(5).
参考文献

man 1 expiry, Version shadow-utils 4.4

更新日志

07/16/2018 创建文章[……]

READ MORE

「faillog(8)」-

显示失败日志记录或者设置登录失败限制
命令语法格式
faillog [options]
命令描述
命令faillog显示失败日志数据库的内容(/var/log/faillog)。它还可以设置失败计数和失败次数限制。
当在没有指定参数的情况下运行faillog时,它只显示具有登录失败的用户的记录。
命令支持的选项及含义
命令faillog支持如下选项:
-h, –help 显示帮助信息并退出。
-R, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
指定操作的用户
-u, –user LOGIN|RANGE 如果与-l、-m、-r选项一起使用,仅显示指定用户的faillog记录或着维护的失败计数器和失败限制。参数可以是登录名、数字用户ID、用户ID范围。
范围可以是最小值和最大值(UID_MIN-UID_MAX)、最大值(-UID_MAX)、最小值(UID_MIN-)指定此RANGE用户。如下示例:

# faillog -u 12-
# faillog -u -0
# faillog -u 100-400

第一条命令将打印用户ID大于等于12的记录;第二条命令将只打印属于root的记录,因为小于等于0的只有root;第三条命令将打印用户ID介于100到400之间的记录。
-a, –all 显示或作用于在faillog数据库中具有条目的所有用户的失败日志记录。可以使用-u选项可以指定一个范围内的用户。
在显示模式中,这仍然仅限于现有用户,但强制显示faillog条目,即使它们是空的。
使用-l,-m,-r,-t选项,即使用户在系统上不存在,也会更改用户的记录。这对于重置已删除的用户的记录或预先为一系列范围内的用户设置策略很有用。
记录显示控制
-t, –time DAYS 显示DAYS天以内的记录。
重置计数和限制的选项
如果未使用-l、-m、-r选项,则命令faillog将显示指定(或全部)用户的失败日志记录。这三个选项用于重置计数器、限制失败登录次数,要求faillog命令对/var/log/filelog文件具有写入权限。
-l, –lock-secs SEC 登录失败后,锁定帐户SEC秒。
-m, –maximum MAX 设置最大登录失败次数。当登录失败次数达到MAX指定的值时,将禁用帐户。将MAX的值设置为零,将不对登录失败次数进行限制。
注意,对于root账户,该值应始终为0,以防止对系统的DDOS攻击。
-r, –reset 重置登录失败计数器。
注[……]

READ MORE

「gpasswd(1)」-

设置组管理员与组成员
命令语法格式
gpasswd [option] group
命令描述
命令gpasswd用于管理/ etc / group和/ etc / gshadow文件。 每个组都可以拥有管理员、成员、密码。
系统管理员可以使用-A选项定义组管理员,使用-M选项定义成员。管理员拥有组管理员和成员的所有权限。
具有组权限的组管理员执行的gpasswd命令时,仅提示输入该组的新密码。
如果设置了组密码,则组成员仍然可以在没有密码的情况下使用newgrp(1)命令,但是非组内成员必须提供密码。
关于组密码的注意事项
组密码是一个固有的安全问题,因为允许多个人知道密码。但是,组是允许不同用户之间合作的有用工具。
命令支持的选项及含义
命令gpasswd支持如下的选项:
-a, –add user 添加一个用户到指定的组group中。
-d, –delete user 从指定的组group中,删除一个用户。
-r, –remove-password 删除指定的组group中的密码。此时,组密码将为空。只有组成员被允许使用newgroup(1)来改变当前组。
-R, –restrict 限制对指定组group的访问。该命令将组密码设置为“!”。只允许具有密码的组成员使用newgrp加入指定的组。
-A, –administrators user,… 设置组管理员用户。
-M, –members user,… 设置组成员用户。
-Q, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-h, –help 显示帮助信息并退出。
注意,除了-A与-M选项,剩余的选项不能结合使用。
注意事项
该命令只操作/etc/group和/etc/gshadow文件,因此不能修改NIS和LDAP中的组,必须在相应的服务器上操作。
配置文件
在/etc/login.defs中的以下配置变量会影响命令chgpasswd的行为:
ENCRYPT_METHOD (string) 定义了用于加密密码的系统默认加密算法(如果在命令行上未指定加密算法时使用)。它可以采用的值有:DES(默认),MD5,SHA256,SHA512。
注意:此参数会覆盖MD5_CRYPT_ENAB变量。
注意:这仅影响组密码的生成。用户密码的生成由PAM完成,并受PAM配置的约束。建议PAM配置与此变量保持一致。
MAX_MEMBERS_PER_GROUP (number) 每组条目的最大成员数。达到最大值时,将在/etc/g[……]

READ MORE

「groupadd(8)」-

创建一个新组
命令语法格式
groupadd [options] group
命令描述
命令groupadd使用命令行中指定的参数值以及系统设置的默认值来创建新的组帐户。新组将根据需要进入系统文件。
命令支持的选项及含义
命令groupadd支持如下的选项:
-f, –force 如果指定的组已存在,则此选项会强制命令groupadd以成功状态退出。当与-g一起使用时,如果指定的GID已经存在,选择另一个唯一的GID值,即关闭-g选项。
-g, –gid GID 数值类型的GID。除非使用了-o选项,否则此值必须是唯一的。该值必须是非负数。默认设置是使用大于或等于GID_MIN的最小ID值,并比其他所有GID都大。
-o, –non-unique 该选项允许命令groupadd添加一个GID不唯一的组。
另请参阅-r选项和GID_MAX描述。
-r, –system 创建一个系统组。关于什么是系统组及与普通组的区别,参考「What is a “system” group, as opposed to a normal group?」。
新创建的系统组的GID在login.defs中定义的SYS_GID_MIN-SYS_GID_MAX范围内进行选择,而不是GID_MIN-GID_MAX。
-K, –key KEY=VALUE 覆盖/etc/login.defs中的默认值,比如GID_MIN、GID_MAX等等。可以指定多个-K选项,比如-K GID_MIN=100 -K GID_MAX=499。
注意,目前还不支持-K GID_MIN=10,GID_MAX=499这种格式。
-p, –password PASSWORD 加密的密码,由crypt(3)返回。默认设置是禁用密码的。
注意:建议不要使用此选项,因为列出进程的用户可以看到密码(或加密密码)。你应该确保密码符合系统的密码策略。关于组密码的用途,或者说为什么组密码为什么用途不大可以参考「Typical use case for a group password」一文。
-R, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-h, –help 显示帮助信息并退出。
配置文件
在/etc/login.defs中的以下配置变量会影响命令groupadd的行为:
GID_MAX (number), GID_MIN (number) 限制了由命令useradd、groupadd、newusers创建的普通组的GID范围。
参数GID_MIN的默认值为1000,相应的GID[……]

READ MORE

「groupdel(8)」-

删除一个组
命令语法格式
groupdel [options] GROUP
命令描述
命令groupdel修改系统帐户文件,删除所有引用GROUP的条目。命名组必须存在。
命令支持的选项及含义
命令groupdel支持的选项如下:
-R, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-h, –help 显示帮助选项并退出。
注意事项
无法删除一个存在用户的基本组(Primary Group)。在删除组之前必须先删除用户,至少是解除二者之间的关系。
你可能需要手动进行检查,以确认文件系统中没有剩余属于该组的文件。
配置文件
在/etc/login.defs中的以下配置变量会影响命令groupadd的行为:
MAX_MEMBERS_PER_GROUP (number) 每组条目的最大成员数。达到最大值时,将在/etc/group中创建新的组条目(行),并具有相同的名称、相同的密码、相同的GID值。
该属性默认值为0,表示组中的成员数没有限制。
此功能(拆分组)允许限制group文件中的行长度。这有助于确保NIS组的行不超过1024个字符。
如果你需要强制执行此类限制,则可以使用25。
注意:并不是所有工具都支持拆分组,即使在Shadow软件包中也有些工具不支持。除非确实有必要,否则不应使用此变量。
相关文件
/etc/group 组帐号信息。
/etc/gshadow 组帐号的安全信息。
退出状态
命令groupdel会以下列状态值退出:
0 成功
2 命令语法无效
6 指定的组不存在
8 无法删除用户的基本组
10 无法更新组文件
相关手册
chfn(1), chsh(1), passwd(1), gpasswd(8), groupadd(8), groupmod(8), useradd(8), userdel(8), usermod(8).
参考文献

man 8 groupdel, Version shadow-utils 4.4

更新日志

07/16/2018 创建文章[……]

READ MORE

「groupmems(u)」-

管理用户主要组的成员
命令语法格式
groupmems -a user_name | -d user_name | [-g group_name] | -l | -p
命令描述
命令groupmems允许用户管理自己的组成员列表,而不需要超级用户权限。命令groupmems适用于将其用户配置为自己名称的主要组(即guest/guest)的系统。
如果要更改其他组的成员身份,只有作为管理员的超级用户才行。
命令支持的选项及含义
命令groupmems支持如下选项:
-l, –list 显示组成员列表。
添加成员
-a, –add <user_name> 将用户<user_name>添加到组成员列表中。
如果/etc/gshadow文件存在,并且该组在/etc/gshadow文件中没有条目,则将创建一个新条目。
删除成员
-d, –delete user_name 从组成员列表中删除用户。
如果存在/etc/gshadow文件,则将从该组的成员和管理员列表中删除该用户。
如果/etc/gshadow文件存在,并且该组在/etc/gshadow文件中没有条目,则将创建一个对应该组的新条目。
-p, –purge 清除组成员列表中的所有用户。
如果/etc/gshadow文件存在,并且该组在/etc/gshadow文件中没有条目,则将创建一个新条目。
指定操作的组
-g, –group group_name 可以指定要修改的组成员身份列表。由于只有超级用户才可以修改其他组,所以这个选项也只有超级用户可以使用。
注意事项
命令groupmems可执行文件的权限应该为2770,并作为用户root和组group。系统管理员可以使用groupmems命令将用户添加到组group,以允许或禁止它们来管理自己的组成员身份列表。

# groupadd -r groups
# chmod 2770 groupmems
# chown root.groups groupmems
# groupmems -g groups -a gk4

上面的命令演示了如何修改groupmems的权限和所属组。
配置文件
在/etc/login.defs中的以下配置变量会影响命令groupadd的行为:
MAX_MEMBERS_PER_GROUP (number) 每组条目的最大成员数。达到最大值时,将在/etc/group中创建新的组条目(行),并具有相同的名称、相同的密码、相同的GID值。
该属性默认值为0,表示组中的成员数没有限制。[……]

READ MORE

「groupmod(8)」-

修改系统中组定义
命令语法格式
groupmod [options] GROUP
命令描述
命令groupmod通过修改组数据库(通常是/etc/group和/etc/gshadow文件)中的相应条目来修改指定组GROUP的定义。
命令支持的选项及含义
命令groupmod支持的选项如下:
-n, –new-name NEW_GROUP 将GROUP修改为由NEW_GROUP所指定的组名。
-g, –gid <GID> 给定组GROUP的GID将更改为由该选项指定的<GID>值。参数GID的值必须是非负十进制整数。除非使用-o选项,否则此值必须是唯一的。
对于主要组为原组的用户,将被更新以保持该组为其新的主要组。对于属于原组并且必须属于新组的文件,都必须手动更改其GID值。
该选项不会对/etc/login.defs中的GID_MIN,GID_MAX,SYS_GID_MIN,SYS_GID_MAX执行任何检查。
-o, –non-unique 与-u选项一起使用时,此选项允许UID为非唯一值。
-p, –password PASSWORD 加密的密码,由crypt(3)返回,而不是密码明文。注意:建议不要使用此选项,因为列出进程的用户可以看到密码(或加密密码)。
您应该确保密码符合系统的密码策略。
-R, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-h, –help 显示帮助选项并退出。
配置文件
在/etc/login.defs中的以下配置变量会影响命令groupadd的行为:
MAX_MEMBERS_PER_GROUP (number) 每组条目的最大成员数。达到最大值时,将在/etc/group中创建新的组条目(行),并具有相同的名称、相同的密码、相同的GID值。
该属性默认值为0,表示组中的成员数没有限制。
此功能(拆分组)允许限制group文件中的行长度。这有助于确保NIS组的行不超过1024个字符。
如果你需要强制执行此类限制,则可以使用25。
注意:并不是所有工具都支持拆分组,即使在Shadow软件包中也有些工具不支持。除非确实有必要,否则不应使用此变量。
相关文件
/etc/group 组帐号信息。
/etc/gshadow 安全组帐号信息。
/etc/login.defs 软件包Shadow中各个工具的配置文件,用于改变这些工具的行为。
/etc/passwd 用户账户信息。
退出状态
命令groupmod会以下列状态值退出:[……]

READ MORE

「grpck(8)」-

验证组文件的完整性
命令语法格式
grpck [options] [group [ shadow ]]
命令描述
命令grpck验证组信息的完整性。 它检查/etc/group和/etc/gshadow中的所有条目是否具有正确的格式并包含有效数据。 提示用户删除格式不正确的条目,或有其他无法纠正的错误。
对每个条目进行检查如下:

正确的字段数
唯一且有效的组名
有效的GID(仅限/etc/group,因为gshadow里没有GID字段)
有效的成员和管理员列表
与/etc/gshadow文件中的相应条目(使用/etc/group对gshadow检查)

正确的字段数和组名唯一的检查是致命的。 如果条目的字段数错误,将提示用户删除整行。 如果用户没有肯定地回答,则更进一步检查被绕过。 系统会提示删除具有重复组名称的条目,但仍会进行其余检查。 所有其他错误都是警告,鼓励用户运行groupmod命令来纠正错误。
在/etc/group和/etc/gshadow文件上运行的命令无法更改损坏或重复的条目。 在这些情况下,应使用grpck来删除违规条目。
命令支持的选项及含义
命令grpck支持的选项如下:
-r, –read-only 以只读模式执行grpck命令。这导致所有有关于变更的问题在没有用户干预的情况下得到否定的回答。
-s, –sort 通过GID对/etc/group和/etc/gshadow中的条目进行排序。
-R, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-h, –help 显示帮助选项并退出。
注意事项
选项-r与-s无法结合使用。
默认情况下,命令grpck在/etc/group和/etc/gshadow上运行。 用户可以选择具有组及相关参数的备用文件。
配置文件
在/etc/login.defs中的以下配置变量会影响命令groupadd的行为:
MAX_MEMBERS_PER_GROUP (number) 每组条目的最大成员数。达到最大值时,将在/etc/group中创建新的组条目(行),并具有相同的名称、相同的密码、相同的GID值。
该属性默认值为0,表示组中的成员数没有限制。
此功能(拆分组)允许限制group文件中的行长度。这有助于确保NIS组的行不超过1024个字符。
如果你需要强制执行此类限制,则可以使用25。
注意:并不是所有工具都支持拆分组,即使在Shadow软件包中也有些工具不支持。除非确实有必要,否则不应使用此变量。
相关[……]

READ MORE

「grpconv(8)」-

转换生成密码和组相关文件
命令描述
该命令的用法与pwconv(8)类似,参考pwconv(8)中对该命令的描述。
参考文献

man 8 grpconv, Version shadow-utils 4.4

更新日志

07/16/2018 创建文章[……]

READ MORE

「grpunconv(2)」-

转换生成密码和组相关文件
命令描述
该命令的用法与pwconv(8)类似,参考pwconv(8)中对该命令的描述。
参考文献

man 8 grpconv, Version shadow-utils 4.4

更新日志

07/16/2018 创建文章[……]

READ MORE

「lastlog(8)」-

报告所有用户或者指定用户的最近登录情况
命令语法格式
lastlog [options]
命令描述
命令lastlog格式化并打印上次登录日志(/var/log/lastlog)文件的内容。
将打印登录名、端口、上次登录时间。无选项时,将会打印所有的条目,并按用户在/etc/passwd中的排序进行打印。如果用户从未登录过,则将显示“**Never logged in**”消息,而不是端口和时间。
仅显示当前系统中存在的用户的条目。可能存在以前删除的用户的条目。
命令支持的选项及含义
命令lastlog支持如下的选项:
-R, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-b, –before DAYS 打印DAYS天之前的最近登录记录。
-u, –user LOGIN|RANGE 打印指定用户的最近登录记录。参数可以是用户名、用户ID、用户ID的范围。
用户ID的范围可以使用最小值和最大值(UID_MIN-UID_MAX)、最大值(-UID_MAX)、最小值(UID_MIN-)指定此RANGE用户。如下示例:

# lastlog -u 12-
# lastlog -u -0
# lastlog -u 100-400

第一条命令将打印用户ID大于等于12的记录;第二条命令将只打印属于root的记录,因为小于等于0的只有root;第三条命令将打印用户ID介于100到400之间的记录。
-S, –set 将一个用户的最近登录记录设置为当前时间。该只能与-u(–user)选项一起使用。
-t, –time DAYS 打印最近DAYS天内的最近登录记录。
-C, –clear 清除一个用户的最近登录记录。该选项可以与-u(–user)选项一起使用。
-h, –help 显示帮助信息并退出。
注意事项
文件lastlog是一个数据库,其中包含每个用户上次登录的信息。你不应该对其进行轮转。它是一个稀疏文件,因此它在磁盘上的大小通常远小于“ls -l”所示的大小(可以如果你有一个高UID的passwd用户,则表示一个非常大的文件。你可以使用“ls -s”显示其实际大小。
不连续的UID编号中的大间隙将会导致命令lastlog运行更长时间,而没有任何数据输出到屏幕。即,如果在lastlog数据库中没有UID介于170和800之间的用户条目,则lastlog在处理UID为171-799的条目时将显示为挂起。
相关文件
/var/log/lastlog 保存之前用户登录记录的数据库。
参[……]

READ MORE

「login(1)」-

在系统上开始会话
命令语法格式
login [-p] [-h host] [username] [ENV=VAR…]
login [-p] [-h host] -f username
login [-p] -r host
命令描述
命令login用于与系统建立新会话。它通常自动调用,通过在用户终端上显示的”login:“提示。命令login可能是Shell特有的,不能作为子进程调用。从Shell调用时,应该以exec login来执行login命令,这将导致用户退出当前shell(因此,将阻止新登录用户返回调用者的会话中)。除了登录Shell以外,尝试从任何Shell执行login都将将产生错误消息。
然后,在适当的时候提示用户输入密码。输入密码时没有任何响应,以防止泄漏。在login退出之前,只允许少量密码失败,并且通信链路被切断。
如果已为您的帐户启用密码时效,则可能会提示您输入新密码,然后再继续操作。在继续之前,您将被迫提供旧密码和新密码。有关更多信息,请参阅passwd(1)。
您的UID和GID将根据其在/etc/passwd文件中的值进行设置。$HOME,$SHELL,$PATH,$LOGNAME,$MAIL的值根据passwd中对应条目中的相应字段设置。也可以根据GECOS字段中的条目设置ulimit,umask,nice值。
在某些安装中,环境变量$TERM将初始化为tty行上的终端类型,如/etc/ttytype中所指定。
也可以执行命令解释程序的初始化脚本。有关此功能的更多信息,请参阅相应的手册部分。
通过存在“*”作为登录Shell的第一个字符来指示子系统登录。给定的主目录将用作用户实际登录的新文件系统的根目录。
命令支持的选项及含义
-f 不执行身份验证,用户已预先验证。注意:在这种情况下,用户名username是必填项。
-h 此次登录的远程主机的名称。
-p 保留环境变量。
-r 为rlogin执行自动登录协议。
选项-r,-h,-f仅在以root用户调用login时才能使用。
注意事项
此版本的login有许多编译选项,其中只有一些可能在任何特定站点使用。
文件的位置受系统配置的差异影响。
命令login不负责从utmp文件中删除用户,这应该是getty(8)和init(8)负责的,它们会清理终端会话的明显的所有权。如果您在没有exec的情况下使用Shell提示符来执行login命令,则即使在您退出“subsession”后,您使用的用户仍将继续登录。
与任何程序一样,命令login的外观可以伪造。 如果不受信任的用户具有对计算机的物理访问权限,则攻击者可以[……]

READ MORE

「logoutd(u)」-

强制执行登录时间限制
命令语法格式

logoutd
命令描述

命令logoutd强制执行/etc/porttime中指定的登录时间和端口限制。命令logoutd应该从/etc/rc启动。定期扫描/etc/utmp文件,并检查每个用户在当前时间是否允许在指定端口上登录。任何违反/etc/porttime限制的登录会话都将强制终止。
命令支持的选项及含义

(无)
相关文件

/etc/porttime 登录和端口权限。
/etc/utmp 当前登录会话。
/var/run/utmp 当前的登录会话
参考文献

Alcor/logoutd.8(logoutd.8.gz)
LinuxHowTos/LOGOUTD
man7/LOGOUTD(8)

更新日志

07/27/2018 创建文章。目前在Debian中没有找到该命令的手册。[……]

READ MORE

「newgidmap(1)」-

设置用户空间的GID映射
命令语法格式

newgidmap pid gid lowergid count [gid lowergid count [ … ]]
命令描述

命令newgidmap会根据命令行参数和/etc/subgid中允许的gid设置/proc/[pid]/gid_map。请注意,即使是root用户,也不能从有效/etc/subgid条目的要求中豁免。
在pid参数之后,命令newgidmap需要3个整数:

gid:用户命名空间内UID范围的开头。
lowergid:用户命名空间之外的UID范围的开头。
count:范围的长度(用户名称空间的内部和外部)。

命令newgidmap会验证调用者是参数pid指示的进程的所有者,并且对于上述每个集合,在设置/proc/[PID]/gid_map之前,在[lowergid,lowergid+count]范围内的每个UID都根据/etc/subgid被允许给调用者。
请注意,对于给定的进程,newgidmap只能使用一次。
命令支持的选项及含义

目前newgidmap命令暂无选项。
相关文件

/etc/subgid 用户的下属UID列表。
/proc/[pid]/gid_map 用户名称空间之间的UID映射。
相关手册

login.defs(5), newusers(8), subgid(5), useradd(8), userdel(8), usermod(8).
参考文献

man 1 newgidmap, Version shadow-utils 4.5

更新日志

07/27/2018 创建文章[……]

READ MORE

「newgrp(1)」-

登录到一个新组
命令语法格式
newgrp [-] [group]
命令描述
在登录会话期间,使用命令newgrp可以更改当前GID。如果给出了可选的‘-’标志,则用户的环境将重新初始化,就像用户重新登录一样,否则当前环境,包括当前工作目录在内,将保持不变。
命令newgrp会将当前实际组更改为由参数group指定的组;如果没有给出组名group,则将当前组更改为在/etc/passwd中当前用户的默认组。命令newgrp还尝试将组添加到用户组集。如果不是root用户,如果用户没有密码,则会提示用户输入密码(如果此用户在密码文件中有条目,则在/etc/shadow中,否则在/etc/passwd中),并且组也是如此;或者如果用户不是该组成员,且该组具有组密码。如果组密码为空,且用户不是该组成员,则将拒绝用户访问。
如果/etc/gshadow中有该组的条目,则将从此文件中获取该组的成员列表和密码,否则将考虑/etc/group中的条目。
配置文件
在/etc/login.defs中的以下配置变量会影响命令newgrp的行为:
SYSLOG_SG_ENAB (boolean) 启用syslog来记录命令newgrp的活动。
相关文件
/etc/passwd 用户账户信息。
/etc/shadow 安全的用户帐号信息。
/etc/group 组帐号信息。
/etc/gshadow 安全组帐号信息。
相关手册
id(1), login(1), su(1), sg(1), gpasswd(1), group(5), gshadow(5)
参考文献

man 1 newgrp, Version shadow-utils 4.4

更新日志

07/16/2018 创建文章[……]

READ MORE

「newuidmap(1)」-

设置用户空间的UID映射
命令语法格式

newuidmap pid uid loweruid count [uid loweruid count [ … ]]
命令描述

命令newuidmap会根据命令行参数和/etc/subuid中允许的uid设置/proc/[pid]/uid_map。请注意,即使是root用户,也不能从有效/etc/subuid条目的要求中豁免。
在pid参数之后,命令newuidmap需要3个整数:

uid:用户命名空间内UID范围的开头。
loweruid:用户命名空间之外的UID范围的开头。
count:范围的长度(用户名称空间的内部和外部)。

命令newuidmap会验证调用者是参数pid指示的进程的所有者,并且对于上述每个集合,在设置/proc/[PID]/uid_map之前,在[loweruid,loweruid+count]范围内的每个UID都根据/etc/subuid被允许给调用者。
请注意,对于给定的进程,newuidmap只能使用一次。
命令支持的选项及含义

目前newuidmap命令暂无选项。
相关文件

/etc/subuid 用户的下属UID列表。
/proc/[pid]/uid_map 用户名称空间之间的UID映射。
相关手册

login.defs(5), newusers(8), subuid(5), useradd(8), usermod(8), userdel(8).
参考文献

man 1 newuidmap, Version shadow-utils 4.5

更新日志

07/27/2018 创建文章[……]

READ MORE

「newusers(8)」-

批量创建或者更新用户
命令语法格式
newusers [options] [file]
命令描述
命令newusers读取文件file(或标准输入),并使用此信息更新一组现有用户或创建新用户。文件file中每行的格式与标准密码文件的格式相同(请参阅passwd(5)),但有以下例外情况:

pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell

pw_name

用户名。它可以是新用户名或已存在的用户名(或newusers之前创建的用户)。如果用户已经存在,将更改用户的信息,否则将创建新用户。

pw_passwd

此字段将被加密,并用作加密密码的新值。

pw_uid

该字段用于定义用户的UID。如果该字段为空,则将自动分配未使用的UID。如果此字段包含数字,则此数字将用作UID。如果此字段包含已有用户名(或newusers之前创建的用户名),则将使用指定用户的UID。

如果更改了现有用户的UID,则应手动修复原用户文件的所有权。

pw_gid

该字段用于定义用户的主要组ID。如果此字段包含现有组名(或以前由newusers创建的组),则该组的GID将用作该用户的主要组ID。如果此字段是数字,则此数字将用作用户的主要组ID。如果此GID不存在任何组,则将使用此GID和用户名创建新组。如果此字段为空,则将使用用户名创建新组,新用户将自动定义GID以用作用户的主要组ID,并将其用作新组的GID。如果此字段包含不存在的组名(并且之前未由newusers创建),则将使用指定的名称创建新组,并且新用户将自动定义GID,并将该GID用作用户的主要组ID和新组的GID。

pw_gecos

该字段将复制到用户的GECOS字段中。

pw_dir

用于定义用户主目录。如果此字段未指定现有目录,则会创建指定的目录,并将所有权设置为正在创建或更新的用户及其主要组。

如果更改现有用户的主目录,则命令newusers不会将旧目录的内容移动或复制到新位置,这需要手动完成。

pw_shell

用于定义用户Shell。不对此字段执行检查。

命令newusers首先尝试创建或更改所有指定的用户,然后将这些更改写入用户或组数据库。如果发生错误(最终写入数据库异常除外),则不会对数据库进行任何更改。
在第一次传递期间[……]

READ MORE

「nologin(8)」-

礼貌地拒绝登录
命令语法格式
nologin
命令描述
命令nologin显示一条帐户不可用,并以非零状态退出。它用于为已禁用帐户提供替换的Shell字段(通常用于在/etc/passwd中记录的最后一个字段)。
要禁用所有登录,参阅nologin(5)手册。
相关手册
login(1), nologin(5).
参考文献

man 8 nologin, Version This account is currently not available.

更新日志

07/16/2018 创建文章[……]

READ MORE

「passwd(8)」-

修改用户密码
命令语法格式
passwd [options] [LOGIN]
命令描述
命令passwd更改用户帐户的密码。普通用户只能更改自己帐户的密码,而超级用户可以更改任何帐户的密码。命令passwd也改变了帐户或相关密码的时效信息。
修改密码的操作流程
如果存在用户,则首先提示用户输入TA的旧密码,然后加密该密码并与存储的密码进行比较,用户只有一次机会输入正确的旧密码。超级用户是允许绕过此步骤,以便可以更改忘记的密码。
输入密码后,将检查旧密码的信息,以查看此时是否允许用户更改密码。如果不允许,则命令passwd拒绝更改密码,并退出。
如果旧密码检查通过,则提示用户输入新密码和确认密码。新密码与确认密码进行比较,两者相同时才能更改密码。
然后,命令会测试密码的复杂性。作为一般准则,密码应包含6到8个字符,包括以下每个字符集中的一个或多个字符:

小写字母
数字0到9
标点符号

必须注意不要包括系统默认的擦除或终止字符。命令passwd将拒绝任何不合适的密码。
命令支持的选项及含义
-d, –delete 删除用户密码,即将其设为空。这是禁用帐户密码的快捷方法。它会将指定的帐户设置为无密码。
-r, –repository REPOSITORY 修改REPOSITORY库中的密码。
-R, –root CHROOT_DIR 在CHROOT_DIR中应用更改,并使用CHROOT_DIR目录中的配置文件。
-k, –keep-tokens 仅针对密码过期的用户执行。用户希望像以前一样保留他们的未过期令牌。
密码时效相关
-i, –inactive INACTIVE 密码过期后,在帐户锁定之前,不活动的最大天数。参数INACTIVE是不活动的天数。如果帐号无法访问或者被锁定,只能联系管理员。
通常,如果密码已过期,则用户在下次登录时必须更改密码。但是还可以设置其他条件,在密码过期后,如果用户在INACTIVE天从未尝试登录,则会自动锁定其帐户。如果INACTIVE为“-1”,则禁用该功能。
-w, –warndays WARN_DAYS 设置在需要更改密码之前的警告天数。在密码过期的前WARN_DAYS天对用户进行警告,用户将收到警告TA的密码即将过期的天数。
-x, –maxdays MAX_DAYS 设置密码保持有效的最大天数。在MAX_DAYS天之后需要更改密码。
-n, –mindays MIN_DAYS 将两次密码更改之间的最小天数设置为MIN_DAYS天。此字段的值为0表示用户可以随时更改其密码,否则用户在修改密码后的MIN_DAYS天内不能再[……]

READ MORE

「pwck(8)」-

验证密码文件的完整性
命令语法格式
pwck [options] [passwd [ shadow ]]
命令描述
命令pwck验证用户和身份验证信息的完整性。它检查/etc/passwd和/etc/shadow中的所有条目,并确认其是否具有格式正确并包含有效数据。提示用户删除格式不正确或具有其他无法纠正的错误的条目。
命令pwck会对条目进行如下检查:

正确的字段数量;
唯一且有效的用户名;
有效的UID和GID;
有效的主要组;
有效的主目录;
有效的登录Shell;

在指定第二个文件参数shadow,或系统上存在/etc/shadow时,将检查shadow文件。检查项目如下:

每个passwd条目都有一个匹配的shadow条目,每个shadown条目都有一个匹配的passwd条目;
密码在shadown文件中指定;
在shadown中的条目具有正确的字段数;
所有的shadow条目在shadown文件中是唯一的;
最后的密码更改时间是合理的,不是未来的时间;

检查正确的字段数和用户名唯一检查是致命的。如果条目的字段数错误,将提示用户删除整行。如果用户没有肯定地回答,则绕过所有进一步的检查。将提示删除具有重复用户名的条目,但仍将进行其余检查。所有其他错误都是警告,建议用户运行usermod命令来更正遇到的错误。
由于在/etc/passwd文件上运行的命令无法更改损坏或重复的条目,在这种情况下,应该使用pwck来删除违规条目。
命令支持的选项及含义
命令pwck支持的选项如下:
-r, –read-only 以只读模式执行pwck命令。这导致所有有关于变更的问题在没有用户干预的情况下得到否定的回答。
-s, –sort 通过UID对/etc/passwd和/etc/shadow中的条目进行排序。
-q, –quiet 只报告错误。不显示那些不需要用户执行任何操作的警告。
-R, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-h, –help 显示帮助选项并退出。
注意事项
选项-r与-s无法结合使用。
默认情况下,命令pwck在/etc/group和/etc/gshadow上运行。 用户可以选择具有组及相关参数的备用文件。
配置文件
在/etc/login.defs中的以下配置变量会影响命令pwconv的行为:
PASS_MAX_DAYS (number) 密码可以使用的最大天数。如果密码早于此天数,则将强制更[……]

READ MORE

「pwconv(8)」-

转换生成密码和组相关文件
命令语法格式
pwconv [options]
pwunconv [options]
grpconv [options]
grpunconv [options]
命令描述
pwconv:从passwd和可选的shadow中创建shadow文件。
pwunconv:从passwd和shadow中创建passwd文件,然后删除shadow文件。
grpconv:从group和可选的gshadow中创建gshadow文件。
grpunconv:从group和gshadow创建group文件,然后删除gshadow文件。
这四个程序都使用了相关的密码和组文件:/etc/passwd、/etc/group、/etc/shadow、/etc/gshadow。
在转换之前,每个程序会获取必要的锁。命令pwconv和grpconv是相似的。首先,对于shadow文件中的条目,如果在主文件中没有对应的存在则删除。然后,更新在主文件中不存在以“x”作为密码的shadow条目。添加任何丢失的shadow条目。最后,主文件中的密码被替换为“x”。如果手动编辑主文件,这些程序也可用于初始转换以更新shadow文件。
在向/etc/shadow添加新条目时,命令pwconv将使用/etc/login.defs中的PASS_MIN_DAYS、PASS_MAX_DAYS、PASS_WARN_AGE的值。
同样,命令pwunconv和grpunconv是相似的。主文件中的密码将从阴影文件更新。存在于主文件中,但不存在于阴影文件中的条目将保持不变。最后,删除shadow文件。命令pwunconv会丢失一些密码时效信息。它将转换它可以转化的。
命令支持的选项及含义
命令pwconv, pwunconv, grpconv, grpunconv支持的选项如下:
-R, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-h, –help 显示帮助选项并退出。
注意事项
密码或组文件中的错误(例如,无效或重复的条目)可能导致这些程序永远循环或以其他奇怪的方式失败。在转换为shadow或group文件之前,先运行pwck和grpck来纠正任何此类错误。
上述的四个命令会直接修改相关的账户和组文件。
配置文件
组相关
在/etc/login.defs中的以下配置变量会影响命令grpconv与grpunconv的行为:
MAX_MEMBERS_PER_GROUP (number) 每组条目的最大成员数。达到最大值时,将在/etc/grou[……]

READ MORE

「pwunconv(8)」-

转换生成密码和组相关文件
命令描述
该命令的用法与pwconv(8)类似,参考pwconv(8)中对该命令的描述。
参考文献

man 8 pwunconv, Version shadow-utils 4.4

更新日志

07/16/2018 创建文章[……]

READ MORE