4

Linux-day04

用户管理

[root@qls ~]# head  -1  /etc/passwd
root:x:0:0:root:/root:/bin/bash

以:为分隔符

root        #用户名

x           #密码占位符

0           #用户id

0           #用户组id/GID

root        #用户注释信息

/root       #家目录

/bin/bash   #用户登陆的shell

[root@qls ~]# head  -1  /etc/shadow
root:$6$PZUVzAeQdrf8bOt5$6fhIZlLOf6EoweOMBbv7JMKaA6hCwfBUAHfNbvXI6eXl2ePXJZmmciXQk3yfcUesYRRjvD.Tk6VXcDl0wkV6d.::0:99999:7:::

[root@qls ~]# head  -1  /etc/shadow

跟用户相关的命令
useradd
    选项
        -u      #设置uid
        -g      #指定GID,组名称,前提组要存在
        -c      #设置注释信息
        -s      #指定登陆shell
        -M      #不建立家目录
        -G      #指定附加组
        -r      #建立系统用户,不建立家目录
        -d      #指定家目录
        
usermod
    选项
        -u      #修改uid
        -g      #修改组信息
        -c      #修改注释信息
        -s      #修改登陆shell
        -l      #修改用户名称
        -G      #添加附加组
        -a      #追加附加组

userdel     #删除用户,默认不删除家目录和邮件信息
    -r      #删除家目录和邮件信息

CentOS-7
0       #root  超级管理员
1-200   #系统用户,进程服务运行的用户
201-999 #系统用户,服务软件运行的用户
1000+   #普通用户

用户的建立过程
[root@qls ~]# ll  /etc/login.defs 
-rw-r--r--. 1 root root 2028 Oct 30  2018 /etc/login.defs
[root@qls ~]# ll /etc/default/useradd 
-rw-r--r--. 1 root root 119 Oct 30  2018 /etc/default/useradd

[root@qls ~]# grep  -Ev  '^$|^#'  /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
UID_MAX                 60000
SYS_UID_MIN               201
SYS_UID_MAX               999
GID_MIN                  1000
GID_MAX                 60000
SYS_GID_MIN               201
SYS_GID_MAX               999
CREATE_HOME yes
UMASK           077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512 

[root@qls ~]# cat /etc/default/useradd 
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

#用户家目录的环境变量不存在故障
-bash-4.2# pwd
/root
-bash-4.2# cp /etc/skel/.bash*  ./
-bash-4.2#

密码管理

passwd      #设置密码

passwd      #针对当前用户设置密码
passwd  username  #针对用户设置密码

root用户能够给任意用户设置密码,密码没有要求
普通用户只能针对本身设置密码,密码必须最低是8位,且结构不能太简单

非交互设置密码
[root@qls ~]# echo  '1'  |passwd   --stdin    root

随机密码
[root@qls ~]# echo  $(echo  $RANDOM|md5sum |cut -c  1-10)|tee  pass.txt   |passwd   --stdin root

[root@qls ~]# yum  install -y expect

[root@qls ~]# mkpasswd   -l  24  -d 6  -c 6 -C 6 -s 6
#D4U;jT1D3k%hr@0ty4KP&4~

用户组

基本组,一个用户只能有一个基本组
附加组,用户有多个附加组

用户组相关配置文件

[root@qls ~]# ll /etc/group
-rw-r--r--. 1 root root 670 Aug 17 11:29 /etc/group
[root@qls ~]# ll /etc/gshadow
----------. 1 root root 524 Aug 17 11:29 /etc/gshadow

[root@qls ~]# cat /etc/group
root:x:0:

root    #用户组名称
x       #密码占位符
0       #GID
4列      #显示该用户属于哪一个用户附加组,就显示这个用户名称,

[root@qls ~]# cat  /etc/gshadow
root:::


组相关命令
groupadd

    选项
        -g      #指定gid号
        
[root@qls ~]# groupadd   test-1
[root@qls ~]# 
[root@qls ~]# 
[root@qls ~]# groupadd   test-2
[root@qls ~]# 
[root@qls ~]# 
[root@qls ~]# useradd   -u 888  -g test-1 -G test-2  user-1
[root@qls ~]# 
[root@qls ~]# 
[root@qls ~]# id  user-1
uid=888(user-1) gid=1005(test-1) groups=1005(test-1),1006(test-2)
[root@qls ~]# groupadd   test-3
[root@qls ~]# 
[root@qls ~]# 
[root@qls ~]# usermod   -aG  test-3  user-1
[root@qls ~]# id  user-1
uid=888(user-1) gid=1005(test-1) groups=1005(test-1),1006(test-2),1007(test-3)
[root@qls ~]# groupadd   test-4
[root@qls ~]# 
[root@qls ~]# usermod  -G  test-4  user-1
[root@qls ~]# id  user-1
uid=888(user-1) gid=1005(test-1) groups=1005(test-1),1008(test-4)

groupmod

    选项
        -g      #修改gid
        -n      #修改组名称
        
groupdel 
    用户组不属于任何用户的基本组,能够删除,不然,不能删除
    解决删除用户组属于用户的基本组
        1.修改该用户的基本组
        2.删除用户组下面的用户。

查看用户的信息

id      #查看用户信息

[root@qls ~]# echo  $USER
root
[root@qls ~]# echo $UID
0

w       #查看系统全部登陆的用户

who     #查看系统登陆用户

whoami  #查看当前登陆用户

用户受权

su  #切换用户

su 和 su  -  有什么区别

我的配置
-rw-r--r--. 1 root root  193 Aug 17 10:36 .bash_profile
-rw-r--r--. 1 root root  231 Aug 17 10:36 .bashrc

全局
[root@qls ~]# ll  /etc/profile
-rw-r--r--. 1 root root 1819 Oct 31  2018 /etc/profile
[root@qls ~]# ll  /etc/profile.d/*
[root@qls ~]# ll /etc/bashrc 
-rw-r--r--. 1 root root 2884 Aug 15 16:11 /etc/bashrc

profile     #系统环境变量,别名
bashrc      #本地变量和别名

我的和全局变量有冲突,我的优先全局

交互式shell
非交互式shell
登陆式shell
非登陆式shell

sudo

visudo   #受权

100 root    ALL=(ALL)       ALL
101 user01  ALL=(ALL)       /bin/cat,/bin/yum

    用户名     主机名=(角色)  权限
user01  ALL=(ALL)       NOPASSWD:/bin/cat,/bin/yum
                        不须要输入密码
相关文章
相关标签/搜索