用户配置文件和密码配置文件,用户组管理,用户管理,usermod命令,用户密码管理,mkpasswd命令
用户配置文件和密码配置文件
- cat /etc/passwd 能够查看密码配置文件

- passwd配置文件的每一行都是一个用户,第一行是root用户,下面是安装系统时系统建立的一些用户
- 每一行信息都由冒号 : 来分隔列,每隔一个冒号 : 就是新的一列信息
- 用root用户行举例,第一列是 root 用户名信息
- 第二列表示密码信息,全部用户第二列都是 x ,由于密码信息实际并不在这里,用x暂代
- 第三列是用户的uid信息,也就是说全部者的id,root uid 是0
- 第四列是用户的gid信息,也就是说所属组的id,root的gid是0
- 第五列表示注释信息,没有实质的做用,有些用户第五列是空的
- 第六列是用户的家目录路径信息,root的家目录路径就是 /root
- 第七列是用户的shell路径信息,用户登陆通常都有一个交互界面
- 这个交互界面就是shell,人使用这个交互界面来与机器交互
- 通常用户的交互界面都是 /bin/bash,若是shell信息显示为 /sbin/nologin ,那么就不能够登陆

- root行往下拉,chrony行下面,新创建的用户信息会在chrony行下面出现
- 好比新建的 aming ,user1等用户的信息就出如今chrony下面
- aming,user1,用户的第五列注释信息就是空的,什么也没写,他们的shell都是 /bin/bash
- 他们的家目录跟root不一样,都在/home下面

- cat /etc/shadow 能够查看存放用户密码的文件
- shadow文件跟passwd文件的每一行都是 一 一 对应的,passwd第一行是root,shadow第一行也是root
- passwd 最后一行是 user1,shadow 最后一行也是user1
- shadow文件里面每一行信息也是用冒号 : 来分隔每一列
- shadow文件第一列与passwd的第一列同样,是用户名称信息
- 第二列是用户密码信息,若是用户没有设置密码,这一列就是空的,这里存放的密码是通过加密的,并且不能解密

- 想在同一行执行两条命令,这两条命令可使用分号 ; 来分隔
- 即便两个用户设置了相同的密码,可是在shadow里面记录的加密密码信息也是不同的
- 第三列信息是天数,是距离1970年1月1日,到密码修改的这一天,有多少天的天数信息
- 第四列也是天数,最少多少天后才能更改密码的天数,好比3,那么3天后才能修改密码
- 第五列也是天数,是指最多多少天后必须修改密码,好比3,超过3天后密码就不能修改了,3天内才能修改密码
- 第六列也是天数,表明警告,提醒用户,密码将在多少天后过时
- 第七列也是天数,若是设置为3,那么当帐号密码过时3天后,这个帐号就会被锁定,不能再使用
- 第八列也是天数,设置距离1970年1月1日多少天后,就锁定帐号,不能再使用
- 第九列是保留字段,没有实际意义
用户组管理
- cat /etc/group 查看组配置文件
- cat /etc/gshadow 查看组密码配置文件

- 如图所示,在shadow,gshadow,passwd,group等目录里面,除了shadow,gshadow,passwd,group等文件外,还有 shadow~,gshadow~,passwd~,group~等备份文件,这是源文件的备份,系统自动备份的
- 可是有时候数据不必定同样,源文件修改以后,这个备份文件不必定会及时被修改

- groupadd grp1 建立一个叫作 grp1 的组
- groupadd -g 1005 grp2 建立一个叫作 grp2 的组,指定gid为1005
- 参数 -g 1005 能够指定gid为1005, cantos7自定义id号必需要在1000以上,1000如下的为系统保留

- groupdel grp1 能够删除用户组 grp1
- 可是 groupdel user1 不能删除用户组 user1 ,由于user1组里面有用户存在
- groupdel 只能删除空的用户组,不能删除非空用户组
用户管理

- 查看group组配置文件,能够看到grp2组的信息,gid是1005
- 建立一个新用户 user3,指定 user3 的uid为1004 用户组-g为grp2组
- 参数 -u 1004能够指定uid为1004,-g 能够指定用户组为grp2
- 查看passwd配置文件,能够看到,user3用户信息,uid=1004,gid=1005, grp2的gid就是1005
- user3的gid与grp2的gid是一致的

- 除了能够指定uid和gid以外,还能够指定家目录跟shell
- 如图所示,-d 参数能够指定用户家目录为 /home/aming111
- 参数 -s 能够指定用户的shell为 /sbin/nologin
- 查看passwd文件能够看到,user4的用户家目录为 /home/aming111,shell为/sbin/nologin

- 如图所示,-M 参数能够指定不建立用户家目录
- 使用 -M 参数建立 user5 以后,查看passwd文件能够看到,user5的家目录是/home/user5
- 可是查看home目录,home目录里面并无user5目录存在
- 这就是-M的做用,建立用户后,用户信息有家目录信息存在,可是实际并不建立这个目录
- 关于建立用户后,默认的uid跟gid
- 若是建立的时候,没有特别指定uid,那么默认uid会根据上一条用户的uid信息自动增长1
- 若是指定了uid,那么uid就为指定的数值,可是不能够与已经存在的用户uid一致
- 而gid的状况又有一些不一样
- 若是没有特别指定gid的状况下,建立的新用户gid会根据uid自动增长
- 好比已经存在用户组grp3,gid=1003
- 我建立一个uid=1003的新用户,通常来讲,gid也会等于1003
- 可是由于已经存在gid=1003的用户组grp3,因此这个时候,gid会自动增加为1004
- 若是指定了用户组的话,那么gid就等于指定用户组的gid
- 建立用户的时候,可使用useradd, 也可使用adduser,效果同样

- 使用userdel user8 就能够把user8用户删除
- 可是这样删除用户后,user8的家目录/home/user8目录并无被删除
- 由于centos7设计时考虑家目录可能有重要文件,为了防止误删除,家目录让管理员手动删除

- 如图,实际仍是能够在删除用户的时候,把家目录也一块儿删除的
- 使用 -r 参数就能够在删除用户的同时,把用户家目录也一块儿删除
- 删除user7用户后,查看/hmoe目录,user7目录也不见了
usermod命令
- usermod能够更改用户属性,

- 使用 usermod 能够更改用户uid,如图,-u参数能够更改uid
- 参数-g 能够更改用户gid或者更改成指定的用户组
- 参数 -d 能够更改用户家目录,参数 -s 能够更改用户shell
- 还有一个参数 -G 能够更改用户扩展组
- 一个用户只能有一个gid,可是一个用户能够属于多个用户组,除了gid所属的用户组以外
- 其它用户组就会在扩展组里面显示

- 如图,使用 usermod -G grp2 aming 就能够把grp2用户组添加到用户aming的扩展组里面
- aming的扩展组有两个用户组, aming 和 grp2
- 若是再使用一次 usermod -G user5 ,那么grp2会被替换为user5
- 若是想同时将grp2组和user5组添加到aming的扩展组里面
- 可使用 usermod -G grp2,user5 aming
- 就是在使用-G参数的时候,同时将两个组都写出来,这样就能够同时添加两个组进入扩展组里面去
- 参数 -g 只能修改gid不能修改扩展组
用户密码管理

- cat /etc/shadow 查看shadow文件,看第二列密码位置
- 能够发现有一些行的第二列是 !! 或者 *
- 两个感叹号!! 表明密码为空,这些用户是不能登陆的
- 星号* 表明密码被锁定了,也是不能使用了
- 查看用户信息若是发现密码处是以上两种状况就知道这个用户是有问题的

- 使用参数 -l 就能够锁定用户,如图所示,passwd -l user5 就把user5锁定了

- 如图,把aming帐号锁定,在查看aming的用户信息
- 能够看到,aming用户原来的密码前面多了两个感叹号 !! 这就表示这个密码被锁定了

- 使用 -u 参数就能够解锁用户密码,如图,passwd -u aming 这样就解锁了aming用户
- 查看用户信息,能够看到aming密码前面的感叹号 !! 已经消失

- 还可使用 usermod -L aming 来锁定aming用户
- 能够看到,aming用户信息密码处,前面多了一个感叹号 !
- 因此,只要看到用户信息密码前面有感叹号,就知道这个用户被锁定了

- 解锁可使用 usermod -U aming 来解锁
- 能够看到aming的密码前面的感叹号消失了
mkpasswd命令
- 默认不存在这个命令,须要安装包
- yum install -y expect 使用这个命令安装包
- mkpasswd 能够生成随机密码,默认是9位,包含数字,字母,特殊字符

- 直接使用mkpasswd就能够生成9位密码
- mkpasswd -l 12 能够指定密码长度为12,-l参数能够指定生成的密码长度
- 还能够指定特殊字符个数,参数-s就能够指定特殊字符个数
- passwd -l 12 -s 3 就会生成12位3个特殊字符的随机密码
- passwd -l 12 -s 0 就会生成12位0个特殊字符的随机密码,就是没有特殊字符
欢迎关注本站公众号,获取更多信息