Linux 用户管理增、删、改、查用户相关配置文件详解。

linux的用户管理

          • -

linux支持多个用户同时使用同一个用户登陆系统,windows在修改组策略的情况下,也可以多个人使用同一个用户登陆。

远程连接Linux的方式:ssh

远程连接windows的方式:RDP


查看系统中的用户

          • -
[root@gong ~]# id
# id,查看当前登录的用户信息

-u    查看用户uid
-g    查看用户gid
-G    查看用户所属组id

[root@gong ~]# id -u gong01
[root@gong ~]# id -g gong01
[root@gong ~]# id -G gong01

用户相关的配置文件

用户配置文件-passwd

          • -

/etc/passwd

[gong@oldboy ~]$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash

root    用户名
x        密码占位符
0        uid
0        gid
roor    注释信息
/root    用户家目录
/bin/bash    用户使用的解释器

用户密码配置文件-passwd

          • -

/etc/shadow

[root@oldboy ~]# cat /etc/shadow
gong:$6$BCVy.L6s$BXID8pfq7FqQITZrhj5W6Fpfl7SERqLzn0OAOGoPULnN/lXarLzC2nvnSkjyUM3TiKfY2mIMByGi4/Mu5/TwT0:18351:0:99999:7:::

第一列        用户名
第二列        !! 没有密码,表示密码
第三列        18351从1970年开始数的第多少天,上一次修改密码的时间从1970到现在有多少天。
第四列        密码最小使用天数 0表示无限制
第五列        密码过期天数,99999天
第六列        密码过期前七天提示 7
第七列        密码过期后n天强制修改密码
第八列        账户失效时间,从1970年开始计算
第九列        保留

用户的分类(约定、规范)

          • -

用户UID系统含义0超级用户,拥有系统的最高权限1-200系统用户,系统分配给系统程序使用,不需要登陆系统201-999系统用户,用来运行服务,不需要登陆系统的1000+普通用户

注意: 在CentOS

用户相关的命令

          • -
useradd
adduser

useradd [options] [用户名]
默认情况下,创建用户的时候会创建以用户名相同的组,并把用户加入里面

-u        指定uid
-g        指定gid,也可以指定属组
-G        指定属组,附加组;如果加入多个附加组则用','分开
-M        不创建家目录
-s        指定登陆的shell
-c        注释
-d        指定家目录
-r        创建一个uid范围是201-999的系统用户,不创建家目录。
-p        在创建的时候指定密码

          • -
userdel
Usage: userdel [options] 用户名
默认情况下,在删除用户的时候同时会把同名的用户组也删除,但是如果组内有其它用户,则不会删除组,只删除用户。

-r        删除用户的同时,删除用户的家目录,和用户的其它邮件目录 (删干净)

          • -
usermod
Usage: usermod [options] username
-u    修改uid
-g    修改gid
-G    修改附加组
-a    配合-G,在修改附加组的时候,起到追加效果
-m    修改(迁移)家目录,必须配合-d使用
-d    指定修改后的家目录
-s    修改登陆的shell
-c    修改注释
-l    修改登陆的用户名
-L    锁定用户
-U    解锁用户

          • -
id
whoami

用户的扩展知识

          • -
[root@gong ~]# grep -vE '^#|^$' /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最小值
UID_MIN                  1000

# 普通用户的uid最大值
UID_MAX                 60000

# 使用-r 创建用户的最小uid
SYS_UID_MIN               201

# 使用-r 创建用户的最小uid
SYS_UID_MAX               999

# 创建组的最小uid
GID_MIN                  1000

# 创建组的最大uid
GID_MAX                 60000

# 使用-r 创建组的最小uid
SYS_GID_MIN               201

# 使用-r 创建组的最小uid
SYS_GID_MAX               999

默认是否创建家目录
CREATE_HOME    yes

# 创建家目录时的默认权限700
UMASK           077

# userdel删除的时候是否删除对应组
USERGROUPS_ENAB yes

# 用户密码的加密算法
ENCRYPT_METHOD SHA512
[root@oldboy ~]# ll /etc/default/useradd 
-rw-r--r--. 1 root root 119 Oct 30  2018 /etc/default/useradd



[root@oldboy ~]# cat /etc/default/useradd 
# 当/etc/login.defs  中的USERGROUPS_ENAB为no的时候在此处控制。
GROUP=100

# 默认的普通用户家目录
HOME=/home

# 是否启用账号过期停权 -1 为停用
INACTIVE=-1

# 账号终止日期,未设置
EXPIRE=

# 创建用户时候默认的shell
SHELL=/bin/bash

# 创建时复制里面的内容,用户误删家目录的环境变量时,可以复制里面的内容
SKEL=/etc/skel

# 创建用户时是否创建邮件文件
CREATE_MAIL_SPOOL=yes

用户的密码管理

          • -
passwd

# 创建密码的规范
- 密码的长度最好大于10个字符
- 密码包含大小写字母,及特殊字符 ! @ #
- 不规则性 (不要出现自己的名字、公司名称、电话、等简单的密码)

[root@oldboy ~]# passwd --help
Usage: passwd [OPTION...] <accountName>

# 给当前用户更改密码
[root@oldboy ~]# passwd  

# 给test01更改密码
[root@oldboy ~]# passwd test01

# 使用非交互式更改密码
[root@oldboy ~]# echo 123 |passwd --stdin test01

# md5su加密,并做校验
echo $RANDOM|md5sum

# tee 在终端输出并且追加到文件
echo 123|tee a.txt

# 密码管理命令 
yum -y install expect
usage: mkpasswd [args] [user]
  where arguments are:
    -l #      (length of password, default = 9)
    -d #      (min # of digits, default = 2)
    -c #      (min # of lowercase chars, default = 2)
    -C #      (min # of uppercase chars, default = 2)
    -s #      (min # of special chars, default = 1)

mkpasswd
-l        密码长度
-d        数字
-c        小写字母
-C        大写字母
-s        特殊字符

标签: Linux, 配置文件, root, etc, 创建, 用户, 密码, uid

相关文章推荐

添加新评论,含*的栏目为必填