• 如何在 Linux Ubuntu 上管理用户和权限


    前言

    首次安装 Linux 的服务器时,会自动创建具有超级管理员权限的root用户。这意味着该用户可以完全控制计算机上执行的资源和命令。

    但通常其他协作者也可能需要通过管理员访问服务器,如果向所有需要访问 root 用户的用户提供root用户的登录凭据是非常危险,因为他们可能会对服务器应用不需要的更改,造成整个系统故障。

    因此,了解如何管理用户并授予他们不同级别的权限至关重要。在本教程中,您将学习如何使用 Linux Ubuntu 18.04 服务器添加新用户、删除系统用户并授予他们管理员权限。

    在 Linux 中创建新用户

    如何在 Linux 中添加用户呢?如果我们想要在Linux环境下添加新用户需要先将新用户添加到系统,然后定义用户应属于的组的类型。组的存在主要用来管理用户所具有的权限。

    每个用户只能属于一个主组,该组是在创建用户时自动生成的,并且此用户创建的文件将分配给相应的主组。(可选)用户还可以属于一个或多个辅助组,以定义他们拥有的更多权限。

    假设您要创建新用户,需要先创建组,然后添加用户,若要创建组,可以使用以下命令:

    sudo addgroup my_group
    

    注意:将my_group替换为要分配给组的名称。

    创建一个新用户,并通过输入以下内容来授予他访问服务器的权限:

     adduser first_user
    

    注意:将first_user替换为你的用户名。

    可以使用以下命令将用户添加到一个或多个组中:

    sudo usermod -a -G group1,group2 first_user 
    

    注意:将group1group2替换为应将用户添加到的组的名称,并将first_user替换为要添加的用户的名称。

    系统将要求您指定用户登录服务器的密码以及其他可选信息,如果您不想输入它,只需按每个项目的回车键即可。最后,将显示一个提示:回答Y接受,N拒绝。

    以下屏幕显示了Ubuntu创建新组my_group时的提示,创建用户first_usersecond_user,最后将两个新用户添加到组my_group

    在这里插入图片描述

    验证创建的用户

    要验证用户创建是否正确,可以测试该用户名及密码能否通过 SSH 连接,如示例first_user

    新创建的用户无权访问 root 权限。但是可以运行带有sudo的任何命令来获取相关的错误消息:
    在这里插入图片描述
    如果你想查看和你在同一组的其他用户,可以通过添加grep命令来使用getent group命令:

    getent group | grep mygroup 
    

    同样,要查看与新用户关联的组,只需输入以下指令:

    getent group | grep first_user 
    

    注意:将mygroupfirst_user分别替换为要搜索的组和用户的名称。

    以下屏幕显示了两个命令的输出,其语法为group: password: GID: users,其字段分别对应于组的名称、密码ID和属于组的用户列表。
    在这里插入图片描述

    向用户授予 sudo 权限

    要想给已经创建的用户授予管理权限,即 sudo 权限,需要使用 root 用户登录到服务器,并将first_user帐户添加到sudo组。

    以 root 用户(或已启用 sudo 的用户)身份登录后,输入以下内容:

     sudo usermod -aG sudo first_user
    

    此时first_user就具有了sudo权限,可以使用以下指令来查看添加是否成功
    在这里插入图片描述

    删除用户

    删除用户只能由具有管理员权限的其他用户执行。要删除用户,请执行以下命令:

    sudo deluser --remove-home first_user  
    

    注意,通过这种方式,将删除此用户的文件所在的/ home /文件夹,以及用户的主要组。
    在这里插入图片描述

    结语

    使用 Linux 将组和用户添加到服务器是一个非常简单但也有潜在危险的操作。因此,请务必始终牢记要创建的用户类型,并注意要向其授予管理员权限的用户。

    👇点击下方公众号卡片获取资料👇
  • 相关阅读:
    “华为杯”研究生数学建模竞赛2015年-【华为杯】E题:数控加工刀具运动的优化控制模型研究(续)(附MATLAB代码实现)
    minio之docker安装
    太绝了,撸了谷歌技术官写的Spring源码笔记后,感觉之前都白读了
    【C#】【SAP2000】读取SAP2000中所有Frame对象的应力比到Grasshopper中
    #FFFFFF
    Word控件Spire.Doc更新至最新版v10.7,增强产品稳定性,修复老版本漏洞
    autox.js的三个版本universal、armeabi-v7a、arm64-v8a的区别
    一些逻辑漏洞案例
    【AI】行业消息精选和分析(23-11-20)
    VUE DPlayer编译
  • 原文地址:https://blog.csdn.net/qq_45172832/article/details/127083248