Linux用户管理

1 用户/组

用户类型

 超级用户(root): 超级用户是系统的管理员,拥有对系统的完全控制权限。他们可以执行任何操作,包括修改系统文件和安装软件。

系统用户: 系统用户是为了运行系统服务或进程而创建的用户,通常没有登录系统的权限。这些用户用于运行系统中的各种服务,例如Web服务器或数据库。

普通用户: 普通用户是一般系统用户,具有有限的权限。他们可以登录系统,执行一些操作,但不能修改系统关键文件或进行敏感的系统管理任务。

 

组类型

用户的主组: 每个用户在系统上都有一个主组,它是用户在创建时分配的默认组。用户的文件通常属于他们的主组。

附加组: 除了主组外,用户还可以属于多个附加组。这些组提供了额外的权限,使用户能够访问其他组的资源。

 

2 用户管理

id命令可以查看当前用户登入信息,UID为用户id,GID为用户所属组id,groups为用户所属组的id

切换用户:使用su/sudo命令,普通用户切换到root用户需要密码,而root用户切换到普通用户则不需要密码

/etc/passwd 和 /etc/shadow  是在Linux系统中用于存储用户账户信息的两个重要文件。

/etc/passwd :

  • 这个文件包含了系统上的用户账户信息,每个用户账户一行。
  • 每行包含了多个字段,字段之间由冒号(:)分隔。
  • 常见字段包括用户名、密码(在过去存储在这里,但现在一般是'x',真正的密码信息存储在/etc/shadow中)、用户ID、组ID、用户描述、主目录路径、登录shell等。
  • 如:username:x:1000:1000:John Doe:/home/username:/bin/bash

/etc/shadow:

  • 这个文件包含了用户账户的加密密码和密码策略信息。
  • 对于安全性考虑,实际的密码信息已经从/etc/passwd中移出,存储在这个文件中。
  • 仅超级用户(root)有权限读取这个文件。
  • 每行包含了多个字段,字段之间由冒号(:)分隔。
  • 常见字段包括用户名、经过加密的密码、上次修改密码的日期、密码过期期限、密码过期前的警告天数、密码不活跃期限、账户失效日期等。
  • 如:username:$6$SALT$ENCRYPTED_PASSWORD:18405:0:99999:7:::

 

创建用户

使用useradd创建用户

-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
G:表示指定用户的用户附加组,选项的值可以是用户姐的id,也可以是组名
-u:uid,用户的id (用户的标识符),系统默认会从500之后按顺序分配ud,如果不想使用系统分配的,可以通过该选项自定义
-c 注释: 添加注释

 

修改用户

如果在使用useradd命令时加入了错误的数据或者要对其信息进行修改,除了直接在/etc/passwd、/etc/shadow 中修改外,也可以使用usermod与gpasswd命令

usermod [参数] 用户名  

gpasswd [参数] 用户组名

 

删除用户

删除用户可以使用userdel命令,添加“-r“参数可以同时删除其家目录

userdel 用户名

 

3 用户组管理

一个用户可以属于多个组

 /etc/group是 Linux 系统中的一个文件,用于存储用户组的信息

/etc/group:

  • 每行由冒号(:)分隔的字段组成。
  • 通常包含四个字段,分别是组名、组密码、组ID(GID)、组成员。

 

创建用户组

创建组的命令为groupadd

-g:表示选择自己设置一个自定义的用户组ID数字,如果自己不指定则默认从500之后递增

groupadd 参数 组名

 

修改用户组

修改用户组命令为groupmod

-g:表示选择自己设置一个自定义的用户组ID数字
-n: 表示设置新的用户组的名称

groupmod 参数 组名

 

删除用户组

删除用户组命令为groupdel

groupdel 组名

 

4 密码管理

只有root管理员才可以修该其他用户的密码,普通账户只能修改自己的密码,并且普通用户没有修改其他用户密码的权限

/etc/shadow是一个重要的系统文件,它存储了用户的加密密码和相关的账户信息。该文件只能由系统管理员或具有特权的用户访问

 

使用passwd命令修改密码

passwd 用户名

 

5 其他

安全用户

使用 usermod 命令可以禁止或允许用户登录。可以通过修改用户账户的 shell 为 /sbin/nologin 来禁止用户登录。例如,使用以下命令禁止用户登录:

sudo usermod -s /sbin/nologin 用户名

或者创建用户时指定登入Shell为 /sbin/nologin 如:

useradd 用户名 -s  /sbin/nologin

 

posted @   Lc---  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示