1.1用户配置文件
[[email protected] ~]# head -1 /etc/passwd root:x:0:0:root:/root:/bin/bash
/etc/passwd中共有7个字段使用冒号分割,一个用户对应一条记录。
root: 用户名。
x: 用户密码占位符,真正的密码通过加密后存放在/etc/shadow文件中。
0: root用户的UID(user-id),系统用户ID小于500,普通用户ID大于等于500。
0: root用户的GID(group-id),系统组ID小于500,普通组ID大于等于500。
root: 用户的描述信息。
/root: root用户的home目录,普通用户的home目录一般位于 /home/用户名。
/bin/bash: 用户登录系统时使用的shell。
[[email protected] ~]# head -1 /etc/shadow root:$6$hUzF3bHDW.6UMp0G$FSNJI.yGgOoTMuz53n0vdGhY2RudU/H/RIHt4BDu1VHldyLAog5/b5cRIEgAhrsOzXFR3kSW77TWVaDcZya5P1:16312:0:99999:7:::
/etc/shadow主要存放与用户密码相关的参数共有9个字段使用冒号分割,一个用户对应一条记录。
root: 用户名和/etc/psswd中的用户名对应。
字段2: 通过MD5加密算法加密的用户密钥,如果为!!表示还没有创建用户密码。
16312: 最后更改密码的日期和1970-1-1相隔的天数。
0: 指定密码设置多少天后才能更改,0代表随时可以。
99999: 密码使用期限,指定多少天后必须修改密码。
7: 密码到期前的提示的天数,这儿表示密码过期前的7天开始提示用户修改密码。
字段7: 账户失效日期,用户密码超过指定使用日期没有修改密码,到账户失效这段时间之间账户处于失效状态,可以让管理员重新启用。
字段8: 账户失效时间由1970-1-1开始计算,到期后无法使用,一般用于收费系统。
字段9: 保留字段。
1.2组配置文件
[[email protected] ~]# head -2 /etc/group root:x:0: bin:x:1:bin,daemon
/etc/group有4个字段,使用冒号分割。
bin: 组名称。
x: 组密码。
1: 组ID(GID)。
bin , daemon: 属于该组的用户,使用逗号分隔。
[[email protected] ~]# head -2 /etc/gshadow root::: bin:::bin,daemon
/etc/gshadow4个字段。
第一字段:用户组。
第二字段:用户组密码,空或者!代表没有密码。
第三字段:用户组的管理者。
第四字段:属于该组的用户,使用逗号分隔。
2.1添加用户修改/etc/passwd文件
要求:手动添加用户51cto uid=1000,gid=1000(51),home目录为/home/51cto/。
在/etc/passwd尾部添加一行51cto用户的信息。
51cto:x:1000:1000:51cto-user:/home/51cto:/bin/bash
2.2添加用户修改/etc/group文件
在/etc/group尾部添加一行51cto用户组的信息。
51cto:x:1000:51cto
2.3添加用户修改/etc/shadow文件
使用openssl命令生成用户MD5密码:
[[email protected] ~]# openssl passwd -1 -salt ‘12345678‘ #-1 指定加密算法为MD5。 #-salt 指定8位字符,相同密码而不同的-salt参数也会的到不同的加密字符串。 Password: #输入密码 $1$12345678$Rc8mmKN1Iv/J.McnSngGw.
计算今天和1970-1-1相隔天数:
[[email protected] ~]# date +%s 1420121883 #距离1970-1-1秒数。 [[email protected] ~]# bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty‘. 1420121883/86400 #每天86400秒。 16436 #得到日期。
在/etc/shadow尾部加入一行51cto用户的密码信息:
51cto:$1$12345678$Rc8mmKN1Iv/J.McnSngGw.:16436:0:99999:7:::
2.4创建51cto用户home目录:
[[email protected] ~]# cp -r /etc/skel/ /home/51cto #复制/etc/skel/目录到51cto用户主目录下 [[email protected] ~]# chown -R 51cto.51cto /home/51cto/ #修改/home/51cto 目录用户和组为51cto [[email protected] ~]# chmod -R go= /home/51cto/ #修改/home/51cto 目录权限使得组和其他人没有访问权限。
2.5结果验证:
[[email protected] ~]# su - 51cto [[email protected] ~]$ su - 51cto Password: *********************************************************************** *************************Hello World!********************************** *********************************************************************** [[email protected] ~]$
使用su(switch-user)能切换进刚才创建的用户说明成功配置没有问题。