Relative Content

LINUX MANUAL PAGES

category

「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

「sg(1)」-

以不同的GID来执行命令
命令语法格式
sg [-] [group [-c ] command]
命令描述
命令sg与命令newgrp类似,但命令sg接受参数command,这将使用/bin/sh来执行命令command。对于大多数shell,你可以运行sg,但你需要使用引号来处理包含多个字的命令。
命令newgrp和sg之间的另一个区别:有些Shell会对newgrp特殊处理,它们会用newgrp创建的Shell新实例替换它们自身。使用sg不会发生这种情况,因此从sg命令退出后,您将返回到您的以前的GID。
配置文件
在/etc/login.defs中的以下配置变量会影响命令sg的行为:
SYSLOG_SG_ENAB (boolean) 启用syslog来记录命令sg的活动。
相关文件
/etc/passwd 用户账户信息。
/etc/shadow 安全的用户帐号信息。
/etc/group 组帐号信息。
/etc/gshadow 安全组帐号信息。
相关手册
id(1), login(1), newgrp(1), su(1), gpasswd(1), group(5), gshadow(5).
参考文献

man 1 sg, Version shadow-utils 4.4

更新日志

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

READ MORE

「su(1)」-

修改UID或者成为超级用户
命令语法格式
su [options] [username]
命令描述
在会话登录期间,可以使用su命令成为另一个用户。在没有指定username的情况下,默认的username为root,即成为超级用户。
在username之后可以提供附加参数,在这种情况下,这些参数会被提供给用户的登录Shell。特别是,选项-c的参数将使其参数被视为命令来执行。该命令将由/etc/passwd中为username指定的Shell来执行。
您可以使用“–”参数将su选项与提供给Shell的参数分开。
如果命令行参数正确,将提示输入username的密码。密码无效将产生错误消息。所有的操作都会记录到日志中,用于检测系统的滥用。
当前环境变量将传递给新Shell。对于普通用户,$PATH的值重置为/bin:/usr/bin;超级用户则重置为/sbin:/bin:/usr/sbin:/usr/bin。这可以通过更改/etc/login.defs中ENV_PATH和ENV_SUPATH来重新定义。
通过存在“*”作为登录shell的第一个字符来指示是子系统登录。给定的主目录将用作用户实际登录的新文件系统的根目录。
命令支持的选项及含义
命令su支持如下选项:
-c, –command COMMAND 指定Shell将使用其-c选项执行的命令。
被执行的命令没有控制终端。此选项不能用于执行需要控制终端的交互式程序,比如passwd等。
-, -l, –login 提供类似于用户直接登录时所期望的环境变量,即登录Shell。
使用“-”时,“-”必须在任何用户名之前指定。出于可移植性考虑,建议将其用作所有选项的最后一个,并在用户名之前。使用其他两个选项(-l和–login)时,则没有此限制。
-s, –shell SHELL 将被调用的Shell。命令su将以如下顺序确定要使用的Shell,以下优先级有高到低:

首先,使用由–shell选项指定的Shell;
如果使用了–preserve-environment选项,则使用由$SHELL环境变量指定Shell;
在/etc/passwd中查找为目标用户username设置的Shell;
如果上述任何方法都无法找到Shell,则使用/bin/sh;

如果目标用户具有受限制Shell(即在/etc/passwd中此,此用户的Shell字段是未列在/etc/shells中),则不会采用–shell选项或$SHELL环境变量,除非su是被root执行的。
-m, -p, –preserve-environment 保存[……]

READ MORE

「useradd(8)」-

创建新用户或者更新默认新用户的信息
命令语法格式
useradd [options] LOGIN
useradd -D
useradd -D [options]
命令描述
命令useradd是一个用于添加用户的低级实用程序。在Debian上,管理员通常应该使用adduser(8)。
在不使用-D选项调用useradd命令时,命令useradd使用命令行中指定的值以及系统的默认值来创建新用户帐户。根据命令行选项,命令useradd将会更新系统文件,以及创建新用户的主目录并复制初始文件。
默认情况下,还将为新用户创建一个组,该组名通常与用户名相同,请参阅-g、-N、-U、USERGROUPS_ENAB。
命令支持的选项及含义
命令useradd支持如下选项:
-R, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-u, –uid UID 用户ID的数值。除非使用-o选项,否则此值必须是唯一的。该值必须是非负数。默认是使用大于或等于UID_MIN,且大于每个其他用户的最小ID值。
另请参见-r选项和UID_MAX描述。
-o, –non-unique 允许创建具有重复(非唯一)UID的用户帐户。此选项仅与-u选项一起使用时有效。
如果未指定-g、-N、-U选项,默认行为由/etc/login.defs中的USERGROUPS_ENAB变量定义。
-r, –system 创建系统帐户。
将在/etc/shadow中创建没有时效信息的系统用户,并且在/etc/login.defs中定义的SYS_UID_MIN-SYS_UID_MAX范围中选择其ID,而不是UID_MIN-UID_MAX(及其对应的GID用于创建组)。
请注意,无论/etc/login.defs中的CREATE_HOME如何设置,useradd都不会为此类用户创建主目录。如果需要系统帐户的主目录,则必须指定-m选项进行创建。
-Z, –selinux-user SEUSER 用户登录的SELinux用户。默认设置是将此字段留空,这会导致系统选择默认的SELinux用户。
密码相关
-p, –password PASSWORD 加密密码,由crypt(3)返回。默认设置是禁用密码。
注意:建议不要使用此选项,因为列出进程的用户可以看到密码(或加密密码)。
你应该确保密码符合系统的密码策略。
-e, –expiredate EXPIRE_DATE 用户帐户将被禁用的日期。日期以YYYY-MM-DD格式指定。
如果未指定,则useradd将使用[……]

READ MORE

「userdel(8)」-

删除用户及相关文件
命令语法格式
userdel [options] LOGIN
命令描述
命令userdel修改系统帐户文件,删除所有引用用户名LOGIN的条目。指定的用户必须存在。
命令userdel是用于删除用户的低级实用程序。在Debian上,管理员通常应该使用deluser(8)命令。
命令支持的选项及含义
命令userdel支持如下选项:
-r, –remove 用户主目录中的文件将与主目录本身和用户的邮件目录一起删除。位于其他文件系统中的文件必须手动搜索和删除。
-f, –force 此选项强制删除用户帐户,即使用户仍然登录。它还强制userdel删除用户的主目录和邮件目录,即使其他用户使用相同的主目录或邮件目录不属于指定用户。如果在/etc/login.defs中将USERGROUPS_ENAB定义为yes,并且如果存在与已删除用户同名的组,则该组将被删除,即使它是仍然是另一个用户的主要组。
注意:此选项很危险,很可能会使系统账户处于不一致状态。
邮件目录由login.defs文件中的MAIL_DIR变量定义。
-R, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
-Z, –selinux-user 删除用户登录的任何SELinux用户映射。
-h, –help 显示帮助信息并退出。
配置文件
在/etc/login.defs中的以下配置变量会影响命令groupadd的行为:
MAIL_DIR (string) 邮件目录。修改或删除相应的用户帐户时,需要该变量来操作邮箱。如果未指定,则使用编译时默认值。
MAIL_FILE (string) 定义用户邮件文件相对于其主目录的位置。
命令useradd、usermod、userdel会使用MAIL_DIR和MAIL_FILE变量来创建、移动、删除用户的邮件。
MAX_MEMBERS_PER_GROUP (number) 每组条目的最大成员数。达到最大值时,将在/etc/group中创建新的组条目(行),并具有相同的名称、相同的密码、相同的GID值。
该属性默认值为0,表示组中的成员数没有限制。
此功能(拆分组)允许限制group文件中的行长度。这有助于确保NIS组的行不超过1024个字符。
如果你需要强制执行此类限制,则可以使用25。
注意:并不是所有工具都支持拆分组,即使在Shadow软件包中也有些工具不支持。除非确实有必要,否则不应使用此变量。
USERDEL_CMD (string) 如果已定义,则在删除用户时将运行此命令。该命[……]

READ MORE

「usermod(8)」-

修改用户账户信息
命令语法格式
usermod [options] LOGIN
命令描述
命令usermod通过命令行指定的选项来修改系统帐户文件中对应的字段。
命令支持的选项及含义
命令usermode支持如下选项:
-c, –comment COMMENT 用户密码文件中注释字段的新值。通常使用chfn(1)命令进行修改,因为虽然它只是一个字段,但是里面包含了许多其他的信息。
-g, –gid GROUP 用户的新初始登录组的组名或编号。该GROUP必须是一个已经存在的组。
在用户主目录中,属于前一个用户基本组的任何文件都将归该新组所有。而用户主目录之外的文件的组所有权必须手动修复。
-G, –groups GROUP1[,GROUP2,…[,GROUPN]]] 修改用户的补充组列表。每个组用逗号分隔,而之间没有空格。这些组受到的限制与-g选项给出的组相同。
如果用户当前是未列出的组的成员,则将从该组中删除该用户。可以通过-a选项更改此行为,该选项-a会将用户附加到当前的补充组列表。
-a, –append 将用户追加到补充组。只能与-G选项一起使用。
-d, –home HOME_DIR 用户的新的主目录。如果给出了-m选项,则当前主目录的内容将被移动到新的主目录,如果该主目录尚不存在,则创建该目录。
-m, –move-home 将用户主目录的内容移动到新位置。此选项仅与-d(或–home)选项一起使用时有效。
命令usermod将尝试调整文件的所有权,并复制权限、ACL、扩展属性,但之后也可能需要手动更改某些东西。
-l, –login NEW_LOGIN 用户名将从LOGIN更改为NEW_LOGIN。不做其他改变。特别是,应该手动重命名用户的主目录或邮件目录以反映新的登录名。
-p, –password PASSWORD 加密密码,由crypt(3)返回,而不是密码明文。注意:建议不要使用此选项,因为列出进程的用户可以看到密码(或加密密码)。
密码将写入本地/etc/passwd或/etc/shadow文件中。 这可能与PAM配置中配置的密码数据库不同。
您应该确保密码符合系统的密码策略。
-L, –lock 锁定用户的密码。该命令是在加密密码前面添加了一个’!’,有效地禁用了密码。 您不能将此选项与-p或-U一起使用。
注意:如果您希望锁定帐户(不仅禁止密码访问),还应将EXPIRE_DATE设置为1。
-U, –unlock 解锁用户密码。该选项删除了在加密密码前面添加的‘!’ 。您不能将此选项与-p或-L一起使用。
注意:如果您希望解锁帐户(不仅[……]

READ MORE

「vigr(8)」-

修改group、gshadow文件
命令语法格式
vigr [options]
命令描述
该命令的用法与vipw完全相同,请参考vigr(8)。
相关手册
vi(1), group(5), gshadow(5) , passwd(5), shadow(5)
参考文献

man 8 vigr, Version shadow-utils 4.4

更新日志

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

READ MORE

「vipw(8)」-

修改passwd、group、shadow、gshadow文件
命令语法格式
vipw [options]
vigr [options]
命令描述
命令vipw和vigr分别用于编辑文件/etc/passwd和/etc/group。使用-s选项时,它们将分别编辑对应shadows文件(/etc/shadow和/etc/gshadow)。
该程序在编辑时,将设置适当的锁,以防止文件损坏,这也是该程序存在的真正目的,而不是鼓励你用编辑器直接修改这些文件。
在查找编辑器时,程序将首先尝试环境变量$VISUAL,然后是环境变量$EDITOR,最后是默认编辑器vi(1)。
注意:虽然这些命令提供了编辑文件的安全方式,但是仍然不鼓励使用,因为这些文件之间存在关联关系,错误的编辑会导致数据不一致。建议使用相关的命令进行修改。除非你知道自己在做什么。
命令支持的选项及含义
适用于vipw和vigr命令的选项如下:
-g, –group 编辑group数据库文件。
-p, –passwd 编辑passwd数据库文件。
-s, –shadow 修改相应的shadow文件或者gshadow文件。需要与-g或-p选项一起使用。
-R, –root CHROOT_DIR 在CHROOT_DIR目录中应用更改,并使用CHROOT_DIR目录中的配置文件。
其他选项
-q, –quiet 安静模式。
-h, –help 显示帮助信息并退出。
相关环境变量
VISUAL 修改文件时使用的编辑器。
EDITOR 如果VISUAL未设置,则使用使用该环境变量指定的编辑器。
相关文件
/etc/group 该文件中保存了组帐号信息。
/etc/gshadow 该文件保存了安全组帐号信息。
/etc/passwd 该文件保存了用户账户信息。
/etc/shadow 该文件保存了安全用户账户信息。
相关手册
vi(1), group(5), gshadow(5) , passwd(5), , shadow(5).
参考文献

man 8 vipw, Version shadow-utils 4.4

更新日志

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

READ MORE

「strace」-

功能简述
介绍命令功能,使用壹句话进行介绍,直接翻译手册页面即可。
常用命令
追踪命令打开的文件:

strace -e trace=openat,close,read,write,connect,accept cat /tmp/demo.txt

语法格式

命令描述
命令选项
附加说明
参考文献
How do I monitor opened files of a process in realtime? – Unix & Linux Stack Exchange[……]

READ MORE

「stress」-

功能简述
向系统施加负载和压力测试的工具
常用命令
产生四个工作进程,并循环调用 sync() 系统调用,以产生 I/O 负载,

stress –io 4

语法格式

stress [OPTION [ARG]] …

命令描述
命令 stress 用于向系统施加某种类型的计算压力。
命令选项
-c, –cpu N 产生 N 个工作进程,快速循环调用 sqrt() 函数,以产生 CPU 负载。
-i, –io N

spawn N workers spinning on sync()

-m, –vm N

spawn N workers spinning on malloc()/free()

–vm-bytes B

malloc B bytes per vm worker (default is 256MB)

–vm-stride B

touch a byte every B bytes (default is 4096)

–vm-hang N

sleep N secs before free (default none, 0 is inf)

–vm-keep

redirty memory instead of freeing and reallocating

-d, –hdd N

spawn N workers spinning on write()/unlink()

–hdd-bytes B

write B bytes per hdd worker (default is 1GB)

命令运行
-n, –dry-run 显示将执行哪些动作,但不会实际执行
-t, –timeout N 在执行 N 秒之后退出。
–backoff N 在开始工作前,等待因数为 N 的微妙。这样可以逐渐提高系统的负载。
注意事项,使用 –verbose 选项可以查看工作进程等待的时间。当 N = 5000 时,工作进程分别等待 20000 15000 10000 5000 微妙。
控制输出
-v, –verbose 显示更多日志。
-q, –quiet 安静模式,不显示任何输出。
其他选项
-?, –help 显示帮助信息。
–version 显示版本信息。
附加说明
数字可以后缀单位,时间(s,m,h,d,y),大小(B,K[……]

READ MORE

「sudo」

Sudo,该软件包包含了一些程序,这些程序允许管理员给某些用户(或用户组)在以root或以另一个用户登录时运行命令的能力。
包含的命令列表
sudo 以/etc/sudoers配置文件中允许的身份来执行命令。
sudoedit is a symlink to sudo that implies the -e option to invoke an editor as another user.
sudoreplay is used to play back or list the output logs created by sudo.
visudo allows for safer editing of the sudoers file.
参考文献

Homepage: http://www.sudo.ws/
LFS / Sudo:http://www.linuxfromscratch.org/blfs/view/stable/postlfs/sudo.html
Sudo Online Manual[……]

READ MORE

「sudo(8)」-

以其他用户身份执行命令
命令语法格式
sudo -h | -K | -k | -V
sudo -v [-AknS] [-a type] [-g group] [-h host] [-p prompt] [-u user]
sudo -l [-AknS] [-a type] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
sudo [-AbEHnPS] [-a type] [-C num] [-c class] [-g group] [-h host] [-p prompt] [-r role] [-t type] [-u user] [VAR=value] [-i | -s] [command]
sudoedit [-AknS] [-a type] [-C num] [-c class] [-g group] [-h host] [-p prompt] [-u user] file …
命令描述
命令sudo允许被许可的用户以超级用户或其他用户的身份执行命令,如由安全策略所指定的。调用sudo的用户的“真实用户ID”(非有效用户ID)用于确定用户名,并使用该用户名查询安全策略。
命令sudo支持插件体系结构,用于安全策略和输入/输出日志记录的。第三方可以开发和分发自己的策略和I/O日志插件,以便与sudo前端无缝协作。默认安全策略是sudoers,它通过/etc/sudoers或LDAP进行配置。有关更多信息,请参阅「插件」部分。
安全策略确定用户运行sudo时具有的权限(如果有)。该策略可能要求用户使用密码或其他身份验证机制对自身进行身份验证。如果需要身份验证,如果未在可配置的时间限制内输入用户密码,则sudo将退出。此限制是特定于策略的;对于sudoers安全策略,默认密码提示超时是不受限制的。
安全策略可以支持凭证缓存,以允许用户在一段时间内不需要身份验证的情况下可再次运行sudo命令。对于sudoers策略,它会将凭证缓存15分钟,除非在sudoers(5)中被覆盖。通过使用-v选项运行sudo,用户可以在不运行命令的情况下更新缓存的凭据。
安全策略可能会记录使用sudo的成功和失败尝试。如果配置了I/O插件,则也可以记录运行命令的输入和输出。
当作为sudoedit调用时,隐含-e选项(如下所述)。
命令行选项
-u user, –user=user 以默认目标用户(通常为root)以外的用户身份运行该命令。 用户可以是用户名或以“#”字符为前缀的数字用户ID(UID)(例如,对于0可表示为UID #0)。当将命令作为UID运行时,许多Shell要求使用反斜杠[……]

READ MORE

「sudoedit(8)」-

以指定的用户身份调用编辑器
命令描述
参考sudo(8)手册。
参考文献

man 8 sudo, Version 1.8.19p1-1

更新日志

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

READ MORE