useradd命令用于Linux中建立的新的系统用户。useradd可用来创建用户账号。账号建好以后,再用passwd设定账号的密码.而可用userdel删除账号。使用useradd指令所创建的账号,其实是保存在/etc/passwd
文本文件中。linux
在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户账号资料,而后再交由真正创建账号的useradd命令创建新用户,如此可方便管理员创建用户账号。在Red Hat Linux中,adduser命令则是useradd命令的符号链接,二者其实是同一个指令。shell
useradd(选项)(参数)
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-D:变动预设值;
-e<有效期限>:指定账号的有效期限;
-f<缓冲天数>:指定在密码过时后多少天即关闭该账号;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动创建用户的登入目录;
-M:不要自动创建用户的登入目录;
-n:取消创建以用户名称为名的群组;
-r:创建系统账号;
-s<shell>:指定用户登入后所使用的shell;
-u<uid>:指定用户id。
用户名:要建立的用户名。bash
新建用户加入组:ui
useradd –g sales jack –G company,employees //-g:加入主要组、-G:加入次要组
创建一个新用户帐户,并设置ID:加密
useradd caojh -u 544
须要说明的是,设定ID值时尽可能要大于500,以避免冲突。由于Linux安装后会创建一些特殊用户,通常0到499之间的值留给bin、mail这样的系统帐号。spa
groupadd命令用于建立一个新的工做组,新工做组的信息将被添加到系统文件中。.net
groupadd(选项)(参数)
-g:指定新建工做组的id;
-r:建立系统工做组,系统工做组的组ID小于500;
-K:覆盖配置文件“/ect/login.defs”; -o:容许添加组ID号不惟一的工做组。
组名:指定新建工做组的组名。code
创建一个新组,并设置组ID加入系统:token
groupadd -g 344 linuxde
此时在/etc/passwd
文件中产生一个组ID(GID)是344的项目。ip
d命令能够显示真实有效的用户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 显示版本信息。
[root@localhost ~]# id uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
解释:用户root的UID号码 = 0,GID号码 = 0。用户root是下面组的成员:
打印用户名、UID 和该用户所属的全部组,要这么作,咱们可使用 -a 选项:
[root@localhost ~]# id -a uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
输出全部不一样的组ID ,有效的,真实的和补充的,咱们可使用 -G 选项来实现:
[root@localhost ~]# id -G 0 1 2 3 4 6 10
结果只会显示GID号。你能够和/etc/group
文件比较。下面是/etc/group
文件的示例内容:
只输出有效的组ID,经过使用 -g 选项来只输出有效组ID:
[root@localhost ~]# id -g 0
输出特定用户信息,咱们能够输出特定的用户信息相关的UID和GID。只须要在id命令后跟上用户名:
[root@localhost ~]# id www uid=500(www) gid=500(www) groups=500(www)
passwd命令用于设置用户的认证信息,包括用户密码、密码过时时间等。系统管理者则能用它管理系统用户的密码。只有管理者能够指定用户名称,通常用户只能变动本身的密码。
passwd(选项)(参数)
-d:删除密码,仅有系统管理者才能使用; -f:强制执行; -k:设置只有在密码过时失效后,方能更新; -l:锁住密码; -s:列出密码的相关信息,仅有系统管理者才能使用; -u:解开已上锁的账号。
用户名:须要设置密码的用户名。
与用户、组帐户信息相关的文件
存放用户信息:
/etc/passwd /etc/shadow
存放组信息:
/etc/group /etc/gshadow
用户信息文件分析(每项用:
隔开)
例如:jack:X:503:504:::/home/jack/:/bin/bash
jack //用户名
X //口令、密码
503 //用户id(0表明root、普通新建用户从500开始)
504 //所在组
: //描述
/home/jack/ //用户主目录
/bin/bash //用户缺省Shell
组信息文件分析
例如:jack:$!$:???:13801:0:99999:7:*:*: jack //组名 $!$ //被加密的口令 13801 //建立日期与今天相隔的天数 0 //口令最短位数 99999 //用户口令 7 //到7天时提醒 * //禁用天数 * //过时天数
若是是普通用户执行passwd只能修改本身的密码。若是新建用户后,要为新用户建立密码,则用passwd用户名,注意要以root用户的权限来建立。
[root@localhost ~]# passwd linuxde //更改或建立linuxde用户的密码; Changing password for user linuxde. New UNIX password: //请输入新密码; Retype new UNIX password: //再输入一次; passwd: all authentication tokens updated successfully. //成功;
普通用户若是想更改本身的密码,直接运行passwd便可,好比当前操做的用户是linuxde。
[linuxde@localhost ~]$ passwd Changing password for user linuxde. //更改linuxde用户的密码; (current) UNIX password: //请输入当前密码; New UNIX password: //请输入新密码; Retype new UNIX password: //确认新密码; passwd: all authentication tokens updated successfully. //更改为功;
好比咱们让某个用户不能修改密码,能够用-l
选项来锁定:
[root@localhost ~]# passwd -l linuxde //锁定用户linuxde不能更改密码;
Locking password for user linuxde.
passwd: Success //锁定成功;
[linuxde@localhost ~]# su linuxde //经过su切换到linuxde用户;
[linuxde@localhost ~]$ passwd //linuxde来更改密码;
Changing password for user linuxde.
Changing password for linuxde
(current) UNIX password: //输入linuxde的当前密码;
passwd: Authentication token manipulation error //失败,不能更改密码;
再来一例:
[root@localhost ~]# passwd -d linuxde //清除linuxde用户密码; Removing password for user linuxde. passwd: Success //清除成功; [root@localhost ~]# passwd -S linuxde //查询linuxde用户密码状态; Empty password. //空密码,也就是没有密码;
注意:当咱们清除一个用户的密码时,登陆时就无需密码,这一点要加以注意。