vim高级用法及用户管理 4.11PM

1. 用户及用户组存在的意义

     1)用户存在的意义

               系统资源是有限的,如何合理分配系统资源?           在这个问题解决时,必须要有两个资源来配合
 
          ①.身份      account
          ②.授权      author
          ③.认证      auth            (authentication)
 
      3A机制,3A机制组成系统中最底层的安全架构
 
      2)用户组存在意义
 
                用户组是一个逻辑容器 ,   对用户进行归类和统一授权
 
 
 

2. 用户及用户组在系统中的存在方式 

               电脑对数字敏感                id
 
              人类对字符串敏感             名称
 
   id <-------> 名称 必须要记录到文件当中用户才能存在  (id和名称)
 
   用户就是/etc/passwd文件中的一行字符vim高级用法及用户管理 4.11PM
 
   用户组存在的方式就是/etc/group 文件中的一行字符vim高级用法及用户管理 4.11PM
 
 

 3.用户切换

 
1)用户查看
 
*whomai ##查看当前用户vim高级用法及用户管理 4.11PM
 
*id                                ##查看用户id信息vim高级用法及用户管理 4.11PM
 
           -u                      ##查看用户的用户id
           -g                      ##查看用户主组id
           -G                     ##查看用户所有的组的id
           -n                     ##显示名称vim高级用法及用户管理 4.11PM
 
 
2)用户切换
su - username
-                                       #切换用户环境vim高级用法及用户管理 4.11PM
 
username                        ##如果root ----> commonuser              不需要后者密码
                                        ##commonuser ----> root                     需要密码
                                        ##commonuser ----> commonuser       需要密码
 
              #注意:在做用户切换时,当使用完毕用户身份应及时退出 ,不要在一个shell中反复执行su命令
 
              #在一个shell中反复执行su命令会导致环境错乱
 

 4. 用户涉及到的系统配置文件

/etc/passwd                  ##用户身份信息文件
 
                                    #用户名称 : 用户密码 : 用户id :用户主组id : 用户说明 :用户家目录 :用户默认shell
 
vim高级用法及用户管理 4.11PM
 
/etc/group               ##组身份信息文件
 
                             #组名称 :组密码:组id :组的附加成员
 
vim高级用法及用户管理 4.11PM
 
/etc/skel/.*                       ##用户环境配置文件模板
 
/etc/shadow                     ##用户认证信息文件
 
/home/username             ##用户家目录

 5. 用户和用户组建立及删除监控用户建立的命令

watch -n 1  "tail -n  4  /etc/passwd  /etc/group  ;  echo  =======  ;  ls  -l   /home"

                                           ##每秒监控一次vim高级用法及用户管理 4.11PM

 

useradd username              ##用户建立

vim高级用法及用户管理 4.11PM

 

 

 useradd 用法

 

 

-u id username                       ##uid                                2**16=0-65535  (2的16次方)
 
                                               ##0                                   表示超级用户
 
                                               ##1-200                           系统预留id
 
                                               ##201-999                       系统用户
 
                                               ##1000-60000                 用户级用户
 
                                               ##/etc/login.defs             记录用户建立的默认规则 (可查询以上规则)vim高级用法及用户管理 4.11PM
 
-g id username                    ##主组id

vim高级用法及用户管理 4.11PM

vim高级用法及用户管理 4.11PM
-G id username                    ##附加组id

vim高级用法及用户管理 4.11PM

-d dir username                   ##指定用户家目录vim高级用法及用户管理 4.11PM
 
-c    “word”   username                ##指定用户说明(用双引号标起来)vim高级用法及用户管理 4.11PM
 
-s shell username                 ##指定用shellvim高级用法及用户管理 4.11PM
 
userdel  -r  username               ##用户删除            -r 删除用户的系统配置文件
 
groupadd  groupname              ##组建立
 
              -g id groupname                 ##指定组名称vim高级用法及用户管理 4.11PM
 
groupdel  groupname                ##组删除  
 
 

6. 用户和用户组的信息管理

usermod
 
-l                                       #更改用户名称      vim高级用法及用户管理 4.11PM
 
-u   id   username                          #更改用户idvim高级用法及用户管理 4.11PM
-g         id   username                                #更改主组id(初始组id)vim高级用法及用户管理 4.11PM
-G           id   username                            #更改用户附加组身份vim高级用法及用户管理 4.11PM
-aG        id   username                             #添加用户附加组身份vim高级用法及用户管理 4.11PM
-c          “word”    username                         #更改用户说明vim高级用法及用户管理 4.11PM
-d         dir     username                               #更改家目录指向(不会更改真实目录的名字)vim高级用法及用户管理 4.11PM
-md      dir    username                               #更改家目录指向同时更改家目录名称vim高级用法及用户管理 4.11PM
 
-s            id   username                             #更改默认shellvim高级用法及用户管理 4.11PM
 
groupmod -g                   ##更改用户组idvim高级用法及用户管理 4.11PM

vim高级用法及用户管理 4.11PM
 

 

 

 

 7.用户认证信息管理 

cat  /etc/shadow              #在管理文件里查看认证信息

vim高级用法及用户管理 4.11PM

 

 

监控命令

vim高级用法及用户管理 4.11PM

监控命令的运行

vim高级用法及用户管理 4.11PM

vim高级用法及用户管理 4.11PM   

   1          2          3        4          5       6  7 8  9

#1.用户名称

passwd -S lee                    ##查看密码状态vim高级用法及用户管理 4.11PM
 
#2.用户加密字符
 
passwd    lee                         ##更改lee密码(只有root可以执行)vim高级用法及用户管理 4.11PM   
 
 
“echo 123 | passwd --stdin lee”                 #超级用户也可用此命令更改用户密码(密码改为123)
 
vim高级用法及用户管理 4.11PM
 
 
passwd                             普通用户改密码
 
vim高级用法及用户管理 4.11PM
 
 
Changing password for user lee.
Current password:                                #输入原始密码
New password:                                     ##输入新密码(8位以上无序数字+无序字母组合)
Retype new password:                         ##重复输入
passwd: all authentication tokens updated successfully.
 
 
#冻结认证)
passwd   -l   lee                          ##冻结账号认证vim高级用法及用户管理 4.11PM
 
passwd -u lee                       ##解锁账号认证vim高级用法及用户管理 4.11PM
 
                                        
passwd   -d   lee                  #密码删除       (密码为空,点一下就可进入)          vim高级用法及用户管理 4.11PM
 
#3.密码使用天数
*1970-1-1算其到今天的时间
passwd  -e  lee          ##修改默认使用时间为0,重新登陆需更改一次密码才能进入vim高级用法及用户管理 4.11PM 
 
chage   -d   lee                 ##账号必须改密码才能登陆系统
 
#4.密码最短有效期
passwd -n 1 lee                      ##lee在1天内不能改密码vim高级用法及用户管理 4.11PM

chage -m 0 lee                        ##效果相同(lee在0天内不能改密码)vim高级用法及用户管理 4.11PM

 
#5.密码最长有效期
passwd -x 40 lee                    ##40天内lee用户必须更新密码否则会被冻结
 
chage -M 30 lee                     ##效果相同(30天内lee用户必须更新密码否则会被冻结)
 
 
#6.密码过期警告
passwd  -w   lee                     ##账号过期前警告时间2天
 

chage    -W   lee                    ##效果相同 (账号过期前警告时间1天)

 
#7.认证非活跃天数
passwd   -i   2   lee                       ##账号认证最大时间超过后还能用2天(帐号过期之后还能用这个账号2天)
 
chage     -I   1  lee                        ##效果相同  (  大写的i  )
 
 
#8.账号认证到期时间
chage  -E  "2020-05-11"               ##2020-5-11这天账号会立即过期,被冻结
 
#9.未启用功能
 
 

8.用户权力下放 

#在系统中普通用户时无法执行系统管理命令的
#如果需要普通用户执行系统管理动作那么需要
#root用户来进行授权
 
普通用户授权方式 “sudo”
作用:
可以使普通用户使用指定的用户身份呢运行命令
 
授权方法:
visudo                            ##此命令作用是编辑/etc/sudoers并提供语法检测
 
在文件的100行左右       ##代码规范性
 
username           hostname=(newusername)                           [NOPASSWD:]  /command,  /
command1
 
#lee用户 在linux.wesots.com主机=(用超级用户身份)      执行useradd命令
lee                  linux.westos.com=(root)                                 /usr/sbin/
useradd
 
#westos用户   在linux.wesots.com       使用超户                   免密                      执行
useradd userdel
westos              linux.wesots.com =      (root)                       NOPASSWD: /usr/sbin/
useradd, /usr/sbin/userdel
 
 
测试:
su - lee
 
sudo    useradd      westostest                 ##lee第一次使用sudo命令时需要输入
lee密码
 
exit                 #退出lee
 
su - westos
 
sudo     userdel  -r    westostest                ##westos可以免密执行userdel 命令