您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux百科

Linux中用户与组

时间:2023-08-24 15:56:40  来源:微信公众号  作者:凉兮

一、基本概念

1、基本介绍

    linux作为一种多用户的操作系统(服务器系统),允许多个用户同时登录到系统上,并响应每个用户的请求。任何需要使用操作系统的用户,都需要一个系统账号,账号分为:管理员账号与普通用户账号。在Linux中,操作系统根据UID来判断用!根据UID来判断用户!而不是用户名!只要id为0就是管理员,哪怕有多个id为0 的账号;系统在新建账号时,会根据账号类型,自动分配递增账号的UID与GID (用户身份编号,组编号),也可自行分配。通常情况下,应当保证UID与GID唯一且不重复。

2、Linux的单用户任务和多用户任务

    在Linux下,当你登录后,你也可以同时开启很多的服务任务和进程,而各自服务都会跑的很好却对其他任务没有任何影响,这种登录一个用户登录系统执行多个服务任务和进程的情况,就称为单用户多任务。多用户任务——有时可能是很多用户同时用同一个系统,如公司几十个运维人员,每台机器都可以和被若干个运维人员登录部署或解决相关故障问题,但并不是所有的运维人员都要做同一件事,所以就有了多任务、多用户的情况。注:多用户、多任务并不是大家同时挤到一起,在一台机器的键盘和显示器前来操作机器,多用户可能是通过SSH客户端工具等远程工具等远程登录服务器来进行,比如对服务器的运程控制,只要具有相关用户的权限,任何人都是可以上去操作访问服务器。

3、Linux系统用户角色划分

    用户在系统中是分角色的,在Linux系统中,由于角色的不同,权限和所完成的任务也不同;值得注意的是用户的角色是通过UID和GID识别的;特别是UID,在运维工作中,一个UID是唯一标识一个系统用户的账号。

用户账户: 

超级用户root(0) 

 程序用户(1~499) 

普通用户(500~65535)

超级用户:

     默认是root用户,其UID和GID均为0。在每台unix/linux操作系统中都是唯一且真实存在的,通过它可以登录系统,可以操作系统中任何文件和命令,拥有最高的管理权限。在生产环境,一般禁止root账号远程登录SSH连接服务器,以加强系统安全。

普通用户:

    这类用户一般是由具备系统管理员root的权限的运维人员添加的

程序用户:

    与真实用户区分开来,这类用户的最大特点是安装系统后默认就会存在的,且默认情况不能登录系统,它们是系统正常运行必不可少的,

    他们的存在主要是方便系统管理,满足相应的系统进程的文件属主的要求。例如系统默认的bin、adm、nodoby、mAIl用户等。由于服务器角色的不同,有部分用不到的系统服务被禁止开机执行,因此,在做系统安全优化时,被禁止开机启动了的服务对应的虚拟用户也是可以处理掉的(删除或注释)。

4、用户和用户组介绍

用户—每一个用户都有一个唯一的用户名和用户口令,在登录系统后,只有正确输入了用户名和密码,才能登录系统和相应的目录。
用户组—简单说,linux系统中的用户组(group)就是具有相同特性的用户(user)集合;有时我们需要让多个用户具有相同的权限,比如查看、修改某一个文件或目录,如果不用用户组,这种需求在授权时就很难实现。如果使用用户组就方便多了,只需要把授权的用户都加入到同一个用户组里,然后通过修改该文件或目录的对应的用户组的权限,让用户组具有符合需求的操作权限,这样用户组下的所有用户对该文件或目录就会具有相同的权限,这就是用户组的用途。将用户分组是linux系统中对用户进行管理及控制访问权限的一种手段,通过定义用户组,在很大程度上简化了运维管理工作。
用户和用户组的对应关系有:一对一、一对多、多对一和多对多.
一对一:即一个用户可以存在一个组中,也可以是组中的唯一成员。比如,root
一对多:即一个用户可以存在多个组中,这个用户就具有这些组。
多对一:即多个用户可以存在一个组中,这些用户这些组的共同权限。
多对多:即多用户可以存在于多个组中。并且几个用户可以归属相同的组;其实多对多的关系是前面三条的扩展。

二、用户及用户组配置文件介绍

在Linux中,万物皆文件,所以用户与组也以配置文件的形式保存在系统中,以下为用户和组的主要配置文件详解: -   /etc/passwd:用户及其属性信息(名称、 UID、主组ID等) -   /etc/group:组及其属性信息 -   /etc/shadow:用户密码及其相关属性 -   /etc/gshadow:组密码及其相关属性

1、/etc/passwd详解

作用:用于存储系统上的用户账户信息。每一行代表一个用户账户,包含了一些关于该用户的基本信息。每行格式:username:password:UID:GID:GECOS:home directory:shell解释1.username:用户名,用于识别用户。2.password:加密后的用户密码,现在通常是一个占位符,实际的加密密码保存在 /etc/shadow 文件中。3.UID:用户标识号,是一个唯一的数字,用于标识用户在系统中的身份。4.GID:用户所属的组标识号,指示用户属于哪个主要的用户组。5.GECOS:一般的用户信息,包括用户的全名、电话号码、地址等。6.home directory:用户的主目录,用户登录时所在的默认目录。7.shell:用户登录时使用的默认shell,用于执行命令和交互。每当创建一个新用户时,系统会将该用户的信息添加到 /etc/passwd 文件中。用户可以使用该文件中的信息来验证身份、分配资源和执行其他权限控制操作。

2、/etc/group详解

作用:用于存储系统上的用户组信息。每一行代表一个用户组,包含了一些关于该用户组的基本信息。每行格式:groupname:password:GID:userlist解释:1.groupname:用户组名,用于识别用户组。2.password:用户组密码,现在通常是一个占位符,实际的加密密码保存在 /etc/gshadow 文件中。3.GID:用户组标识号,是一个唯一的数字,用于标识用户组在系统中的身份。4.userlist:属于该用户组的用户列表,多个用户名之间用逗号分隔。每当创建一个新用户组时,系统会将该用户组的信息添加到 /etc/group 文件中。用户组可以用于管理和组织用户,例如分配文件和目录的访问权限,以及在用户之间共享资源。

3、/etc/shadow详解

用于存储系统用户的加密密码。它包含了用户账户的散列密码和其他与安全相关的信息。每行格式:username:password:lastchanged:minage:maxage:warnexpire:inactive:expire:reserved解释:1.username:用户的登录名。2.password:用户的加密密码。现在通常是一个散列值,实际的密码保存在 /etc/passwd 文件中。3.lastchanged:用户密码上次更改的日期,以自UTC 1970年1月1日以来的天数计算。4.minage:用户密码被更改之前必须保持的最小天数。5.maxage:用户密码过期之前的最大天数。6.warnexpire:在密码过期之前给用户的警告天数。7.inactive:在用户账户被禁用之前的非活动天数。8.expire:用户账户的过期日期,以自UTC 1970年1月1日以来的天数计算。9.reserved:保留字段,目前未使用。/etc/shadow 文件通常只对特定的权限用户可读,以保护用户密码的安全性。只有具备特定权限的用户才能修改、查看或操作该文件。

4、/etc/gshadow详解

用于存储系统用户组的加密密码。它类似于 /etc/shadow 文件,但是用于用户组而不是用户。每行格式groupname:encryptedpassword:administrators:members解释:1.groupname:用户组的名称。2.encryptedpassword:用户组的加密密码。通常是一个散列值,实际密码通常不直接存储在此文件中。3.administrators:具有管理权限的用户列表,以逗号分隔。4.members:属于该用户组的用户列表,以逗号分隔。

三、用户管理

1、添加用户

语法:useradd 选项 用户名选项:-u 指定用户的uid-g 指定用户的gid-G 指定附属组,可以有多个, 但是这些附属组必须是系统内已经存在的-c 指定描述-d 指定家目录-M 不建立家目录-s 指定shell-e 指定用户过期时间, 日期-f 指定用户过期时间, 天数注意:若不带任何选项默认创建与用户同名的用户主组和家目录,用户的用户主组在passwd文件查看,用户附加组在group文件查看;

2、修改用户

语法:usermod 选项 用户名选项:-g 指定用户的用户主组,选项值为id号或组名-G 指定用户的用户附加组,选项值为id号或组名-u 指定用户的uid(不指定默认从500开始向后分配)-l 修改用户的用户名

3、设置密码

语法:passwd 用户名   选项:-k,--keep-tokens 保留未过期的认证令牌-d,--delete 删除指定账户的密码(仅限root)-l,--lock 锁定指定帐户的密码(仅限root)-u,--unlock 解锁指定账户的密码(仅限root用户)-e,--expire 指定指定账户的密码过期(仅限root)-f,--force 强制操作-x,--maximum=DAYS 最大密码生存期(仅限root用户)-n,--minimum=DAYS 密码最短生存期(仅限root用户)-w,--warning=DAYS 用户在密码过期前收到警告的天数(仅限root用户)-i,--inactive=DAYS 密码过期后禁用帐户的天数(仅限root用户)-S,--status 报告指定帐户的密码状态(仅限root)      回车后即可输入新密码,需要输入两次密码且没有输入提示,修改密码也是这个语法注意:没有密码的用户是不能登录Linux系统的,没有设置密码的新创建用户处于锁定状态,需要设置密码后才能登录系统;免交互修改密码:echo "密码" | passwd --stdin 用户名

4、切换用户

语法:su [用户名]若不指定用户名,默认切换为root用户注意:root用户切换到其他用户不需要密码,反之需要密码;切换用户前后当前目录不变;普通用户不能进入root用户家目录,反之可以;

5、删除用户

语法:userdel 选项 用户名选项:-r 表示删除用户的同时删除其家目录

四、用户组管理

1、用户组添加

语法:groupadd 选项 用户组名选项:-g 指定用户组的id,若不指定默认从500开始向后分配

2、用户组修改

语法:groupmod 选项 用户组名选项:-g 指定用户组id-n 修改用户组名称

3、用户组删除

语法:groupdel 用户组名注意:若该用户组是某个用户的主组时无法被删除,除非将用户移出该用户组;


Tags:Linux   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
微软 Win11 Linux 子系统(WSL)发布 2.2.2 版本
IT之家 4 月 8 日消息,微软近日更新 Windows Subsystem for Linux(WSL),最新 2.2.2 版本中带来了诸多改进,重点更新了 nft 规则,可以让 IPv6 流量通过 Linux 容器。图源: dev.to,AI...【详细内容】
2024-04-08  Search: Linux  点击:(5)  评论:(0)  加入收藏
从原理到实践:深入探索Linux安全机制
Linux 是一种开源的类Unix操作系统内核,由Linus Torvalds在1991年首次发布,其后又衍生出许多不同的发行版(如Ubuntu、Debian、CentOS等)。前言本文将从用户和权限管理、文件系统...【详细内容】
2024-03-27  Search: Linux  点击:(13)  评论:(0)  加入收藏
在Linux系统中,如何处理内存管理和优化的问题?
本文对 Linux 内存管理和优化的一些高级技巧的详细介绍,通过高级的内存管理技巧,可以帮助系统管理员和开发人员更好地优化 Linux 系统的内存使用情况,提高系统性能和稳定性。在...【详细内容】
2024-03-26  Search: Linux  点击:(7)  评论:(0)  加入收藏
Linux 6.9-rc1 内核发布:AMD P-State 首选核心、BH 工作队列
IT之家 3 月 25 日消息,Linus Torvalds 宣布,Linux 6.9 内核的首个 RC(候选发布)版 Linux 6.9-rc1 发布。▲ Linux 6.9-rc1Linus 表示,Linux 内核 6.9 看起来是一个“相当正常”...【详细内容】
2024-03-25  Search: Linux  点击:(9)  评论:(0)  加入收藏
Linux发行版 Ubuntu 迎更新 界面设计灵感来自 Windows 11
近日,一位第三方开发者推出了一款名为“Wubuntu”的特殊Linux发行版。这款系统源自主流的Ubuntu版本,但在界面设计上却借鉴了微软最新的Windows 11风格,甚至在其中融入了微软标...【详细内容】
2024-02-27  Search: Linux  点击:(41)  评论:(0)  加入收藏
Win + Ubuntu 缝合怪:第三方开发者推出“Wubuntu”Linux 发行版
IT之家 2 月 26 日消息,一位第三方开发者推出了一款名为“Wubuntu”的缝合怪 Linux 发行版,系统本身基于 Ubuntu,但界面为微软 Windows 11 风格,甚至存在微软 Windows 徽标。据...【详细内容】
2024-02-27  Search: Linux  点击:(47)  评论:(0)  加入收藏
Linux中磁盘和文件系统工作原理解析
在Linux系统中,一切皆文件的概念意味着所有的资源,包括普通文件、目录以及设备文件等,都以文件的形式存在。这种统一的文件系统管理方式使得Linux系统具有高度的灵活性和可扩展...【详细内容】
2024-02-20  Search: Linux  点击:(49)  评论:(0)  加入收藏
Linux子系统概览
inux操作系统是一个模块化的系统,由多个子系统组成。这些子系统协同工作,使Linux能够执行各种任务。了解Linux的子系统有助于更好地理解整个操作系统的运作机制。以下是Linux...【详细内容】
2024-02-01  Search: Linux  点击:(74)  评论:(0)  加入收藏
Linux内核:系统之魂与交互之源
内核,作为任何基于Linux的操作系统的心脏,扮演着至关重要的角色。它不仅是计算机系统软件与硬件之间的桥梁,更是确保系统稳定、高效运行的关键。内核提供了一系列核心功能,为上...【详细内容】
2024-02-01  Search: Linux  点击:(65)  评论:(0)  加入收藏
如何使用PHP SSH2模块执行远程Linux命令
PHP SSH2扩展是用于在PHP程序中使用SSH(安全壳协议)的一种扩展。它允许建立加密连接和执行远程命令、上传和下载文件等操作,十分方便实用。下面我将为大家详细介绍一下该扩展的...【详细内容】
2024-01-26  Search: Linux  点击:(99)  评论:(0)  加入收藏
▌简易百科推荐
微软 Win11 Linux 子系统(WSL)发布 2.2.2 版本
IT之家 4 月 8 日消息,微软近日更新 Windows Subsystem for Linux(WSL),最新 2.2.2 版本中带来了诸多改进,重点更新了 nft 规则,可以让 IPv6 流量通过 Linux 容器。图源: dev.to,AI...【详细内容】
2024-04-08    IT之家  Tags:Linux   点击:(5)  评论:(0)  加入收藏
从原理到实践:深入探索Linux安全机制
Linux 是一种开源的类Unix操作系统内核,由Linus Torvalds在1991年首次发布,其后又衍生出许多不同的发行版(如Ubuntu、Debian、CentOS等)。前言本文将从用户和权限管理、文件系统...【详细内容】
2024-03-27  凡夫编程  微信公众号  Tags:Linux安全   点击:(13)  评论:(0)  加入收藏
在Linux系统中,如何处理内存管理和优化的问题?
本文对 Linux 内存管理和优化的一些高级技巧的详细介绍,通过高级的内存管理技巧,可以帮助系统管理员和开发人员更好地优化 Linux 系统的内存使用情况,提高系统性能和稳定性。在...【详细内容】
2024-03-26  编程技术汇  微信公众号  Tags:Linux   点击:(7)  评论:(0)  加入收藏
Linux 6.9-rc1 内核发布:AMD P-State 首选核心、BH 工作队列
IT之家 3 月 25 日消息,Linus Torvalds 宣布,Linux 6.9 内核的首个 RC(候选发布)版 Linux 6.9-rc1 发布。▲ Linux 6.9-rc1Linus 表示,Linux 内核 6.9 看起来是一个“相当正常”...【详细内容】
2024-03-25    IT之家  Tags:Linux   点击:(9)  评论:(0)  加入收藏
轻松实现Centos系统的软件包安装管理:yum指令实战详解
yum 是一种用于在 CentOS、Red Hat Enterprise Linux (RHEL) 等基于 RPM 的 Linux 发行版上安装、更新和管理软件包的命令行工具。它可以自动解决软件包依赖关系,自动下载并...【详细内容】
2024-02-27  凡夫贬夫  微信公众号  Tags:Centos   点击:(51)  评论:(0)  加入收藏
Win + Ubuntu 缝合怪:第三方开发者推出“Wubuntu”Linux 发行版
IT之家 2 月 26 日消息,一位第三方开发者推出了一款名为“Wubuntu”的缝合怪 Linux 发行版,系统本身基于 Ubuntu,但界面为微软 Windows 11 风格,甚至存在微软 Windows 徽标。据...【详细内容】
2024-02-27    IT之家  Tags:Ubuntu   点击:(47)  评论:(0)  加入收藏
Linux中磁盘和文件系统工作原理解析
在Linux系统中,一切皆文件的概念意味着所有的资源,包括普通文件、目录以及设备文件等,都以文件的形式存在。这种统一的文件系统管理方式使得Linux系统具有高度的灵活性和可扩展...【详细内容】
2024-02-20  王建立    Tags:Linux   点击:(49)  评论:(0)  加入收藏
Linux子系统概览
inux操作系统是一个模块化的系统,由多个子系统组成。这些子系统协同工作,使Linux能够执行各种任务。了解Linux的子系统有助于更好地理解整个操作系统的运作机制。以下是Linux...【详细内容】
2024-02-01    简易百科  Tags:Linux   点击:(74)  评论:(0)  加入收藏
Linux内核:系统之魂与交互之源
内核,作为任何基于Linux的操作系统的心脏,扮演着至关重要的角色。它不仅是计算机系统软件与硬件之间的桥梁,更是确保系统稳定、高效运行的关键。内核提供了一系列核心功能,为上...【详细内容】
2024-02-01  松鼠宝贝    Tags:Linux内核   点击:(65)  评论:(0)  加入收藏
如何确保Linux进程稳定与持久
在Linux系统中,进程的稳定性与持久性对于维持系统的持续运行至关重要。然而,由于各种原因,进程可能会面临崩溃或系统重启的情况。为了确保关键进程能够持续运行,我们必须采取一...【详细内容】
2024-01-19  松鼠宝贝    Tags:Linux进程   点击:(84)  评论:(0)  加入收藏
站内最新
站内热门
站内头条