Linux系统中的用户管理

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

     1)用户存在的意义

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

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

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

 3.用户切换

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

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

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

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

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

                                           ##每秒监控一次

 

useradd username              ##用户建立

 

 

 useradd 用法

 

 

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

- G id username                    ## 附加组 id

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

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

usermod
 
- l                                       #更改用户名称      
 
- u   id   username                          #更改用户id
- g         id   username                                #更改主组id(初始组id)
- G           id   username                            #更改用户附加组身份
- aG        id   username                             #添加用户附加组身份
- c          “word”    username                         #更改用户说明
- d         dir     username                               #更改家目录指向(不会更改真实目录的名字)
- md      dir    username                               #更改家目录指向同时更改家目录名称
 
- s       /dir          username                          #更改默认shell
 
 
 
 -L                                                           #冻结账号
 
 -G                                                           #解锁                    
 
 
 
groupmod - g                   ##更改用户组id


 

 

 

 

 7.用户认证信息管理 

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

 

 

监控命令

监控命令的运行

   passwd

   1          2          3        4          5       6  7 8  9

#1.用户名称

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

chage -m 0 lee                        ##效果相同(lee在0天内不能改密码)

 
#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 命令
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值