3.5 Linux 用户管理

news2024/11/25 8:20:46
1、账号 & 组账号

inux基于用户身份对资源访问进行控制,Linux 属于多用户的操作系统

a. Linux 用户

按建立方式分类:

  • 内建账户: 由系统或程序自行建立的账户
  • 自定义账户: 管理员或特权人员手工建立

按权限分类:

  • 特权账户: 有对系统或程序控制的权限
  • 普通账户: 仅拥有系统授予或特权账户授予的权限
  • 程序用户:在安装linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些账号一般不允许登录到系统,而仅用于用于维持系统或某个程序的正常运行,一般不允许登录到系统。例如:bin、daemon、ftp、mail等
b. Linux 用户组

linux用户组分为基本组(私有组)和附加组(公共组)。

每一个用户账号至少属于一个组,这个组称为该用户的基本组(或私有组);若该用户同时还包含在其他的组中,则这些组称为该用户的附加组(或公共组)。

对组账号设置的权限将适用于组内的每一个用户账号。

c. UID 用户标识

Linux系统中的每一个用户账号都有一个数字形式的身份标记,称为UID,对于操作系统来说,UID是区分用户的基本依据,原则上每个用户的UID号应该是唯一的,root用户的UID的固定值为0。1~999的UID默认保留给程序用户使用,普通用户组使用的UID号在1000~60000之间

d. GID 组标识号

与UID类似,每一个组账号也有一个数字形式的身份标识,称为GID。root组帐号的GID号为固定值0,而程序组账号的GID号默认为1~999,1000~60000的GID号默认分配给普通组使用。

2、用户账号管理

Linux 将用户的信息及密码全部通过文件的方式进行保存

a. /etc/passwd

存储用户信息

基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改。

root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

第一列:

用户名称

第二列:

密码占位符

第三列:

UID

第四列:

GID

第五列:

详细信息

第六列:

宿主目录

第七列:

登录shell信息

root

x

0

0

root

/root

/bin/bash

operator

x

11

0

operator

/root

/sbin/nologin

b. /etc/shadow

Shadow文件又被称为“影子文件”,其中保存有各用户账号的密码信息,因此对shadow文件的访问应该进行严格限制,默认只有root用户能够读取文件中的内容,并且不允许root直接编辑该文件中的内容。

root:$6$83f7/8SSOXkkAg8e$9a1rqdPn/n8ppeCVJU7TBxW.UcWiAyQcRFwRlykd8P4fUkNnyOmAo3GwxuUYAOn3QfTsAgR0C/t8Z9UYtPjOb.::0:99999:7:::
bin   :*:18353:0:99999:7:::
daemon:*:18353:0:99999:7:::
  • 第一列:用户帐号的名称
  • 第二列:加密的密码字串信息。说明,$1$:加密算法是md5。$6$:加密算法是sha512。
  • 第三列:上次修改密码的时间(天数)
  • 第四列:密码的最短有效天数,默认值为0
  • 第五列:密码的最长有效天数,默认值为99999
  • 第六列:提前多少天警告用户口令将过期,默认值为7
  • 第七列:在密码过期之后多少天禁用此用户
  • 第八列:帐号失效时间,默认值为空
  • 第九列:保留字段(未使用)
c. /etc/default/useradd

用户默认的配置文件:

# useradd defaults file
GROUP=100             # 默认账户加入至 GID100
HOME=/home          	# 账户默认主目录前缀为 /home
INACTIVE=-1           # 禁用账号过期功能 (-1)
EXPIRE=     		      # 账号到期时间 , 不设置即不启用
SHELL=/bin/bash       # 指定用户默认所使用的 shell
SKEL=/etc/skel        # 指定用户所使用的 SHELL 环境文件
CREATE_MAIL_SPOOL=yes # 创建账户名同名的文件作为账户的邮箱,系统邮箱位置在 /var/spool/mail 目录中
d. /etc/login.defs

用户限制文件:cat /etc/login.defs | grep -v ^# | grep -v ^$

MAIL_DIR							/var/spool/mail         # 指定系统账户的邮箱所在位置
PASS_MAX_DAYS								99999             # 密码最大有效期
PASS_MIN_DAYS								0  				        # 两次密码修改最小间隔
PASS_MIN_LEN								5				          # 密码最小长度
PASS_WARN_AGE								7 				        # 密码失效前天前 N 天提示用户
UID_MIN                 		1000   				    # 本地自定义账户最小 UID
UID_MAX                 		60000             # 本地自定义账户最大 UID
SYS_UID_MIN                 201               # 本地系统账户最小 UID
SYS_UID_MAX                 999               # 本地系统账户最大 UID
GID_MIN                     1000              # 本地自定义组最小 GID
GID_MAX                     60000             # 本地自定义组最大 GID
SYS_GID_MIN                 201               # 本地系统组最小 GID
SYS_GID_MAX                 999               # 本地系统组最大 GID
CREATE_HOME	                yes				        # 默认创建用户主目录
UMASK          						  077			          # 用户主目录 umask 码
USERGROUPS_ENAB 						yes			   #当用户删除后同名组没有成员时,同时删除此组
ENCRYPT_METHOD 							SHA512				    # 算法加密密码
e. /etc/skel/*

用户账号初始配置文件

添加一个新的用户账号后,useradd命令会在用户的宿主目录中建立一些初始配置文件。这些文件来自于账号模板目录/etc/skel,基本上都是隐藏文件。

.bash_logout:用户每次退出登录时执行

.bash_profile:用户每次登录时执行 局部配置文件 /etc/profile全局配置文件

.bashrc:每次进入新的Bash环境时执行(当然也包括登录系统)

f. useradd 命令
  • 描述:添加用户账户
  • 语法:useradd [选项] 用户名

-u: 指定 UID 标记号

-d: 指定宿主目录,缺省为 /home/用户名

-e: 指定帐号失效时间

-f: 密码失效宽限期

-g: 指定用户的基本组名(或UID号)

-G: 指定用户的附加组名(或GID号)

-M:不为用户建立并初始化宿主目录

-s: 指定用户的登录Shell

# 创建一个普通用户user1
useradd user1

# 创建一个普通用户user2,UID为2000
useradd -u 2000 user2

# 创建一个程序用户user3,不用登陆,不用家目录
useradd -M -s /sbin/nologin user3

# 添加一个临时账号。账户名为 thomas、初始组为 root、账户主目录为 /admin
# 密码宽限期为 7 天、账号有效使用时间为从即日起30天
useradd -g root -d /admin -f 7 -e 2023-12-15 thomas
g. usermod 命令
  • 描述:修改用户账户
  • 语法:usermod [选项] 用户名

-l: 更改用户帐号的登录名称

-L: 锁定用户账户

-U: 解锁用户账户

-u: 修改 UID 标记号

-d: 修改宿主目录

-e: 修改帐号失效时间

-g: 修改用户的基本组名(或UID号)

-G: 修改用户的附加组名(或GID号)

-s: 修改用户的登录Shell

# 将thomas账户名改为 lemon
usermod -l lemon thomas

# 将lemon账户锁定
usermod -L lemon
h. passwd 命令
  • 描述:为用户账号设置密码
  • 语法:passwd [选项] 用户名

-d: 清空用户的密码,使之无需密码即可登录

-l: 锁定用户帐号

-S: 查看用户帐号的状态(是否被锁定)

-u: 解锁用户帐号

-i: 设置密码宽限期 (shadow 区域 7)

-n: 设置2次密码修改间隔时间 (shadow 区域 4)

-x: 设置密码有效期 (shadow 区域 5)

-w: 设置密码过期前警告天数 (shadow 区域 6)

--stdin: 从标准输入中读取密码

# 通过标准输入更改指定账户密码
 echo "123456" | passwd --stdin user3

# 对 thomas 账户进行密码设定,要求
# 密码有效期 7 天、提前3天给予警告、2次密码修改间隔时间为 2 天
passwd -x 7 -w 3 -n 2 thomas
i. chage 命令
  • 描述:更改账户密码过期信息
  • 语法:chage [ 选项 ] [ 账户名 ]

-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。

-M 密码保持有效的最大天数。

-W 用户密码到期前,提前收到警告信息的天数。

-E 帐号到期的日期。过了这天,此帐号将不可用

-d 上一次密码更改的日期

-i 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。

-l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期

# 查看thomas账户密码设定情况
chage -l thomas

# 设置thomas密码有效期是90天
chage -M 90 thomas

# 设置 thomas 登陆时强制修改口令
chage -d 0 thomas

# 强制 thomas登陆时修改口令 , 且密码可随时更改 ,
# 但密码最大有效期为 90 天 , 提前 15 天发送警报消息,有效期至 2100-10-10
chage -d 0 -m 0 -M 90 -W 15 -E 2100-10-10 thomas

3、组账号管理
a. /etc/group

查看组相关信息

rpc:x:32:
cgred:x:995:
named:x:25:
marry:x:1001:
zhangsan:x:30001:

第一列:组名称

第二列:组密码占位符

第三列:GID号

第四列:附加组成员

zhangsan

x

1001

marry

x

30001

b. /etc/gshadown

查看组密码相关信息

rpc:!::
cgred:!::
named:!::
marry:!::
zhangsan:!::

第一列:组名称

第二列:组密码

第三列:管理员

第四列:附加组成员

zhangsan

marry

c. groupadd 命令
  • 描述:添加组账号
  • 语法:groupadd [选项] 组名称

-g 组ID号 指定组ID号

# 指定张三组的id号为30001
groupadd -g 30001 zhangsan

cat /etc/group | tail -5

d. gpasswd 命令
  • 描述:设置组帐号密码(极少用)、添加/删除组成员
  • 语法:gpasswd [选项] 组帐号名

-a: 向组内添加一个用户

-d: 从组内删除一个用户成员

-M:定义组成员列表,以逗号分隔

# 将 zhaoliu 添加到 zhangsan组中
gpasswd -a zhaoliu zhangsan

# 查看 /etc/group 文件查看zhangsan组
zhangsan:x:30001:zhaoliu		# 由此可见zhangsan组的附加人员

# 将zhangsan组的附加成员zhaoliu删除
gpasswd -d zhaoliu zhangsan

# 在 张三组中 一次性添加多个附加组员
gpasswd -M zhaoliu,wangwu	zhangsan # zhangsan:x:30001:zhaoliu,wangwu
e. groupmod 命令
  • 描述:修改现有组
  • 语法:groupmod [ 选项 ] 组名

-g: 更改指定组的 GID

-n: 更改指定组组名

# 更改 zhangsan组名称为fawaikuangtu,更改id为 20001
groupmod -g 20001 -n fawaikuangtu zhangsan #fawaikuangtu:x:20001:zhaoliu,wangwu
4、查询账号信息
a. id 命令
  • 描述:查询用户身份标识
  • 语法:id 用户名
# 查看 zhaoliu 的账户信息
id zhaoliu

b. groups 命令
  • 描述:查询用户所属的组
  • 语法:groups 用户名
# 查询 zhaoliu 的组信息
groups zhaoliu					# zhaoliu : zhaoliu fawaikuangtu
c. finger 命令
  • 描述:查询用户相关信息
  • 语法:finger 用户名
# 安装finger命令
yum install -y finger

# 查看 zhaoliu 相关信息
finger zhaoliu

d. 其他查询账户的命令
  • 查询已登录到主机的用户信息:users、w、who
  • 显示账户登录时间:last
  • 显示所有账户最后登录的时间:lastlog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1219788.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5. hdfs的界面详解

简介 hdfs 提供了一个比较有好的web-ui界面&#xff0c;开启配置如下 在hdfs-site.xml添加 <property><name>dfs.webhdfs.enabled</name><value>true</value> </property>访问&#xff0c;hadoop01:50070 Overview Overview hadoop01:…

Android 实现三维空间坐标系(WebView与JS交互,支持多条曲线,可设置坐标轴翻转等)

全部代码已经上传,点击上方进行下载 支持多条曲线的绘制,可旋转拖动放大缩小 1.布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app=&quo…

《Scratch等级考试(1~4级)历届真题解析》专栏总目录

❤️ 专栏名称&#xff1a;《Scratch等级考试&#xff08;1~4级&#xff09;历届真题解析》 &#x1f338; 专栏介绍&#xff1a;中国电子学会《全国青少年软件编程等级考试》Scratch等级考试&#xff08;1~4级&#xff09;历届真题解析。 &#x1f680; 订阅专栏&#xff1a;原…

Postman启动问题:Could not open Postman

Postman启动问题&#xff1a;Could not open Postman 状态&#xff0c;在单击Postman之后一直在转圈圈&#xff0c;无法正常启动。 细心的朋友会发现&#xff0c;右下角 会经常出现防火墙关闭等提示信息&#xff0c;表示该程序&#xff0c;在向外链接。 Error Could not open…

上传项目文件到Github,并解决fatal: unable to access问题,100%成功

一、背景 Github我们用的最多的就是clone别人的代码&#xff0c;但有时我们也希望上传自己的项目或代码。但github上传文件还是比较复杂的&#xff0c;中间会有许许多多奇怪的问题&#xff0c;因此记录一下其过程。 二、Github上传文件 1. 申请Github账号 这里默认你已经有…

数据库Communications link failure

1.出现错误查询 Error querying , Communications link failure #Error querying database.Cause:com.mysql.cj.jdbc.exceptions.CommunicationsException:Communications link failure The last packet successfully received from the server was 10,016 milliseconds ago. …

Axure RP 9下载教程,轻松入手!

Axurerp9是产品经理必备的专业快速原型设计工具。Axurerp9可以快速高效地创建产品原型图&#xff0c;绘制APP和网页的原型图、框架图、结构图等。但Axurerp9下载在用户体验上的缺陷也很明显&#xff0c;其设置交互方式相对繁琐&#xff0c;可视化不足、条件判断、变量、中继器等…

袭击大型银行在美子公司的勒索元凶—LockBit,「诺亚」实战出击主动防御

“让勒索软件再次伟大” 2022年 最活跃猖獗 的勒索软件 ——LockBit 已在全球范围内造成严重破坏 世界知名企业和机构接连受创 11月10日&#xff0c;LockBit再次行凶作案 某大型银行在美全资子公司遭攻击 导致部分金融服务业务中断 美国国债市场交易受此影响&#xff01…

PMP证书容易考吗?

勉强算是容易考的一类证书&#xff0c;因为都是选择题&#xff0c;碰运气也是可以得分的&#xff0c;但也有其一定的难度&#xff1a; 1、试卷难度&#xff1a;是笔试&#xff0c;180道题&#xff0c;题量大&#xff0c;比较机试耗时间。 2、题目难度&#xff1a;题目是中英文…

Odoo:行业领先的免费开源财务管理解决方案

面向现代企业的财务和会计软件 可靠关账&#xff0c;更快速、更准确地报告财务数据 Odoo ERP财务和会计软件可帮助财务主管设计、革新和理顺财务流程和运营。Odoo ERP无缝整合各种核心财务和会计功能&#xff0c;提供强大的合规管理特性&#xff0c;有助于企业改善业务绩效、提…

Linux_VMware 软件安装与虚拟机

从这里开始&#xff0c;我们就踏上了学习 Linux 的路程。长路漫漫亦灿灿&#xff0c;祝我也祝所有看到这篇文章的朋友&#xff01;&#xff01;&#xff01; 参考书目&#xff1a;【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.81 / ARM 裸机与嵌入式 Linux 驱动…

代码随想录算法训练营第五十七天丨 动态规划part17

647. 回文子串 思路 动态规划 动规五部曲&#xff1a; 确定dp数组&#xff08;dp table&#xff09;以及下标的含义 如果大家做了很多这种子序列相关的题目&#xff0c;在定义dp数组的时候 很自然就会想题目求什么&#xff0c;我们就如何定义dp数组。 绝大多数题目确实是…

Word2Vec浅谈

论文地址&#xff1a;Efficient Estimation of Word Representations in Vector Space 个人认为&#xff0c;word2vec主要解决的问题是one-hot中维度过高并且稀疏的问题。word2vec是Google团队在2013年发表的一篇paper&#xff0c;当时一经问世直接将NLP领域带到了一个新的高度…

学会使用这个平台,教你制作出色的产品画册?

产品画册是企业和用户之间的桥梁&#xff0c;它可以第一时间给用户传递我们企业的最新产品信息。如何制作一本精美的产品画册呢&#xff1f; 这个不难&#xff0c;给大家推荐一款免费实用的在线制作工具FLBOOK &#xff0c;用这个平台可以轻松制作精美电子产品画册。 在制作产…

vue3 + ts项目(无vite)报错记录

记录项目创建后遇到的报错 1.类型“Window & typeof globalThis”上不存在属性“_CONFIG”。ts(2339) 问题描述&#xff1a; 使用全局 window 上自定义的属性&#xff0c;TypeScript 会报属性不存在 解决&#xff1a;需要将自定义变量扩展到全局 window 上&#xff0c…

C语言调用【Python3】

一、搭建编译环境 终端查询系统及软件版本dpkg -l 列出所有已安装的软件包 二、C语言中调用Python 使用 GCC编译并链接 Python 3.10 的共享库如何在C中获取和修改 sys.path 三、C语言调用无参python函数 四、C语言调用有参python函数 一、搭建编译环境 通过C语言调用Pyth…

PT Plugin Plus(PT助手、种子下载)扩展程序安装教程

PT助手 PT 助手 Plus&#xff0c;是一款浏览器插件&#xff08;Web Extensions&#xff09;&#xff0c;主要用于辅助下载 PT 站的种子。 适用于各 PT 站&#xff0c;可使下载种子等各项操作变化更简单、快捷。配合下载服务器&#xff08;如 Transmission、Torrent 等&#x…

电源线虚接,导致信号线发烫

音频板的信号是经过隔直电容接到音频板的。

VRRP专题

一&#xff0c;VRRP&#xff1a;虚拟路由冗余协议 将多个路由设备联合组成一台虚拟的路由设备&#xff0c;这台虚拟的路由设备做用户的网关&#xff0c;转发数据&#xff1b;这台虚拟的设备的网关由一个高优先级的设备承载&#xff0c;该设备被称为master路由器&#xff0c;其…

OpenCV快速入门:像素操作和图像变换

文章目录 前言1. 像素操作1.1 像素统计1.2 两个图像之间的操作1.2.1 图像加法操作1.2.3 图像加权混合 1.3 二值化1.4 LUT&#xff08;查找表&#xff09;1.4.1 查找表原理1.4.2 代码演示 2 图像变换2.1 旋转操作2.1.1 旋转的基本原理2.1.2 代码实现 2.2 缩放操作2.3 平移操作2.…