①作用
useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户.
-c:加上备注文字,备注文字保存在passwd的备注栏中.
-d:指定用户登入时的主目录,替换系统默认值/home/用户名
-D:变更预设值.
-f:指定在密码过期后多少天即关闭该账号.如果为0账号立即被停用;如果为-1则账号一直可用.默认值为-1.
-g:指定用户所属的群组.值可以使组名也可以是GID.用户组必须已经存在的,期默认值为100,即users.
-G:指定用户所属的附加群组.
-m:自动建立用户的登入目录.
-M:不要自动建立用户的登入目录.
-n:取消建立以用户名称为名的群组.
-r:建立系统账号.
-s:指定用户登入后所使用的shell.默认值为/bin/bash.
useradd可用来建立用户账号,它和adduser命令是相同的.账号建好之后,再用passwd设定账号的密码.使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中.
加-m 如果主目录不存在则自动创建
添加用户命令:
修改密码命令:
使用useradd时,如果后面不添加任何参数选项,例如:#sudo useradd test创建出来的用户将是默认"三无"用户:一无Home Directory,二无密码,三无系统Shell.
步骤如下:
(1)建立用户名列表文件username.txt (同上)
新建完成useradd命令,在执行没有出错的情况下,不会输出任何的信息,不会与用户交互.但是用户必须要记住那些设置项目,否则添加的用户可能出现一些预想不到的结果.
Linux系统中的用户是分角色的,用户的角色是由UID和GID来识别的(也就是说系统是识别的是用户的UID、GID,而非用户用户名),一个UID是唯一(系统中唯一如同身份证一样)用来标识系统的用户账号(用户名).
文件的用户与用户组分为超级管理员,普通用户和系统用户.
①.)超级管理员的UID=0,GID=0,也可以这么说系统只要是识别出某个用户的UID\GID都为0时,那么这个用户系统就认为是超级管理员.
我们可以通过cat /etc/passwd命令来查看所有的用户信息,例如下图,第三列是UID,第四列是GID:
创建用户
useradd user1 创建用户user1
设置用户密码
passwd user1 设置密码,有设置密码的用户不能用
这里设置密码时可能会碰到密码保护机制问题,这里需要注释掉保护机制的问题
和password sufficient两行注释掉,如下图:
创建用户组
groupadd users 不用g参数,使用默认的组ID
命令 gpasswd为组添加用户
只有root和组管理员能够改变组的成员:
gpasswd –a user1 users 把 user1加入users组
gpasswd –d user1 users 把 user1退出users组
命令groupmod修改组
groupdel删除组
groupdel users 删除组users
真正从安全性角度上来考虑的话,是要控制用户一定执行命令的权限,也就是哪些用户可以执行哪些命令,不可以执行哪些命令,所以呢也就有了sudo这个应用,对于sudo提权,也就是修改/etc/sudoers的配置文件.
Linux中每个用户都要属于一个或多个组,有了用户组,就可以将用户添加到组中,这样就方便管理员对用户的集中管理. Linux系统中用户组分为root组、系统组、普通用户组三类.当一个用户属于多个组时,这些组中只能有一个作为该用户的主属组,其他组就被称为此用户的次属组. 组基本信息在文件/etc/group中;组密码信息在文件/etc/gshadow中.通过命令:cat /etc/group、cat /etc/gshadow可查看文件内容.
组名:密码:GID:该用户组中的用户列表
组名:加密密码:组管理员:组附加用户列表
root用户可以直接修改/etc/group文件达到管理组的目的,也可以使用以下命令:groupadd、groupdel、groupmod -n、gpasswd -a、gpasswd -d、newgrp.
下面使用案例分别讲解这些命令:
添加用户组的命令是 groupadd,命令格式如下:
groupadd? [ -g gid? [ -o ] ]? [ -r ]? [ -f ]? group
参数说明:
-g:指定新建工作组的 id;
-K:覆盖配置文件 "/ect/login.defs";
-o:允许添加组 ID 号不唯一的工作组.
-f,--force: 如果指定的组已经存在,此选项将失明了仅以成功状态退出.当与 -g 一起使用,并且指定的GID_MIN已经存在时,选择另一个唯一的GID(即-g关闭).
示例:创建一个新的组,并添加组 ID.
删除用户组时,可用groupdel(group delete)指令来完成.倘若该组中仍包括某些用户,则必须先删除这些用户后,方能删除组. 注意:删除的组不能为主属组! 命令格式:
groupdel? [组名]? ? ? ? ?
示例:删除用户组 newgroup
此时再查看/etc/group文件时可以看到用户组newgroup已经不存在,删除成功!
要更改用户组识别码或名称可使用 groupmod 来完成.命令格式:
groupmod? [ -g? 群组识别码? -o ] [ -n? 新群组名称 ] [原群组名称]
参数说明 :
-g 群组识别码 设置欲使用的群组识别码.
-o 重复使用群组识别码.
-n 新群组名称 设置欲使用的群组名称.
示例:创建用户组newgroup并修改其名称为modifiedgroup
查看/etc/group文件,只存在名称为modifiedgroup的用户组,修改成功!
gpasswd 是 Linux 下工作组文件 /etc/group 和 /etc/gshadow 管理工具,用于将一个用户添加到组或者从组中删除.命令格式:
gpasswd? [可选项]? 组名
可选项参数 :
-a:添加用户到组;
-d:从组删除用户;
-A:指定管理员;
-M:指定组成员和-A的用途差不多;
-r:删除密码;
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组.
示例1:将用户yangwei添加到组modifiedgroup中
此时查看/etc/group文件发现组?modifiedgroup中出现用户yangwei
再次查看/etc/group文件发现用户yangwei已经不存在.
当需要在不同的群组下工作的时候我们需要进行切换群组操作,这个操作由newgrp指令来完成.命令格式如下:
newgrp [群组名称]
注意!当前用户必须都是两个群组的成员,否则切换群组时需要输入切换组的组密码,这时候当前用户作为临时成员在切换组下工作,所创建的文件全都属于切换组.
示例1:用户yangwei不属于群组modifiedgroup,请将当前工作组切换为modifiedgroup.
总结:Linux用户组管理需要掌握最基本的几个命令及其选项参数: groupadd 、groupdel 、groupmod 、gpasswd 、newgrp !
以上就是土嘎嘎小编为大家整理的linux创建组用户命令相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!