1./etc/passwd/配置文件
该文件记录了用户的信息,也可以进行修改
查看方式:man 5 passwd
注意:不能写绝对路径!!! 参考:Linux帮助命令总结
配置文件格式:
• 登录名:不解释
• 可选的加密后的密码:标识x,不可能把真的密码放上去的,谁都看得见还玩个鸟呀。
• 数字用户 ID:超级用户0 系统用户(伪用户)1-999 普通用户1000-65535
• 用户组ID:初始组用户一出生就有的组,一般不更改。附加组是后天被分配的。
• 用户名和注释字段
• 用户主目录:普通用户家目录:/home/用户名 超级用户家目录:/root/
• 登陆之后的shell:shell就是linux的命令解释器,比如输入一个ls,想让系统理解就是shell
来做这个事情,可以理解为人类社会的翻译官。
所有的系统用户都是/sbin/nologin/,所有的普通用户都是/bin/bash/。
2.影子文件/etc/shadow
第一字段:用户名
第二字段:加密密码(如果密码为是"!!“或”*"代表没有密码,不能登陆)
第三字段:这个密码的最后一次修改日期,距离1970年之后的多少多少天。
第四字段:和第三字段比,两次密码的修改间隔。
第五字段:密码有效期
第六字段:密码到期前的警告天数。
第七字段:用户密码之后的宽限天数,如果超过则删除用户。
第八字段:账户到期时间。
第九字段:保留字段。
3./etc/group/组信息文件
第一字段:组名
第二字段:组密码标志
第三字段:GID(组ID号)
第四字段:组中附加用户
4./etc/gshadow/组密码文件(不推荐用,不安全)
不详细讲解。
5.用户管理相关文件
(1)用户的家目录
普通用户的家目录:/home/用户名/
超级用户的家目录:/root/
普通用户可以通过修改文件/etc/passwd/文件中的用户所属组,实现将普通用户转换为超级用户。
(2)用户的邮箱
位置:/var/spool/mail/用户名/
(3)用户模板目录
位置:/etc/skel/
作用:所有的用户在新创建的时候会自动添加的文件模板。
6.用户管理命令
(1)添加用户
centos:useradd 【选项】 用户名
ubuntu:adduser 【选项】用户名
选项:
-U UID:指定用户的UID
-d 家目录:手工指定集目录
-c 用户说明:手工指定用户说明
-g 组名:手工指定初始组名
-G 组名:手工指定附加组名
初始组名就是一开始就有的,附加组名就是后面进入的组,前文有提及。
-s shell:指定命令揭示器,一般默认,新手可以不管。前文也有讲过。
用户默认值文件
1、/etc/default/useradd/
2、/etc/login.defs/
(2)密码设置命令
root#passwd 【选项】 用户名
passwd直接回车就是给当前用户直接设置密码,只有root用户可以指定改密码的目标,普通用户哪怕是改动自己的密码也不可以,只能写passwd。
-l:锁定用户
-u:解锁用户
使用字符串作为用户的密码:
echo “123”|passwd --stdin 用户名
(3)修改用户信息
usermod 【选项】 用户名
-U UID:指定用户的UID
-c 用户说明:手工指定用户说明
-g 组名:手工指定初始组名(这个不去使用!)
-G 组名:手工指定附加组名
-l:锁定用户
-u:解锁用户
(4)修改密码状态
chage [选项] 用户名 注意:不是change
用的时候–help自己查看吧,这东西鬼记得住。
特别注意:chage -d 0 用户名的作用是让用户下次登陆的时候必须修改密码!
(5)删除用户
userdel -r 用户名
-r:连带家目录一起删掉,一般都要带上这个选项。
(6)查看用户的uid和gid
id 用户名
(7)用户身份切换
su 【选项】 用户名
-:连带用户的环境变量一起切换
使用su命令可以切换为root用户,但是其环境变量不会改变,如果想要改变必须写su -
-c:仅执行一次命令而不切换用户身份。
范例:su - root -c “useradd user2”
(8)添加用户组
groupadd 【选项】 用户组名
-g GID: 指定组ID
(9)修改用户组
groupmod 【选项】 用户组名
-g GID: 修改组ID
-n 新组名:修改组名
范例:groupmod -n 组名2 组名1
把组名1修改为了组名2
(10)删除用户组
groupdel 用户组名
生成用户如果指定初始组则不会在用户组文件中生成一个全新的组。如果有用户的初始组想要删除,必须先删除这个用户。
(11)将已有用户添加入组或移除
gpasswd 【选项】 组名
-a:加入组
-d:从组中删除
范例:gpasswd -a user1 root
作用:把user1加入root组中。