Linux用户和用户组管理
gudong366 2025-04-08 12:25 7 浏览
1、用户账户概述-AAA介绍
AAA指的是Authentication、Authorization、Accounting,即认证、授权和审计。
o认证:验证用户是否可以获得权限,是3A的第一步,即验证身份;
o授权:授权用户可以使用那些服务或资源,即身份验证成功后,赋予这个身份相应的权限;
o审计:记录用户的操作情况,在Linux中,日志就是审计的一种手段。
Linux的用户和组管理可以说是基于AAA进行的,首先用户登录输入用户名密码,就是认证的过程;其次,在用户登录成功后,所
拥有的权限各不相同,这就是授权;最后,用户的操作历史会记录在日志中,这是审计。
2、用户和用户组的关系
用户和用户组的对应关系有以下 4 种:
1).一对一:一个用户可以存在一个组中,是组中的唯一成员;
2).一对多:一个用户可以存在多个用户组中,此用户具有这多个组的共同权限;
3).多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限;
4).多对多:多个用户可以存在多个组中,也就是以上 3 种关系的扩展。
3、用户和用户组的配置文件
用户和组的信息存放在下面三个文件中
/etc/passwd 存储用户账户信息
/etc/shadow 存储用户密码信息
/etc/group 存储用户组信息
4、用户的配置文件
/etc/passwd:存储用户账户信息
存储格式为,
name:password:UID:GID:comment:directory:shell
oname:用户登录名;
opassword:用户口令,用占位符x表示;
oUID:用户ID,用户登录时,系统根据UID,而非用户名来识别用户;
oGID:用户所属的主组ID;
ocomment:用户的注释信息;
odirectory:用户家目录的绝对路径;
oshell:用户的默认shell。
5、用户密码的配置文件
存储格式为
登录名:$加密算法$salt$加密了的密码:最后一次更改密码的日期:密码最小期限:密码最大期限:密码警告时间段:密码禁用期:账户过期日期:保留字段
6、用户和用户组ID
Linux系统使用UID(User ID)来标识不同用户。
UID是16bits的二进制数字,所以换算成十进制,UID的范围是0~65535,Linux根据用户类别,对UID划分做了规定:
o管理员UID为0
Tips:当用户UID为0时,该用户就是管理员,所以不只root才是管理员,可以手动指定,但不建议。
o普通用户(1~65535)UID:
o0–99 系统使用
o100–499 特殊的系统用户使用(比如:services and programs)
oSLES 9中, 普通用户的UID从1000开始
7、用户组的配置文件
存储格式为,
group_name:password:GID:user_list
ogroup_name:组名;
opassword:用户组的口令,用占位符x表示,一般Linux用户组都没有口令;
oGID:组ID;
ouser_list:用户列表,注意,这里列出的是以该组为附加组的用户列表,以此组为主组的用户没有列在此处。
8、用户和用户组管理命令
useradd
用于创建的新的系统用户
补充说明:
useradd命令 用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。
语法:
useradd (选项)
-d/--home-dir <登入目录>: 指定用户登入时的启始目录;
-g/--gid <群组>: 指定用户所属的群组;
-G/--groups <群组>: 指定用户所属的附加群组;
-m/--create-home 自动建立用户的登入目录
-s/--shell
-u/--uid
举例:useradd -d /home/idtech -m -g idtech -s /bin/sh -u 1000 idtech
usermod
用于修改用户的基本信息
补充说明
usermod命令 用于修改用户的基本信息。usermod 命令不允许你改变正在线上的使用者帐号名称。当 usermod 命令用来改变user id,必须确认这名user没在电脑上执行任何程序。
语法
usermod(选项)(参数)
选项
-l <帐号名称>:修改用户帐号名称;
-L 锁定用户密码,使密码无效;
-s
-u
-U 解除密码锁定。
举例:usermod -s /bin/bash idtech 或者直接修改/etc/passwd文件idtech用户行配置
userdel
用于删除给定的用户以及与用户相关的文件
补充说明
userdel命令 用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件。
语法
userdel(选项)(参数)
选项
-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。
举例:userdel idtech
groupadd
用于创建一个新的工作组
语法
groupadd(选项)(参数)
选项
-g:指定新建工作组的id;
groupdel
用于删除指定的工作组
补充说明
groupdel命令 用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群
组。
语法
groupdel(参数)
参数
组:要删除的工作组名。
passwd
用于让用户可以更改自己的密码
补充说明
passwd命令 用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者
则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自
己的密码。
语法
passwd (选项) (参数)
选项
-d:删除密码,仅有系统管理者才能使用;
-l:锁住密码;
-u:解开已上锁的帐号。
9、文件目录权限管理命令
chown
用来变更文件或目录的拥有者或所属群组
补充说明
chown命令 改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。用户可以是用户或者是用户D,用户组可以是组名或组id。文件名可以使由空格分开的文件列表,在文件名中可以包含通配符。只有文件主和超级用户才可以便用该命令。
语法
chown(选项)(参数)
选项
-R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-v或——version:显示指令执行过程;
举例:chown -R idtech /idtech/idtech
chmod
用来变更文件或目录的权限
主要用途:
通过符号组合的方式更改目标文件或目录的权限。通过八进制数的方式更改目标文件或目录的权限。通过参考文件的权限来更改目标文件或目录的权限。
参数:
mode:八进制数或符号组合。
file:指定要更改权限的一到多个文件。
选项
-R, --recursive:对目录以及目录下的文件递归执行更改权限操作。
举例:
chmod -R 777 /home/idtech
chmod +x /home/idtech
文件目录权限掩码
权限位包括3组,用八进制表示rwxr-xr-x 即为755
su
是最简单的用户切换命令,通过该命令可以实现任何身份的切换。
o 普通用户切换为 root 用户
o root 用户切换为普通用户
o 普通用户之间的切换。
注意:
o 普通用户之间切换以及普通用户切换至 root 用户,都需要知晓对方的密码,只有正确输入密码,才能实现切换;
o 从 root 用户切换至其他用户,无需知晓对方密码,直接可切换成功。
举例:
su 切换到root用户
su idtech 切换到idtech用户
10、使用其它用户权限执行命令
sudo命令
用法相对su命令,sudo的执行仅需要输入用户自己的密码即可,甚至可以设定不需要输入密码即可执行超级管理员权限的命令。
并非所有人都能够执行sudo,且仅有规范到/etc/sudoers内的用户才能够执行sodu命令。
[sudo 指令 或 sudo -u username 指令]
表示以某用户的环境执行命令, 不加用户表示以root用户的身份执行。
sudo执行流程:
3.1 当用户执行sudo时,系统在/etc/sudoers档案中搜索该使用者是否具有 sudo执行权限;
3.2 若使用者具备可执行的sudo权限后,便让使用者【输入自己的密码】来确认;
3.3 若密码输入成功,便开始执行sudo后续的指令(root执行sudo时无需输入密码);
3.4 若切换者的身份与执行者相同时,也无需输入密码。sudo执行失效为5分钟,超过5分钟需要重新输入密码。
举例:
sudo passwd
sudo rm -rf /
修改root用户密码
使用root用户权限删除根目录
使能普通用户的sudo命令,该项操作就是统信UOS系统中的启用“开发者模式”
visudo与/etc/sudoers
若要非root用户执行root权限,则root需要先使用visudo命令编辑/etc/sudoers文档,让该账号用户全部或部分root权限。
为什么要使用visudo,这是因为/etc/soduers具有语法限定,如果设定错误会造成设置失效,因此才使用visudo命令去编辑,编辑结束离开文件时,系统会去检测文件的语法。
编辑步骤如下:
输入root账户下输入visudo,或非root账户具备sudo权限的账户输入:sudo
visudo。
进入编辑模式,在root行下面新增一行:
root ALL=(ALL) ALL
test ALL=(ALL) ALL
显示当前用户id
打印真实以及有效的用户和所在组的信息
概要
id [OPTION]... [USER]...
主要用途
没有选项时,打印指定用户ID信息。
whoami
打印当前有效的用户ID对应的名称
概要
whoami [OPTION]...
主要用途
打印当前有效的用户ID对应的名称。
常用命令小结
o用户管理:useradd,usermod,userdel
o组管理:groupadd,groupdel
o密码管理:passwd
o文件目录权限:chmod,chown
o其它相关命令:whoami,id,su,sudo
相关推荐
- linux进程间的通信方式有哪些(linux怎么看这个进程在哪个路径下)
-
管道通信(PIPE)两个进程利用管道进行通信时.发送信息的进程称为写进程.接收信息的进程称为读进程。管道通信方式的中间介质就是文件.通常称这种文件为管道文件.它就像管道一样将一个写进程和一个读进程连接...
- Linux守护进程 daemonize 命令(linux 守护进城)
-
daemonize:作为守护进程运行命令的工具daemonize是一个命令行实用程序,它作为Unix/Linux守护进程运行命令。daemonize工具是用C语言编写的。大多数程序被设计为作为守护...
- linux进程间通信—信号(linux查看进程之间的通信指令i)
-
Linux环境进程间通信(二)信号(下)一、信号生命周期从信号发送到信号处理函数的执行完毕对于一个完整的信号生命周期(从信号发送到相应的处理函数执行完毕)来说,可以分为三个重要的阶段,这三个阶段由四个...
- Linux 上以树状查看文件和进程(linux如何查看进程树)
-
提供了一些方便的命令,用于以树状分支形式查看文件和进程,从而易于查看它们之间的关系。在本文中,我们将介绍、和命令以及它们提供的一些选项,这些选项可帮助你将注意力集中在要查看的内容上。ps我们用...
- 文件搜不到?进程理不清?掌握这3个Linux技巧,效率直接翻倍!
-
哎家人们,今天必须跟你们唠唠Linux里那些“用了就回不去”的效率神器!我猜屏幕前肯定有不少朋友跟我之前一样——明明装着Linux当开发机/服务器,结果每天被命令行折腾得够呛:找个文件翻遍目录,看进程...
- 如何在 Linux 中使用 PID 号查找进程名称?
-
在Linux的复杂世界中,进程是系统运行的核心,每个进程都由一个唯一的「进程ID」(PID)标识。无论是系统管理员在排查失控进程,还是开发者在调试应用程序,知道如何将PID映射到对应的进程名称都是一项...
- Linux进程深度解析(1):进程结构、内存布局与资源管理
-
0.简介进程是系统执行的核心单元,理解进程是我们诊断性能问题、开发高并发程序的基础。Linux进程深度解析系列将会从原理角度对进程进行深入分析,帮助读者系统的理解其设计的思路,让读者在理解原理的基础...
- Linux 下如何查看进程的资源限制信息?
-
简介Linux上的cat/proc/$pid/limits命令提供有关特定进程的资源限制的信息,其中$pid是相关进程的进程ID(pid)。该文件是`/proc文件系统的一部分,该...
- Linux 8种进程状态及状态转换(linux进程状态切换)
-
Linux8种进程状态通过psaux可以看到进程的状态。O:进程正在处理器运行,这个状态从来没有见过.S:休眠状态(sleeping)R:等待运行(runable)RRunningorrun...
- 如何查看linux后台运行的进程?如何查看后台运行进程的状态?
-
linux系统中挂在后台的进程,如何能够被运维人员知道呢?以及挂在后台的进程当前状态是怎样的?是否可以继续执行?如何杀死一个在后台挂起的进程?后台进程可以通过‘&’符号或nohup命令,让程序进入...
- 最新保姆级、超详细介绍VMware的使用(一)软件的安装
-
一、VMware简介VMWare虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMware采用了完全不同的概...
- Shell脚本怎么写?(0)(shell脚本怎么写变量)
-
各位不好意思,最近加班+感冒,有三四天没更新了,python自动化脚本系列总共六期,基本已经囊括了编写python自动化脚本的所有基础函数和语法了。大家如果没看过这个系列的话,可以参考下面的链接:...
- 用Python从头开发一个自己的Shell(下)
-
编程派微信号:codingpy平常工作中经常用到shell吧?好不好奇shell的具体执行方式?今天推送的这两篇文章,将利用Python实现一些简单的shell功能。本文原作者为Su...
- Linux编程Shell之入门——Shell函数返回值
-
在Shell中,函数可以通过返回值将结果传递给调用者。返回值可以是一个整数、字符串或其他类型的数据。以下是关于Shell函数返回值的详细介绍:使用return语句在Shell函数中,使用return...
- Linux shell编程中易混淆的符号(linux中shell编程详解)
-
符号主要功能执行环境是否解析变量典型用例()子Shell执行命令子进程是隔离环境操作{}代码块或扩展当前Shell是(代码块内)组合命令或生成序列""弱引用字符串-是含变量...
- 一周热门
- 最近发表
-
- linux进程间的通信方式有哪些(linux怎么看这个进程在哪个路径下)
- Linux守护进程 daemonize 命令(linux 守护进城)
- linux进程间通信—信号(linux查看进程之间的通信指令i)
- Linux 上以树状查看文件和进程(linux如何查看进程树)
- 文件搜不到?进程理不清?掌握这3个Linux技巧,效率直接翻倍!
- 如何在 Linux 中使用 PID 号查找进程名称?
- Linux进程深度解析(1):进程结构、内存布局与资源管理
- Linux 下如何查看进程的资源限制信息?
- Linux 8种进程状态及状态转换(linux进程状态切换)
- 如何查看linux后台运行的进程?如何查看后台运行进程的状态?
- 标签列表
-
- linux一键安装 (31)
- linux运行java (33)
- ln linux (27)
- linux 磁盘管理 (31)
- linux 内核升级 (30)
- linux 运行python (28)
- linux 备份文件 (30)
- linux 网络测试 (30)
- linux 网关配置 (31)
- linux jre (32)
- linux 杀毒软件 (32)
- linux语法 (33)
- linux博客 (33)
- linux 压缩目录 (37)
- linux 查看任务 (32)
- 制作linux启动u盘 (35)
- linux 查看存储 (29)
- linux乌班图 (31)
- linux挂载镜像 (31)
- linux 软件源 (28)
- linux题目 (30)
- linux 定时脚本 (30)
- linux 网站搭建 (28)
- linux 远程控制 (34)
- linux bind (31)