zoukankan      html  css  js  c++  java
  • 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
    						不需要输入密码
    									
    
  • 相关阅读:
    c# partial 关键字的使用
    动软代码生成器基础使用
    T-SQL :编程理论 (一)
    T-SQL :SQL Server系统数据库(二)
    T-SQL :SQL Server 定义数据完整性 6大约束(三)
    T-SQL:SQL语句处理顺序的坑(四)
    c#实战开发:以太坊私链搭建(一)
    T-SQL :TOP和OFFSET-FETCH筛选 (五)
    T-SQL:谓词和运算符(六)
    T-SQL:是NULL不是NULL(七)
  • 原文地址:https://www.cnblogs.com/chenwang-23/p/11854478.html
Copyright © 2011-2022 走看看