• Linux用户管理




    一. 引子

    Linux是一个多用户、多任务的分时操作系统,系统上每一个进程都有一个特定的文件,每个文件都被一个特定的用户拥有。如果需要使用操作系统资源,首先必须以用户的身份进入系统,而Linux中的用户分为两种一个是“普通用户”另一种则是我们常说的超级管理员“超级用户(root)”,而每个用户都属于一个用户组或多个用户组,系统可以对一个用户组中的用户进行集中管理。组与组之间的控制权限是不同的,根据系统的需求,把用户分别放在不同的组中。
    在这里插入图片描述
    注意:在Linux中的每个用户必须属于一个组,不能独立于组外。

    二. 用户管理

    在工作中一般如果我们被分配到的系统账号一般都不具有root权限,登录时尽量少用root帐号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,再切换到root用户,一些公司为了防止黑客攻击甚至关闭了root账号的远程登陆权限,这个操作后面也会给大家介绍到。

    1. 用户切换

    使用下面的命令可以在登陆的状态下切换到另一位已经在系统中所存在的账户,输入后回车输入该账户名密码回车即可登陆。

    su -[用户名]
    
    • 1

    值得注意的是从权限高的用户切换到权限低的用户不需要密码,反之则需要。

    2. 注销用户

    使用以下命令可以注销当前登陆的用户,如果是普通用户登陆切换到别的用户,执行这个命令又会回到上一个账户,如果没有上一个切换用户则退出当前终端。
    值得注意的是:这条命令在图形化界面中是无效的

    logout
    
    • 1

    还有一个几乎相同效果的命令如下:

    exit
    
    • 1

    3. 添加用户

    使用下面的命令可以在当前系统中创建多个用户,前提是拥有创建用户的权限,每创建一个用户都会创建一个相应的以用户名为目录名的目录,默认该目录存放在/home目录下,用这个用户登陆时默认就会登陆在其本身对应的目录下。

    useradd [用户名]
    
    • 1

    也可以使用 -d 参数在创建用户的同时指定目录,作为这个用户的对应目录。

    useradd -d [目录路径] [用户名]
    
    • 1

    4. 设置用户密码

    使用下面的命令可以给当前系统中的已经存在的用户设置一个登陆密码,如果不指定用户名则默认给当前登陆的这个用户设置密码,在实际工作中尽量把密码设置的复杂一点。

    passwd [用户名]
    
    • 1

    5. 删除用户

    执行下面的命令可以删除当前系统中一个已经存在的用户,默认这样不加任何参数删除是不会删除被删除用户的家目录的。

    userdel [用户名]
    
    • 1

    如果想要在删除系统用户的同时将其对应的家目录也删除的话可以使用 -r 参数,如下:

    userdel [用户名] -r
    
    • 1

    一般情况下建议保留家目录。

    6. 查询用户信息

    可以使用下面的命令查询对应用户名的信息,会显示用户的

    • UID 类似于用户的身份证号
    • GID 用户所属组的ID
    • groups 用户的所有所属组ID
    id [用户名]
    
    • 1

    如果用户不存在则会提示用户不存在。
    如果想查看当前登陆用户的用户信息可以使用以下命令:

    who am i
    
    • 1

    可以看到登陆时间登陆IP地址等信息

    三. 用户组管理

    1. 新增用户组

    使用下面的命令可以在当前系统中新增一个用户组,回车后没有提示就是创建成功了

    groupadd [组名]
    
    • 1

    2. 新增用户时添加组

    在创建用户时可以使用 -g 参数执行创建的用户在哪个组

    useradd -g [用户组] [用户名]
    
    • 1

    3. 修改用户的组

    使用下面的命令可以修改用户的所属组

    usermod -g [用户组] [用户名]
    
    • 1

    四. 用户和组相关文件

    1. /etc/passwd

    用户(user)的配置文件,记录用户的各种信息
    每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

    2. /etc/shadow

    口令的配置文件
    每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

    3. /etc/group

    组(group)的配置文件,记录Linux包含的组的信息
    每行含义:组名:口令:组标识号:组内用户列表

  • 相关阅读:
    卫龙更新招股书:年营收48亿 创始人刘卫平家族色彩浓厚
    智慧城市应用数据治理的作用有哪些?
    C++ Date 类的编写
    Vue3计算属性
    JS,函数语法+示例,非常详细!!!
    PCL内置点云类型
    Java高手的30k之路|面试宝典|精通项目介绍方法&优化简历项目介绍
    DT 卡通材质学习 一
    C#设计模式详解(1)——Template Method(模板方法)
    ssh2-sftp-client实现前端项目自动部署
  • 原文地址:https://blog.csdn.net/Siebert_Angers/article/details/127930609