用户管理
1.创建用户
uid范围(CentOS7):约定
0:超级用户
1-200:系统用户(内置)
201-999:系统用户(咱们自己创建)
1000+:普通用户(1000-6w)
uid范围(CentOS):约定
0:超级用户
1-499:系统用户
500+:普通用户
useradd、adduser:
执行此命令,对4个文件/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow
-u:指定uid
-g:指定用户基本组(指定的组 必须已存在)
-G:指定用户附加组
-r:指定系统自建用户,不创建家目录。指定id范围201-999的系统用户
-d:指定用户的家目录
-s:指定用户的登录shell :
-M:不创建用户家目录
-c:指定注释信息
创建服务运行用户,禁止登录:
不创建家目录:useradd test -M
指定登录shell:useradd test -s /sbin/nologin
/etc/passwd:
[root@oldboyedu ~]# head -1 /etc/passwd
以冒号为分隔符,一共7列
用户名 密码占位符 用户uid 用户gid 注释信息 用户家目录 用户登录的shell
root : x :0 :0: la ji: /root : /bin/bash
oldboy100: x :1101 :1101 :: /home/oldboy100: /bin/bash
/etc/shadow:
没有密码 !!
[root@oldboyedu ~]# head -2 /etc/shadow
以冒号为分隔符,一共9列
用户名 没有密码(*)SHA512加密 时间戳(1970年1月1日) 密码最小使用天数
zls_o: !! : 18076 :0:
密码最大使用天数 密码过期前7天,提示更改密码 密码过期后有两天强制更改密码时间
99999: 7: 2:
从1970年算,这个账号的过期时间 保留位
6627567: 空
2.修改用户
usermod
-u:修改用户的uid
-g:修改用户的基本组
-s:修改用户登录shell
-c:修改用户的注释信息
-l:更改用户登录名
-L:锁定用户
-U:解锁用户
------------修改附加组 组合----------
-G:修改用户的附加组
-a:追加附加组
-------------------------------------
----------修改目录组合---------------
-d:修改用户的家目录
-m:迁移家目录
3.删除用户
userdel
-r:删除用户并删除家目录
4.用户创建的相关文件
[root@oldboyedu ~]# grep -i '^[a-z]' /etc/login.defs
#邮件目录
MAIL_DIR /var/spool/mail
#密码最大天数
PASS_MAX_DAYS 99999
#密码最小天数
PASS_MIN_DAYS 0
#密码最小长度
PASS_MIN_LEN 5
#密码过期前7天警告
PASS_WARN_AGE 7
#普通用户最小uid
UID_MIN 1000
#最大uid
UID_MAX 60000
#系统自建用户最小uid
SYS_UID_MIN 201
#系统.....最大uid
SYS_UID_MAX 999
#普通用户最小gid
GID_MIN 1000
#普通。。。最大gid
GID_MAX 60000
#系统用户最小gid
SYS_GID_MIN 201
#系统。。。最大gid
SYS_GID_MAX 999
#是否创建家目录
CREATE_HOME yes
#规定家目录权限777-077=700
UMASK 077
#创建用户的同时创建组,删除用户的同时删除组
USERGROUPS_ENAB yes
#密码的加密算法
ENCRYPT_METHOD SHA512
[root@oldboyedu ~]# grep -i '^[a-z]' /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
5.用户密码管理
passwd:修改用户密码
passwd 修改当前用户
passwd username 修改指定用户密码
非交互式创建密码
[root@zls ~]# echo "123" | passwd --stdin zls
生成随机密码 && 记录文件
[root@zls ~]# echo $RANDOM|md5sum|cut -c 1-10
[root@zls ~]# echo $(echo $RANDOM|md5sum |cut -c 5-14) |tee pass.txt| passwd --stdin zls
生成复杂随机密码
#mkpasswd密码生成工具, -l设定密码长度,-d数子,-c小写字母,-C大写字母,-s特殊字符
[root@zls ~]# yum install -y expect //需要安装扩展包
[root@zls ~]# mkpasswd -l 10 -d 2 -c 2 -C 2 -s 4
6.组的基本管理
1.基本组 -g
2.附加组 -G
groupadd:
-g:指定gid
groupmod
-g:修改gid
groupdel
相关文件
[root@zls ~]# head -2 /etc/group
组名 组密码占位符 gid 附加成员
egon: x: 1103: zls
字段名称
1.组的名称
2.组的密码(存在/etc/gshadow)
3.组GID信息
4.仅显示附加成员,基本成员不显示
[root@zls ~]# head -2 /etc/gshadow
组名 组密码,!没有密码 组管理员 附加成员
dba: !: : zls
root:::
bin:::bin,daemon
// /etc/gshadow由 ':' 分割, 分割为4个字段,每个字段的具体含义如下:
字段名称
1.组名称
2.组密码
3.组管理员
4.仅显示附加成员,基本成员不显示
6.切换用户身份
1.shell的分类
1)交互式shell
2)非交互式shell
3)登录式shell
4)非登录式shell
2.环境变量
个人配置文件:
~/.bash_profile
~/.bashrc
全局配置文件:
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
加载顺序(登录式shell)
/etc/profile
/etc/profile.d/zls.sh
/root/bash_profile
/root/bashrc
/etc/bashrc
bash(非登录式shell)
/root/bashrc
/etc/bashrc
/etc/profile.d/zls.sh
相关命令:
su 一定要加 :-
网友评论