阅读 107

Linux基础之(用户管理)

用户基本概述

什么是用户

用户在这里指的是能够正常登录Linuxwindows系统的账号

image-20210704145724378

为什么需要用户

  • 系统上的每一个进程(运行的程序),都需要一个特定的用户运行;

  • 通常在公司是使用普通用户管理服务器,因为root权限过大,容易造成故障;

用户有哪些分类

  • 系统对用户有一个约定?(约定娶你,就真的会娶嘛?)

    用户UID系统中约定的含义
    0超级管理员,最高权限,有着极强的破坏能力
    1~200系统用户,用来运行系统自带的进程,默认已创建
    201~999系统用户,用来运行用户安装的程序,所以此类用户无需登录系统
    1000+普通用户,正常可以登陆系统的用户,权限比较小,能执行的任务有限

查询用户ID信息

  • 使用id命令查询当前登录用户的信息

    [root@web ~]# id #查看当前所登陆的用户信息 uid=0(root) gid=0(root) groups=0(root) [root@web ~]# id bi #查看其它用户的信息 uid=1000(bi) gid=1000(bi) groups=1000(bi) 复制代码

用户相关配置文件

当我们创建一个新的用户,系统会将用户的信息存放在/etc/passwd中,而密码单独存储在/etc/shadow中也就是说这两个文件非常的重要,不要轻易删除与修改。

passwd文件

  • /etc/passwd配置文件解释如下图,或者使用命令man 5 passwd获取帮助

    image-20210704150952528

shadow文件

  • /etc/shadow配置文件解释如下图,或者使用命令man 5 shadow获取帮助

    image-20210704151134873

用户相关命令

添加用户useradd

若想要添加Linux系统普通用户,可以使用useradd命令,使用root账号登录Linux系统之后就可以添加系统普通用户了。

选项功能描述
-u指定要创建用户的UID,不允许冲突
-g指定要创建用户基本组
-G指定要创建用户附加组,逗号隔开可添加多个附加组
-d指定要创建用户家目录
-s指定要创建用户的bash shell
-c指定要创建用户注释信息
-M给创建的用户不创建家目录
-r创建系统账户,默认无家目录

添加用户示例1

  • 创建birenchong用户

    [root@web ~]# groupadd ops [root@web ~]# groupadd dev [root@web ~]# useradd -u 5001 -g ops -G dev -c "2000 student" -s /bin/bash birenchong 复制代码

    • 用户ID为5001

    • 基本组为ops,附加组dev

    • 注释信息2000 new student,登陆shell:/bin/bash

添加用户示例2

  • 创建一个mysql的系统用户

    [root@web ~]# useradd -r dba -M -s /sbin/nologin 复制代码

    • 该用户不需要家目录。该用户不需要登陆系统

修改用户usermod

若想要修改Linux系统普通用户,可以使用usermod命令,使用root账号登录Linux系统之后就可以修改系统普通用户了。

选项功能描述
-u指定修改用户的UID
-g指定要修改用户基本组
-G指定要修改用户附加组,使用逗号隔开多个附加组,覆盖原有的附加组
-d指定要修改用户家目录
-s指定要修改用户的bash shell
-c指定要修改用户注释信息
-l指定要修改用户的登陆名
-L指定要锁定的用户
-U指定要解锁的用户

修改用户示例1

  • 修改birenchong用户

    [root@web ~]# groupadd network [root@web ~]# usermod birenchong -u 5008 -c "student" -g network -aG sa -l new_birenchong 复制代码

    • uid5008

    • 基本组为network,附加组为ops,dev,sa

    • 注释信息为student,登陆名称为new_birenchong

修改用户示例2

  • 修改new_birenchong用户

    #配置密码 [root@web ~]# echo "123" | passwd --stdin new_birenchong #锁定用户 [root@web ~]# usermod -L new_birenchong #解锁用户 [root@web ~]# usermod -U new_birenchong 复制代码

    • new_birenchong配置密码

    • 锁定该用户,然后测试远程连接登陆

    • 解锁该用户然后再次测试远程连接登陆

删除用户userdel

若想要删除Linux系统普通用户,可以使用userdel命令,使用root账号登录Linux系统之后就可以删除系统普通用户了

删除用户示例1

  • 删除new_birenchong用户

    [root@web ~]# userdel -r new_birenchong 复制代码

    • 连同家目录一起删除

删除用户示例2

  • 批量系统中此前创建过的所有无用的用户

    [root@web ~]# awk -F ':' '$3>1000{print $1}' /etc/passwd | sed -r 's#(.*)#userdel -r \1#g' | bash 复制代码

    • 使用awk提取无用的用户名称

    • 使用sed拼接删除用户的命令

    • 调用userdel命令,连同家目录一起全部删除

设定密码passwd

  • 创建用户后,如需要使用该用户进行远程登陆系统则需要为用户设定密码,设定密码使用passwd

    • 1.普通用户只允许变更自己的密码,无法修改其他人密码,并且密码长度必须8位字符

    • 2.管理员用户允许修改任何人的密码,无论密码长度多长或多短。

交互设定密码

  • 通过交互方式为用户设定密码

    [root@web ~]# passwd #给当前用户修改密码 [root@web ~]# passwd root #给root用户修改密码 [root@web ~]# passwd birenchong #给birenchong用户修改密码,普通用户只能自己修改自己 复制代码

非交互设定密码

  • 非交互式设定简单密码

    [root@web ~]# echo "123" | passwd --stdin birenchong 复制代码

  • 非交互式设定随机密码

    # mkpasswd是随机生成密码的一个工具,如果没有这个命令,请先安装 [root@web ~]# yum install -y expect # -l:指定密码长度(默认是7位数) -d:指定数字个数 -c:指定小写字母个数 -C:指定大写字母个数 -s:指定特殊字符个数 [root@web ~]# echo $(mkpasswd -l 10 -d 2 -c 2 -C 2 -s 4) | tee pass.txt | passwd --stdin birenchong


作者:晚霞晴
链接:https://juejin.cn/post/7026540879246524453


文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐