Linux管理本地用户和组

在所有网络操作系统当中,都有一个很重要的概念:用户和组
对于组而言,我们使用组的目的是便于分配权限,权限的管理
对于用户而言,我们使用的目的主要是便于标识用户的身份

描述用户和组

我们在使用服务器时
平常使用的是普通用户
而在修改配置时使用的是root超级用户
我们可以通过id命令来查看当前用户的身份以及信息
image.png
值得一提的是,在Linux系统中,UID为0的都是root用户
对于上面的id数值而言
gid代表用户的组、groups代表所属组、context代表上下关系
image.png
而普通用户的id一般是从1000开始直至10000
用户通过用户账户可以登录到系统,并且访问已经被授权的资源

用户账户概述

在Linux中,用户主要分为三大类:

  • 超级用户(也称为root用户)
    系统上最高权限的用户,具有对系统所有资源的完全访问权限
    这个账户通常仅用于系统管理任务,例如安装软件或配置系统
  • 普通用户
    系统上的一个标准用户账户
    可以访问有限的系统资源(通常根据管理员的权限设定)以及安装在该账户下的应用程序
    这个类型的账户通常用于普通用户,例如网站用户或员工账户
  • 程序用户
    Linux系统中预定义的一些具有特定权限的用户账户
    例如,www-data用户用于运行Web服务器进程,bindaemon用户用于运行系统服务等
    这些账户不应由用户手动创建或修改,因为它们的权限和用途是由系统本身所定义的

su切换用户和授权

对于用户而言,管理员可能需要切换至普通用户工作
普通用户可能需要提高权限对文件操作,下载,更改配置等
我们在这种情况下便可以使用su + '-' + [username]命令在不注销的情况下来更改工作用户
image.png
通过su - kiosk命令从root超级用户转换到kiosk用户
image.png
通过su -命令从kiosk用户输入root密码后转换到root超级用户

sudo提权操作

在生产中,在有多个工作协作者的情况下,不可能一个root账号给多个人一起使用
所以一般会给普通用户分配权限
也就是sudo命令
下面我们使用例子来进行理解:
image.png
我们在普通用户下使用sudo命令,随后需要我们进行密码的输入(root的密码)
但是输入之后却报了一个Sorry,try again的错误
这个原因是我们的普通用户kiosk没有使用sudo的权利
要想使用sudo,我们要在root用户下输入visudo命令
使用vim进入sudo命令配置文件进行权限编辑更改
进入之后找到这个
image.png
按i进入编辑模式,输入以下数据
image.png
其中,kiosk是你想要添加的用户的名称,ALL=(ALL)代表的是可以从任何终端来进行提权操作
NOPASSWD : ALL代表的是该用户进行提权操作时不需要输入密码
随后按esc退出编辑模式,输入:wq保存并退出
image.png
再次返回kiosk用户进行sudo操作就可以发现成功了,且不需要输入密码
我们也可以通过在root中输入vim /etc/sudoers操作进入sudo命令配置文件进行权限编辑更改
两种方法等效~

用户管理

用户账户文件 ——/etc/passwd
username:password:UID:GID:GECOS:/home/dir:/bin/bash

  • username:用户名
  • password:密码占位符
  • UID:用户账户的UID号
  • GID:所属基本组账号的GID号
  • GECOS:用户描述
  • /home/dir:宿主目录
  • /bin/bash:登录Shell信息

本地用户管理

对于用户管理,我们有以下几种操作,下面分别来进行介绍:

  • useradd + 选项 + 用户名 添加用户账号
  • usermod + 选项 + 用户名 修改用户账号
  • userdel + [-r] + 用户名 删除用户账号
    下面举个实例:
    我想要添加一个账户,并且详细设置他的信息
    image.png
    我们想在这里添加一个名叫Benny,uid为6666,gid为1111,描述为people的用户
    但是在创建时出现了一个错误,是由于这个组不存在的,所以我们需要先添加该组
    image.png
    这样便创建用户成功,可以使用grep Benny /etc/passwd命令在passwd文件内寻找Benny用户的信息
    image.png
    可以看到,里面的信息全都是按照我们创建时设置的信息来的
    如果想要修改信息,我们也可以使用usermod命令来进行修改
    image.png
    这里我们将Benny用户的uid修改为8888,名称修改为ThirteennyC
    通过grep Thirteenny /etc/passwd的指令可以看到也是成功修改

密码设置

用户密码文件——/etc/shadow
name:password:lastchage:minage:maxage:warning:inactive:expire:blank

  • name:用户账号名称
  • password:加密的密码串信息
  • lastchange:最近一次修改密码时间
  • minage:密码的最短使用天数(默认值0)
  • maxage:密码的最长有效天数(默认99999)
  • warning:密码过期提前警告(默认7)
  • inactive:密码过期后账号的活动天数,指定天数后账号被锁定
  • expire:账号失效时间(默认为空)
  • blank:保留字段(未使用)
    当创建了一个新用户之后,需要设置一个密码,否则无法登录(没有默认密码)
    我们可以通过在root用户下输入passwd命令来修改一个用户的密码
    image.png
    可以看到,在输入两次新密码之后显示修改密码成功

用户组管理

用户组文件——/etc/group
groupname:passwd:gid:groupmember

  • groupname:组名
  • passwd:组密码
  • gid:组号
  • groupmember:组成员
    对于用户组管理,我们有以下几种操作,下面分别来进行介绍:
  • groupadd + 选项 + 用户名 添加用户组号
  • groupmod + 选项 + 用户名 修改用户账组号
  • groupdel + [-r] + 用户名 删除用户组号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值