在Linux中一切皆文件,所以用户管理也是文件,在windows中我们有多用户,也能创建用户删除用户,在Linux也有这些功能,所以这里我会详细介绍在Linux中,这些文件在哪里是什么,怎么用,以及他的创建,删除,添加等等
添加用户的时候 前六个文件目录都会出现相应的用户目录
root:x:0:0:root:/root:/bin/bash //管理员账号
user1:x:1000:1000::/home/user1:/bin/bash //普通用户
第一列:用户名
第二列:密码位
第三列:用户ID
第四列:组ID 添加用户时,如果不指定用户所属的初始组,会建立和用户名相同的组
第五列:用户说明
第六列:用户家目录
第七列:登录sheel /bin/bash
user1:$6$LS9vux8L$R.kvmJONhNHMkTOwSpAm/cRqmKPnXhoFxKow9GgKVBZW4GmIOUBGRh81znzj1sU7pJhwGBcYxeT1uP5mFeluA.:18509:0:99999:7:::
第一列:用户名
第二列:加密密码
第三列:密码最近更改时间 1970年1月1日 为标准时间
[root@iZbp10cdilkxcswm4l893lZ ~]# date -d "1970-01-01 18507 days"
2020年 09月 02日 星期三 00:00:00 CST
[root@iZbp10cdilkxcswm4l893lZ ~]# echo $(($(date --date="20200907" +%s)/86400+1))
18512
第四列:两次密码的修改间隔时间(和第三段比)
第五列:密码有效期(和第三段比)
第六列:密码修改到期前的警告天数(和第五段比)
第七列:密码过期后的宽限天数(和第5字段相比)
第八列:密码失效时间 (和时间戳有关)
第九列:保留
root:x:0:
第一列:组名
第二列:组密码位
第三列:GID(用户组ID)
第四列:此组中支持的其他用户,附加组是此组的用户
user1:!::
第一列:组名
第二列:组密码
第三列:组管理员用户名
第四列:组中的附件用户
[root@iZbp10cdilkxcswm4l893lZ skel]# cd /var/spool/mail/
[root@iZbp10cdilkxcswm4l893lZ mail]# ls
user1
之前六个目录创建新用户的时候都会出现,相应的用户名字 家用户目录模板不会出现
[root@iZbp10cdilkxcswm4l893lZ ~]# cd /etc/skel/ //在创建型的用户时其他页面以此为例 创建相同的目录
[root@iZbp10cdilkxcswm4l893lZ skel]# ls -a
. .. .bash_logout .bash_profile .bashrc
就是之上的六个文件夹 ,删除也是一样的
[root@iZbp10cdilkxcswm4l893lZ ~]# useradd 名字
[root@iZbp10cdilkxcswm4l893lZ ~]# useradd -G test user // -G 是指定附加组 将test 添加到user组
test:x:1001:user
user:x:1002:
添加用户时参考的默认值文件主要有两个 /etc/default/useradd
和/etc/login.defs
/etc/default/useradd
[root@iZbp10cdilkxcswm4l893lZ ~]# vim /etc/default/useradd
# useradd defaults file
GROUP=100 //这个选项是建立用户的默认组
HOME=/home //家目录的默认位置
INACTIVE=-1 //密码过期后的宽限天数 和/etc/shadow 第7个字段 对等
EXPIRE= //密码失效时间 和/etc/shadow 第八个字段对等
SHELL=/bin/bash //用户默认Shell /bin/bash 是Linux的标志shell
SKEL=/etc/skel //定义用户模板目录的位置
CREATE_MAIL_SPOOL=yes //是否给新用户建立邮箱
/etc/login.defs
[root@iZbp10cdilkxcswm4l893lZ ~]# vim /etc/login.defs
15 MAIL_DIR /var/spool/mail //新建用户默认邮箱位置
25 PASS_MAX_DAYS 99999 //指定密码的有效期 对等/etc/shadow文件的第五段
26 PASS_MIN_DAYS 0 //这行指定的两次修改间隔时间 /etc/shadow文件的第四段
27 PASS_MIN_LEN 5 //密码最小长度 默认不小于5位
28 PASS_WARN_AGE 7 //代表修改到期前的警告天数,/etc/shadow 文件的第六段
33 UID_MIN 1000 //最小UID的范围
34 UID_MAX 60000 //最大UID的范围
42 GID_MIN 1000
43 GID_MAX 60000
60 CREATE_HOME yes //建立用户时是否自动创建用户的家目录
64 UMASK 077 //用户家目录的默认权限
68 USERGROUPS_ENAB yes //userdel删除用户时,是否删除用户的初始组
71 ENCRYPT_METHOD SHA512 //指定Linux用户的密码使用SHA512散列模式加密
[root@iZbp10cdilkxcswm4l893lZ ~]# useradd test1 //创建test1用户
[root@iZbp10cdilkxcswm4l893lZ ~]# passwd test1 //设置test1 用户密码
更改用户 test1 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
选项
-l //锁定用户,就是在/etc/shadow 文件前加一个! 表示锁定用户
-u //解除锁定用户
--stdin //配合管道符使用,可以用来批量指定用户的密码,如下
--stdin
[root@iZbp10cdilkxcswm4l893lZ test1]# echo "test11" | passwd --stdin test1 //密码为test11 账号为test1修改密码
更改用户 test1 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@iZbp10cdilkxcswm4l893lZ ~]# userdel -r test1 //test1 为用户名
-r 为删除用户及创建的目录
[root@iZbp10cdilkxcswm4l893lZ ~]# su test1
[test1@iZbp10cdilkxcswm4l893lZ root]$ whoami
test1
- : 加 - 是为了切换环境变量 env可以查看
[test1@iZbp10cdilkxcswm4l893lZ root]$ su - root
Password:
Last login: Mon Sep 7 15:56:21 CST 2020 on pts/0
[root@iZbp10cdilkxcswm4l893lZ ~]# env
HISTSIZE=1000
USER=root //修改这个 如果不加 - 这个就会是 test1 bash 没有切换过来
[root@iZbp10cdilkxcswm4l893lZ ~]# groupadd t3
[root@iZbp10cdilkxcswm4l893lZ ~]# tail -2 /etc/group
t2:x:1006:
t3:x:1007:
[root@iZbp10cdilkxcswm4l893lZ ~]# groupdel grouptest1 //前提是本用户组没有用户方可删除,附件组不算
[root@iZbp10cdilkxcswm4l893lZ ~]# gpasswd -a test1 grouptest //test1 为用户 grouptest为组 -a 添加
Adding user test1 to group grouptest
[root@iZbp10cdilkxcswm4l893lZ ~]# tail -2 /etc/group
t2:x:1006:
grouptest:x:1007:test1
[root@iZbp10cdilkxcswm4l893lZ ~]# gpasswd -d test1 grouptest //test1 为用户 grouptest为组 -d 删除
Removing user test1 from group grouptest
选项
-a 将用户 添加到组
-d 将用户 从组中删除
本文介绍了关于Linux的用户管理的权限等,建议在虚拟机中是,或真实环境中,一边练习,一边理解含义,知道有这个,在用的时候用,并在用之前合理规划用户管理