用户

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_bash
用户系统也是通过一个文件来管理的,默认的root用户id是0,

shadow文件说明
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_bash_02
加密算法类别
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_加密算法_03
$后面的数字6指定了加密算法使用的是第六种,sha512加密

增加用户,修改成同样的密码,查看/etc/shadow文件,可以看到,虽然两个密码字符串是一样的,但是在shadow文件中看到两个加密字符串是不一样的,这是因为同一个明文字符串在生成加密密文的时候采用了加盐加密算法,

/etc/passwd用户信息库文件的格式说明
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_添加用户_04
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_加密算法_05
用户名 centos
密码 新建用户不指定密码的话,由占位符x占位,改变密码后x由加密密码密文代替
uid 用户id值 1001
主组id 1001
注释信息, 可置空
家目录 /home下的家目录
默认的shell

添加用户 useradd

有些系统是adduser,查看文件属性,可以发现其实就是useradd的链接
``的作用是将which adduser的输出结果作为入参传给file命令
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_创建用户_06

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_bash_07

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_删除用户_08

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_bash_09
默认添加用户,会自动生成一个用户同名组。且默认uid跟gid相同,如果出现其他占用,则在原基础上加1

指定uid

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_加密算法_10

指定组名

-g后须跟已存在的组名或者组id,不然无法创建
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_创建用户_11

-G 后面跟的是一个组列表,指明该用户同时属于这么多的组
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_创建用户_12

添加用户描述信息

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_bash_13

创建用户时为其指定shell程序

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_创建用户_14
查看系统当前支持的shell
cat /etc/shalls

[root@yy ~]# cat /etc/shells 
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

指定家目录路径

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_创建用户_15

在指定路径之前,需确认目的路径是空的,不然无法创建,且不会从skel中复制用户环境配置文件进去
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_删除用户_16

查看当前useradd的默认参数配置

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_bash_17
create_mall_spool 默认会在 /var/spool/mail/下创建一个和用户名同名的文件夹,用来接收邮件信息
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_创建用户_18

修改默认配置项,以后使用useradd的时候不指定参数就按照默认参数进行创建
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_bash_19
修改的结果保存在 /etc/default/useradd文件中
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_删除用户_20

默认用户配置文件 /etc/login.defs

MAIL_DIR        /var/spool/mail   #用户的默认邮件目录
PASS_MAX_DAYS   99999             #密码的最大有效期
PASS_MIN_DAYS   0                 # 密码的最小天数
PASS_MIN_LEN    5                 # 密码最小长度
PASS_WARN_AGE   7                 # 密码告警等级
UID_MIN                  1000     # 用户id起始值 1000,才centos6中是500
UID_MAX                 60000     # 用户id最大值 60000, 起始可以有65535,2的16次方
SYS_UID_MIN               201     # 系统用户最小id值
SYS_UID_MAX               999     # 最大值
GID_MIN                  1000     # 组id最小值
GID_MAX                 60000     # 组id最大值
SYS_GID_MIN               201
SYS_GID_MAX               999
CREATE_HOME     yes               # 是否创建家目录
UMASK           077               # 用户掩码
USERGROUPS_ENAB yes               # 创建用户的时候自动创建组
ENCRYPT_METHOD SHA512             # 使用的密码加密方式。sha512是第6中

在创建用户的时候,回为其自动创建组,一般用户id和组id是相同的,如果在其他地方被占用,就在原来的基础上进行加1.以后创建的用户,如果不指定id,那么就在前一个用户的基础上对uid和gid进行递增

用户家目录的产生:

在使用useradd添加用户后,在/homt/下会自动生成一个同名的文件夹,进入文件夹是空的,但是有几个隐藏的用户环境配置文件.bash_logout .bash_profile .bashrc
该文件夹的产生的默认配置中,有一个配置项SKEL=/etc/skel,查看该路径,发现在其目录下。默认的就有这三个隐藏文件.bash_logout .bash_profile .bashrc,所以,使用useradd创建用户家目录的时候,使用默认的skel(骨骼)文件夹,将内部的文件拷贝到/home下,这才有了用户的家目录。

usermod

修改系统已经存在的用户属性
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_创建用户_21

userdel

删除用户
将会删除用户在 /etc/passwd 和 /etc/shadow中的记录,但是从数据安全出发,默认情况下,删除用户并不会删除用户的家目录和邮件信息,可以使用 -r 来同时删除家目录和邮件,
参数r的作用
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_加密算法_22

passwd

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_bash_23
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_加密算法_24
使用标准输入来修改密码
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_创建用户_25

id

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_加密算法_26
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_bash_27

su 和newgrp

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_创建用户_28

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_加密算法_29

charge

更改用户密码过期时间

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_删除用户_30

用户组也是可以加密的
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_bash_31

加密算法
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_删除用户_32
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_加密算法_33

用户/组 管理文件
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_添加用户_34
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_添加用户_35

添加用户组 groupadd

创建一个系统组
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_创建用户_36
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_加密算法_37

更改组模式

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_删除用户_38

删除组

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_添加用户_39

gpasswd

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_bash_40

总结

三个关键文件的总结
useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd_加密算法_41
用户及组的概念,就是将多用户的文件进行权限划分,使得不混乱。