当前位置: 首页 > news >正文

用户管理——配置文件和命令

  1. 在 Linux 系统中各种会存多个用户。我们的使用者靠用户名来区分各自登陆的账号。
  2. 如果我们的用户想要使用系统资源,就必须在系统中拥有合法的账号。在系统多个文件中都保存了用户身份相关信息

一、用户相关配置文件

1./etc/passwd

在/etc/passwd 文件中用:当做分隔符,一共有 7 列。每列的内容分别是:

第一列:用户名

第二列:密码占位符(如果为空则不能进行远程连接登录)

第三列:用户ID(UID)(1-999是系统用户范围,1000-65535是普通用户范围)

第四列:初始组ID(GID)(初始组只能有一个)

第五列:用户描述信息(类似注释)

第六列:用户家目录

第七列:用户的shell类型(/bin/bash可以正常登录系统,/sbin/nologin不能登录系统,可以使用系统资源)

2./etc/shadow

第一列:用户名

第二列:经过加密的密码,$6$开头是sha-512加密(!!或*表示没密码,!表示锁定用户,使之不能登录系统)

第三列:密码最近更改时间(时间戳转日期:date -d "1970-01-01 时间戳 days")

第四列:密码不可被更改的天数(0表示随时可以被修改)

第五列:密码最长有效期

第六列:密码到期前的警告天数

第七列:密码过期后的宽限天数(-1代表密码永不失效)

第八列:账号失效日期(时间戳,超过后无法使用) 

第九列:保留

3./etc/group

第一列: 组名称(默认组成员)

第二列:组密码占位符

第三列:组ID号(GID)

第四列:组内成员列表(临时:root用户设置组密码,其他用户通过newgrp切换到组内;永久:root用户将其他用户添加到组内【gpasswd -a 用户 组名】,添加后会在/etc/group最后一列记录)

4./etc/gshadow

第一列:组名称

第二列:经过加密的组密码(空或!表示没有密码)

第三列:组管理员(多个管理员用,分隔)

第四列:组成员(多个成员用,分隔)

5./etc/login.defs

当用户创建时,同时在目录/var/spool/mail 中创建一个用户 mail 文件

 用户权限默认掩码值

新建用户默认家目录权限,如果 HOME_MODE 未设置则使用 UMASK 值权限创建用户家目录

  • 指定密码保持有效最大天数
  • 表示修改密码的间隔时间
  • 表示密码到期前多少天系统提示用户密码到期

  • 指定 UID 最小为 1000,也就是说创建新用户时用户的 UID 从 1000 开始。
  • 指定最大 UID 为 60000。
  • 系统用户最小 201
  • 系统用户最大 999
  • 最小 GID 为 1000。
  • 最大 GID 为 60000。
  • 系统组 ID 最小 201
  • 系统组 ID 最大 999
  • 可 使 用 的 额 外 UID/GID 范 围 , 当 前 RockyLinux 中 可 指 定 UID 大 于 65535 甚 至 超 出600100000 范围的 ID 都能成功设置,在创建用户 UID 大于 60000 时就会有警告信息。

表示 userdel 删除用户时,如果该用户组没有成员存在,则会删除用户组


指定是否创建用户家目录,yes 为创建,no 表示不创建
创建用户时默认创建用户家目录

使用 SHA512 加密方式

6./etc/default/useradd

  • 创建用户的默认文件
  • 新创建用户时默认初始组的 GID 号(公共组),现在使用的都是私有组机制(根据创建用户名称创建组)
  • /home 表示用户家目录的位置
  • 表示是否启用账号过期禁用,-1 表示不启用
  • 表示账号过期,不设置表示不启用
  • 指定了新建用户的默认 shell 类型
  • 指定用户家目录中默认文件的来源,新建用户家目录下的文件都是从这个目录中复制的
  • 表示是否创建邮箱缓存 yes 表示创建 

7./etc/skel

定义了新建用户在主目录下默认的配置文件

二、用户管理相关命令

1.useradd  [选项]  用户名

  •         -u:uid用户标识号,此标识必须唯一
  •         -g:group指定新用户登录时所属的初始组
  •         -G:指定新用户的附加组(必须已存在)
  •         -d:home指定新建用户的家目录
  •         -s:shell指定新建用户默认的shell类型
  •         -c:comment对新建用户添加说明信息
  •         -f:inactive指定账号过期多长时间后会被永久停用
  •         -M:创建时不生成用户家目录
  •         -r:自动将用户uid和gid指定到1000以内,不在/home下创建家目录

例:创建服务用户(nginx)给服务(nginx)使用

1.WINSCP传输安装包

 2.安装好nginx之后启动nginx,监听端口

3.nginx服务已经启动,现在查看进程

4.发现当前启动nginx进程的是nobody用户,进去/etc/passwd查看nobody

5.我们改一下启动这个服务的服务用户,改成自己设置的,自己设置一个nginx服务用户

6.重新卸载安装nginx服务,将nginx服务用户添加进去

7.再次启动nginx服务,打开pstree,可以看到现在我们启动nginx服务进程的就是nginx服务用户 

2.usermod  [选项]  用户名

  •         -u UID:修改用户的指定UID
  •         -g 组名:修改用户的指定初始组
  •         -G 组名:修改用户的附加组
  •         -c  说明:修改用户的描述信息
  •         -d  目录:结合-m选项直接对源家目录进行改名实现修改家目录
  •         -s  shell类型:修改用户的登录shell类型
  •         -L 用户名:锁定用户的密码
  •         -U 用户名:解锁用户的密码
  •         -l  新用户名  旧用户名:修改用户名

3.userdel  [选项]  用户名

  •         -r  :删除用户时,连家目录一起删除

4.passwd  [选项]  用户名

  •         -l  用户名:锁定用户的密码,使之无法登录系统
  •         -u  用户名:解锁用户密码
  •         -S  用户名:查看用户账号状态

注:第一次对一个用户使用时是为了创建密码,第二次使用时为了修改密码。当普通用户没有密码时,自己也修改不了密码

非交互式密码设置:echo  "123"  |  passwd  --stdin  user1

5.groupadd  [选项]  GID  组名

  •         -g:指定新建用户的GID,该GID必须唯一
  •         -r:创建系统组(1000以内)

6.gpasswd  [选项]  用户名  组名

  •         -A:指定组管理员
  •         -a:向指定组内添加一个成员
  •         -d:把指定用户从组内删除
  •         -M:定义组内成员列表,用户之间用,分隔(覆盖式)

7.newgrp  组名

  •         多个用户组之间切换,可以使用exit退出

8.groupdel 组名

  •         删除用户组

9.groups

  •         查询用户所属哪些组

三、其他相关命令

1.id  用户名

  •         显示用户的UID,初始组、附加组列表

2.su  用户名

  •         切换用户身份(su - 用户名:完全切换)
http://www.lryc.cn/news/609778.html

相关文章:

  • 【数据库】使用Sql Server创建索引优化查询速度,一般2万多数据后,通过非索引时间字段排序查询出现超时情况
  • Linux-Shell脚本基础用法
  • 【VSCode】 使用 SFTP 插件实现多服务器同步
  • 随机森林知识点整理:从原理到实战
  • 区块链基础之Merkle树
  • 数据结构——单向链表
  • CMakeLists.txt学习
  • 《JavaScript高级程序设计》读书笔记 35 - 代理捕获器、反射方法以及代理模式
  • React 19 + Next.js 15 中实现混合布局
  • React配置proxy跨域
  • ref和reactive的区别
  • 通过 Flink 和 CDC 从 Oracle 数据库获取增量数据,并将这些增量数据同步到 MySQL 数据库中
  • [GESP202306 四级] 2023年6月GESP C++四级上机题超详细题解,附带讲解视频!
  • Spring Boot + ShardingSphere 实现分库分表 + 读写分离实战
  • AWS VPC Transit Gateway 可观测最佳实践
  • 【物联网】基于树莓派的物联网开发【23】——树莓派安装SQLite嵌入式数据库
  • 16_OpenCV_漫水填充(floodFill)
  • Nginx vs Spring Cloud Gateway:限流功能深度对比与实践指南
  • Spring Cloud Gateway 实现登录校验:构建统一认证入口
  • 图片的放大缩小选择全屏
  • XSS的原型链污染1--原型链解释
  • 笔记本电脑联想T14重启后无法识别外置红米屏幕
  • Django + Vue 项目部署(1panel + openresty)
  • AI“炼金术”:破解绿色水泥的配方密码
  • 三防平板电脑是什么?这款三防平板支持红外测温!
  • 电脑上不了网怎么办?【图文详解】wifi有网络但是电脑连不上网?网络设置
  • 电脑一键重装系统win7/win10/win11无需U盘(无任何捆绑软件图文教程)
  • Ribbon 核心原理与架构详解:服务负载均衡的隐形支柱
  • 工作流绑定卡片优化用户体验-练习我要找工作智能体
  • 【CVPR2025】计算机视觉|AnomalyNCD:让工业异常分类“脱胎换骨”!