IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 2021-08-06 Linux的用户管理 -> 正文阅读

[系统运维]2021-08-06 Linux的用户管理

1.用户查看和切换

  **1) 用户查看**
            whoami          	##查看当前用户
             id   用户名     	##查看当前用户id信息(用户id,主组id,附加组id)
             id  -u  用户名      ##查看当前用户id(用户Id---uid)
             id  -g  用户名      ##查看当前用户主组id(主组id---gid)
             id  -G  用户名      ##查看当前用户所有组的id
       可以在上述命令参数中加n可以显示名称
        eg :  id -Gn   用户名   ##查看当前用户所有组的名称
      **用户id范围:**  
                 0-65535         
                 0:              ##Linux超级用户id
                 1-999:          ##Linux系统自用id
                 1000-65535:     ##用户级id
              以上id设定规则都被记录在/etc/login.defs  
    **2)用户切换**
         su   -   用户名         ##切换用户(不加-,只切换用户名,不切换环境,命令在root环境上被拒绝)
      			  如果 root----->commonuser   不需要密码
                  commonuser---->root        需要密码
                  commonuser---->commonuser  需要密码
         注意:在做用户切换时,当使用完毕用户身份及时退出---使用命令exit或者logout命令
              不要在一个shell中反复执行su命令                                

2.用户和组建立的基本方法及监控

  •  用户建立:  `useradd    用户名`
     用户删除:  `userdel -r  用户名`
     组建立:    `groupadd    组名`
     组删除: `   groupdel    组名
     
     用户就是 /etc/passwd文件中的一行字符
     用户组就是/etc/group文件中的一行字符
    

    若只执行 userdel 用户名 ,只能删除用户信息(用户和组),不能删除 /home 的用户目录
    如何更能直观的查看建立和删除过程----可以通过watch 命令来监控,命令如下:
    watch -n 1 ------- watch监控命令默认是间隔两秒,所以-n 1可以将监控时间间隔设置为1秒
    tail -n 3 /etc/passwd /etc/group---------查看passwd和group的最后3行
    监控:watch -n 1 " tail -n 3 /etc/passwd /etc/group; ls -l /home " ----- 分号可以同时执行命令

3.用户建立时指定用户信息

       /etc/passwd   `westos   :  x  :  1000  :  1000  :  :  /home/westos  :  /bin/bash`  -----一共7列信息                            
                      用户名 : 密码  :用户id:主组id:用户备注信息:用户家目录:用户指定shell
     
        /etc/group     `westos  :  x  :  1000  :  `      --------------4列信息
                         组名 :  组密码 : 组id  :附加用户名
   **用户建立指定用户信息命令:** 
                `useradd   -u  xxx    用户名 `       ##建立用户时,指定用户id
                `useradd   -g  xxx    用户名 `       ##建立用户时,指定主组id,主组id必须存在
                `useradd   -G  xxx    用户名 `       ##建立用户时,指定附加组id,附加组id必须存在
                `useradd   -c  "xxx"  用户名 `       ##建立用户时,指定用户备注信息
                `useradd   -d  /home/xxx   用户名 `  ##建立用户时,指定用户家目录
                `useradd   -s /bin/sh  用户名 `      ##建立用户时,指定用户使用shell--/bin/sh /bin/bash /sbin/nologin
                `useradd   -M   用户名 `            ##建立用户时,不创建家目录
   **组建立指定组信息命令:**
                `groupadd   -g  xxx  组名 `          ##建立组时,指定组id

4.用户修改指定信息

     **用户修改指定信息命令:**
        `usermod   -l   新用户   原用户名 `     ##修改用户名称
        `usermod   -u  xxx    用户名 `         ##修改用户id
        `usermod   -g  xxx    用户名 `         ##修改用户主组Id,主组id必须存在
        `usermod   -G  xxx    用户名 `         ##修改用户附加组(再次添加会覆盖)
        `usermod   -aG xxx    用户名 `         ##添加用户附加组(不会覆盖)
        `usermod   -c "xxx"   用户名 `         ##修改用户备注信息
        `usermod   -d  /home/haha   用户名 `   ##修改用户家目录指向(不改变家目录名称)
        `usermod  -md /home/haha   用户名 `    ##修改用户家目录指向(改变家目录名称)
        `usermod   -s  /bin/sh    用户名 `     ##修改用户shell
        `usermod      -L       用户名 `        ##冻结账号
        `usermod      -U       用户名 `        ##解锁账号
     **组修改指定信息命令:**
        `groupadd   -g  xxx    组名 `          ##修改组id

5.用户信息文件

     /etc/shadow      文件内容说明(用户密码说明)
     `tail  -n  1  /etc/shadow  ` ------ jiayu:!!:xxx:xxx:xxx:xxx:xxx:xxx:xxx-----9列信息
   用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期:
   账号非活跃期:账号到期时间:用户自定义(未使用)
       **用户初建立时,账号是被锁状态,密码无法使用**
       **关于用户密码相关操作命令:**
                    passwd    -S   用户名       ##查看用户密码状态
                    passwd    用户名            ##修改用户密码
                    passwd                     ##修改当前用户密码
 (当前用户是root,那么直接输入新密码即可,没有长度字符要求;当前用户是普通用户,修改密码时,需要旧密码和新密
 码要求)
                   echo  xxxx  |   passwd --stdin  用户名   ##直接修改密码(快捷效率)
                   passwd     -l   用户名       ##冻结账号认证
                   passwd     -u   用户名       ##解锁账号认证
        passwd -l 锁定账户,在密码字符串的前面加上!!;passwd -u是去掉密码字符串前面的!!。
        usermod -L 默认只是锁定密码,在密码字符串前面加!;usermod -U 默认只是解锁密码,去掉密码字符串前面的!。
                   passwd     -d   用户名       ##用户密码删除(无密码可以直接登录)   
       **修改用户认证属性(用户密码属性)**
                   passwd    -e   用户名        ##将用户密码最后一次修改时间设置为0
                   chage   -d  0  用户名        ##将用户密码最后一次修改时间设置为0
                   设置完后,系统在重启输入密码之后,要求强制修改密码
                   passwd  -n  1  用户名        ##将用户密码最短有效期设置为1天(1天内不能修改密码,root除外)
                   chage   -m  1  用户名        ## 同上
                   passwd  -x  40 用户名        ##将用户密码最长有效期设置为40天(40天内必须修改密码,否则会被冻结)
                   chage   -M  40 用户名        ##同上
                   passwd -w   2  用户名        ##用户密码过期前警告时间设置为2天(最长有效期结束两天前)
                   chage  -W   2  用户名        ##同上
                   passwd  -i  1  用户名        ##用户密码超过最长有效期后还能使用的时间设置为1天
                   chage   -I  1  用户名        ##同上
                   chage  -E "2021-05-11"      ##将用户密码到期时间设置为2021-5-11  
                   以上数字可以设置为-1 ,哪一列设置-1之后,哪一列信息就为空,可以在参数上加-f 强制执行

5.用户权力下放

               在系统中普通用户无法执行系统管理命令
               如果需要普通用户执行系统管理,那么需要root用户进行授权
        授权方法:
                       visudo          ##此命令作用编辑/etc/sudoers并提供语法检测(直接使用vim编辑错误不提醒)
              在文件的100行左右,打开visudo后,:100可以找到100行在root下写普通用户------代码规范
              **用户名   主机名=(root)  [NOPASSWD:]  /command, /command1**
          主机名可以通过hostname命令得到,/command可以通过which 命令得到,免密命令可有可无,没有免密,第一次会要密码
		eg:   lee    westos.linux.org=(root)    NOPASSWD: /usr/sbin/useradd, /usr/sbin/userdel
		 
	   整体流程测试:   su   -   lee        ##先切换普通用户lee 
		              sudo  useradd  westostest   ##在lee第一次使用sudo命令时,需要输入lee密码,免密不需要
		              sudo  userdel -r westostest   ##普通用户lee执行删除westostest用户
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:35:59  更:2021-08-09 10:38:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 19:50:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码