增加一个新用户到附加用户组
新增加一个用户并将其列入一个已有的用户组中需要用到 useradd 命令。如果还没有这个用户组,可以先创建该用户组。
命令参数如下:
useradd -G {group-name} username
例如,我们要创建一个新用户 cnzhx 并将其添加到用户组 developers 中。首先需要以 root 用户身份登录到系统中。先确认一下是否存在 developers 这个用户组,在命令行输入:
grep developers /etc/group
输出类似于:
developers:x:1124:
如果看不到任何输出,那么就需要先创建这个用户组了,使用 groupadd 命令:
groupadd developers
然后创建用户 cnzhx 并将其加入到 developers 用户组:
useradd -G developers cnzhx
为用户 cnzhx 设置密码:
passwd cnzhx
为确保已经将该用户正确的添加到 developers 用户组中,可以查看该用户的属性,使用 id 命令:
id cnzhx
输出类似于:
uid=1122(cnzhx) gid=1125(cnzhx) groups=1125(cnzhx),1124(developers)
前面命令中用到的大写的 G (-G) 参数就是为了将用户添加到一个附加用户组中,而同时还会为此用户创建一个属于他自己的新组 cnzhx。如果要将该用户同时增加到多个附加用户组中,可以使用英文半角的逗号来分隔多个附加组名(不要加空格)。例如,同时将 cnzhx 增加到 admins, ftp, www, 和 developers 用户组中,可以输入以下命令:
useradd -G admins,ftp,www,developers cnzhx
管理用户组(group)的工具或命令
groupadd
注:添加用户组;groupdel
注:删除用户组;groupmod
注:修改用户组信息groups
注:显示用户所属的用户组grpck
注:grpck命令用于验证组文件的完整性,在验证之前,需要先锁定(lock)组文件/etc/group和/etc/shadowgrpconv
注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;grpunconv
注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;
管理用户(user)的工具或命令
useradd
注:添加用户passwd
注:为用户设置密码usermod
注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;pwck
注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;pwunconv
注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;finger
注:查看用户信息工具id
注:查看用户的UID、GID及所归属的用户组chfn
注:更改用户信息工具su
注:用户切换工具sudo
注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;visudo
注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;sudoedit
注:和sudo 功能差不多;
groupadd
groupadd命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。
- 语法
groupadd(选项)(参数)
- 选项
-g:指定新建工作组的id; -r:创建系统工作组,系统工作组的组ID小于500; -K:覆盖配置文件“/ect/login.defs”; -o:允许添加组ID号不唯一的工作组。
- 参数
组名:指定新建工作组的组名。
groupdel
groupdel命令用于删除指定的工作组,本命令要修改的系统文件包括/ect/group
和/ect/gshadow
。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。
- 语法
groupdel(参数)
- 参数
组:要删除的工作组名。
groupmod
groupmod命令更改群组识别码或名称。需要更改群组的识别码或名称时,可用groupmod
指令来完成这项工作。
- 语法
groupmod(选项)(参数)
- 选项
-g<群组识别码>:设置欲使用的群组识别码; -o:重复使用群组识别码; -n<新群组名称>:设置欲使用的群组名称。
- 参数
组名:指定要修改的工作的组名。
groups
groups命令在标准输入输出上输出指定用户所在组的组成员,每个用户属于/etc/passwd
中指定的一个组和在/etc/group
中指定的其他组。
- 语法
groups(选项)(参数)
- 选项
-help:显示命令的帮助信息; --version:显示命令的版本信息。
- 参数
用户名:指定要打印所属工作组的用户名。
grpck
grpck命令用于验证组文件的完整性,在验证之前,需要先锁定(lock)组文件/etc/group
和/etc/shadow
。
grpck命令检查数据是否正确存放,每条记录是否都包含足够的信息,是否有一个唯一的组名,是否包含正确的用户,是否正确设置了组的管理员等。grpck检查发现错误以后,在命令行提示用户是否删除错误的记录。如果用户没有明确回答删除记录,grpck终止运行。
- 语法
grpck(选项)
- 选项
-r:只读模式; -s:排序组id。
grpconv
grpconv命令用来开启群组的投影密码。Linux系统里的用户和群组密码,分别存放在/etc
目录下的passwd
和group
文件中。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在/etc
目录下的shadow
和gshadow
文件内,只允许系统管理者读取,同时把原密码置换为"x"字符。投影密码的功能可随时开启或关闭,您只需执行grpconv指令就能开启群组投影密码。
- 语法
grpconv
grpunconv
grpunconv命令用来关闭群组的投影密码。它会把密码从gshadow
文件内,回存到group
文件里。
- 语法
grpunconv
useradd
useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd
文本文件中。
在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户帐号资料,然后再交由真正建立帐号的useradd命令建立新用户,如此可方便管理员建立用户帐号。在Red Hat Linux中,adduser命令则是useradd命令的符号连接,两者实际上是同一个指令
- 语法
useradd(选项)(参数)
- 选项
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中; -d<登入目录>:指定用户登入时的启始目录; -D:变更预设值; -e<有效期限>:指定帐号的有效期限; -f<缓冲天数>:指定在密码过期后多少天即关闭该帐号; -g<群组>:指定用户所属的群组; -G<群组>:指定用户所属的附加群组; -m:自动建立用户的登入目录; -M:不要自动建立用户的登入目录; -n:取消建立以用户名称为名的群组; -r:建立系统帐号; -s<shell>:指定用户登入后所使用的shell; -u<uid>:指定用户id。
- 参数
用户名:要创建的用户名。
passwd
passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。
- 语法
passwd(选项)(参数)
- 选项
-d:删除密码,仅有系统管理者才能使用; -f:强制执行; -k:设置只有在密码过期失效后,方能更新; -l:锁住密码; -s:列出密码的相关信息,仅有系统管理者才能使用; -u:解开已上锁的帐号。
- 参数
用户名:需要设置密码的用户名。
usermod
usermod命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。你需手动更改使用者的crontab档。也需手动更改使用者的at工作档。采用NIS server须在server上更动相关的NIS设定。
- 语法
usermod(选项)(参数)
- 选项
-c<备注>:修改用户帐号的备注文字; -d<登入目录>:修改用户登入时的目录; -e<有效期限>:修改帐号的有效期限; -f<缓冲天数>:修改在密码过期后多少天即关闭该帐号; -g<群组>:修改用户所属的群组; -G<群组>;修改用户所属的附加群组; -l<帐号名称>:修改用户帐号名称; -L:锁定用户密码,使密码无效; -s<shell>:修改用户登入后所使用的shell; -u<uid>:修改用户ID; -U:解除密码锁定。
- 参数
登录名:指定要修改信息的用户登录名。
pwck
pwck命令用来验证系统认证文件/etc/passwd
和/etc/shadow
的内容和格式的完整性。
- 语法
pwck(选项)(参数)
- 选项
-q:仅报告错误信息; -s:以用户id排序文件“/etc/passwd”和“/etc/shadow”; -r:只读方式运行指令。
- 参数
密码文件:指定密码文件的路径; 影子文件:指定影子文件的路径。
pwunconv
pwunconv命令与pwconv功能相反,用来关闭用户的投影密码。它会把密码从shadow文件内,重回存到passwd文件里。
- 语法
pwunconv
finger
finger命令用于查找并显示用户信息。包括本地与远端主机的用户皆可,帐号名称没有大小写的差别。单独执行finger指令,它会显示本地主机现在所有的用户的登陆信息,包括帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话。
- 语法
finger(选项)(参数)
- 选项
-l:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,还有计划文件和方案文件内容; -m:排除查找用户的真实姓名; -s:列出该用户的帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话; -p:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,但不显示该用户的计划文件和方案文件内容。
不指定finger的选项如果提供操作者的话,缺省设为-l输出风格,否则为-s风格,注意在两种格式中,如果信息不足,都有一些域可能丢失,如果没有指定参数finger会为当前登录的每个用户打印一个条目。
- 参数
用户名:指定要查询信息的用户。
id
id命令可以显示真实有效的用户ID(UID)和组ID(GID)。UID 是对一个用户的单一身份标识。组ID(GID)则对应多个UID。id命令已经默认预装在大多数Linux系统中。要使用它,只需要在你的控制台输入id。不带选项输入id会显示如下。结果会使用活跃用户。
当我们想知道某个用户的UID和GID时id命令是非常有用的。一些程序可能需要UID/GID来运行。id使我们更加容易地找出用户的UID以GID而不必在/etc/group
文件中搜寻。如往常一样,你可以在控制台输入man id进入id的手册页来获取更多的详情。
- 语法
id [-gGnru][--help][--version][用户名称]
- 选项
-g或--group 显示用户所属群组的ID。 -G或--groups 显示用户所属附加群组的ID。 -n或--name 显示用户,所属群组或附加群组的名称。 -r或--real 显示实际ID。 -u或--user 显示用户ID。 -help 显示帮助。 -version 显示版本信息。
chfn
chfn命令用来改变finger命令显示的信息。这些信息都存放在/etc
目录里的passwd
文件里。若不指定任何选项,则chfn命令会进入问答式界面。
- 语法
chfn(选项)(参数)
- 选项
-f<真实姓名>或--full-name<真实姓名>:设置真实姓名; -h<家中电话>或--home-phone<家中电话>:设置家中的电话号码; -o<办公地址>或--office<办公地址>:设置办公室的地址; -p<办公电话>或--office-phone<办公电话>:设置办公室的电话号码; -u或--help:在线帮助; -v或-version:显示版本信息。
- 参数
用户名:指定要改变finger信息的用户名。
su
su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
- 语法
su(选项)(参数)
- 选项
-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份; -f或——fast:适用于csh与tsch,使shell不用去读取启动文件; -l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量; -m,-p或--preserve-environment:变更身份时,不要变更环境变量; -s<shell>或--shell=<shell>:指定要执行的shell; --help:显示帮助; --version;显示版本信息。
- 参数
用户:指定要切换身份的目标用户。
sudo
sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers
中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。
- 语法
sudo(选项)(参数)
- 选项
-b:在后台执行指令; -h:显示帮助; -H:将HOME环境变量设为新身份的HOME环境变量; -k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。 -l:列出目前用户可执行与无法执行的指令; -p:改变询问密码的提示符号; -s<shell>:执行指定的shell; -u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份; -v:延长密码有效期限5分钟; -V :显示版本信息。
- 参数
指令:需要运行的指令和对应的参数。
与用户(user)和用户组(group)相关的配置文件;
-
与用户(user)相关的配置文件;
/etc/passwd 注:用户(user)的配置文件; /etc/shadow 注:用户(user)影子口令文件;
-
与用户组(group)相关的配置文件;
/etc/group 注:用户组(group)配置文件; /etc/gshadow 注:用户组(group)的影子文件;