Linux用户管理

本文介绍了Linux系统中用户和组的基本概念,包括用户的作用和系统中相关文件的详细信息。接着讲解如何管理用户和组,如创建、查看、删除以及修改用户和组的相关属性。最后,讨论了两种提权方式:使用su进行永久提权和通过sudo进行临时提权,并通过实例展示了它们的使用方法。
摘要由CSDN通过智能技术生成

一、用户和组的基本概念

1、概念

Users and groups:(官方定义)

  • Every process (running program) on the system runs as a particular user.
  • Every file is owned by a particular user.
  • Access to files and directories are restricted by user.
  • The user associated with a running process determines the files and directories accessible to that process.

用户和组:

  • 系统上的每个进程(正在运行的程序)都以特定用户的身份运行。
  • 每个文件都由特定用户所有。
  • 对文件和目录的访问受用户限制。
  • 与正在运行的进程相关联的用户确定该进程可访问的文件和目录。

2、用户的作用

  • 查看当前登录的用户信息;
  • 查看文件的owner;
  • 查看运行进程的username。

3、用户组信息存储的文件

(1)用户基本信息文件:/etc/passwd (冒号分割为7列字段)

查看文件基本信息文件命令:

# cat /etc/passwd

Alt
字段说明:

  • 用户名:登录系统的名字。
  • x:密码占位符。
  • UID:用户的身份证号。
    系统约定:RHEL 7
    uid : 0 特权用户;
    uid : 1-499 系统用户;
    uid : 1000+ 普通用户。
  • GID:GROUP组号。每创建一个用户,系统会自动创建同名的组。
  • 描述:默认为用户名。比如经理manager。
  • HOME(家目录):登录系统时,所在目录。
  • 登录shell:命令解释器。

(2)用户密码信息文件:/etc/shadow (冒号分割为9列字段)

查看用户密码信息文件命令:

# cat /etc/shadow

Alt
字段说明:

  • 第一段: 用户名
  • 第二段: 加密的密码
  • 第三段: 最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
  • 第四段: “最小时间间隔”指的是两次修改口令之间所需的最小天数。
  • 第五段: “最大时间间隔”指的是口令保持有效的最大天数。
  • 第六段: “警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
  • 第七段: “不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。(软限制,到期后多少天就不能用账号了。)
  • 第八段: “失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。(硬限制)
  • 第九段: 备用

(3)组信息文件 /etc/group (冒号分割为4列字段)

查看组信息文件命令:

# cat /etc/group

组名 : 组密码 : 组ID : 组成员

二、管理用户/组

1、管理用户

(1)创建用户

直接创建用户,不指定选项:
# useradd 用户名

创建用户并制定选项:
# useradd 用户名 -选项
选项:-u指定uid、-g指定属组、-d指定家目录、-s指定shell等

(3)查看用户

# id 用户名
# grep 创建的用户名 /etc/passwd

(3)删除用户

# userdel -r 用户名
注意:有-r则彻底删除;没有-r只删除用户,不删除文件。

(4)修改用户密码

方法一:root修改其他用户密码
# passwd 用户名

方法二:用户登录,修改自己的密码
# passwd

(5)修改登录shell

# usermod -s /bin/bash 用户名
# usermod -s /sbin/nologin 用户名

2、管理用户组

(1)创建组

# groupadd 组名 -选项
选项:-g指定组ID等

(2)查看组信息

# grep 创建的组名 /etc/group

(3)删除组

# groupdel 组名

(4)组成员管理

把用户添加到组中:
# usermod -aG 组名 用户名

三、用户提权

1、永久提权su(Switching users with su)

下面通过一个案例来了解su永久提权:
(1)登录用户user01,并切换到root用户

[user01@localhost ~]$ su - root
密码:
上一次登录:一 6月 19 17:12:11 CST 2023:0 上
[root@localhost ~]# whoami
root

(2)root切换到user02用户

[root@localhost ~]# su - user02
[user02@localhost ~]$ whoami
user02

(3)依次退出当前用户

[user02@localhost ~]$ exit
登出
[root@localhost ~]# whoami
root
[root@localhost ~]# exit
登出
[user01@localhost ~]$ whoami
user01

2、临时提权sudo(Running commands as root with)

简单来说:授权就把用户添加到组里面,取消授权就把用户从组中剔除。
下面通过一个案例来了解sudo提权:
(1)观察授权信息

[root@localhost ~]# vim /etc/sudoers
第107行:允许wheel用户组中的用户在不输入用户的密码的情况下使用所有命令。
%wheel  ALL=(ALL)       ALL		//说明:允许wheel用户组	不输入密码	使用所有命令

(2)创建用户user01,并把用户添加到wheel组中

[root@localhost ~]# useradd user01 -G wheel
[root@localhost ~]# id user01
uid=1004(user01) gid=1006(user01) 组=1006(user01),10(wheel)

(3)设置用户密码,并切换user01登录

[root@localhost ~]# passwd user01
[root@localhost ~]# su - user01

(4)用户user01使用sudo提权

[user01@localhost ~]$ useradd userkk
useradd: Permission denied.
useradd:无法锁定 /etc/passwd,请稍后再试。

结论:不使用sudo提权,创建用户失败!

[user01@localhost ~]$ sudo useradd user03
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] user01 的密码:
[user01@localhost ~]$ id user03
uid=1005(user03) gid=1007(user03) 组=1007(user03)

结论:使用sudo提权,创建用户成功!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值