Linux-用户管理

2019-08-01  本文已影响0人  徐弱西

用户管理

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 一定要加 :-

用户提权:sudo

上一篇 下一篇

猜你喜欢

热点阅读