Linux账号和权限管理详解

news2024/9/28 7:26:45

Linux系统中安装和管理程序 太详细了

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。


推荐:Linux运维老纪的首页,持续学习,不断总结,共同进步,活到老学到老
导航剑指大厂系列:全面总结 运维核心技术:系统基础、数据库、网路技术、系统安全、自动化运维、容器技术、监控工具、脚本编程、云服务等。
常用运维工具系列:常用的运维开发工具, zabbix、nagios、docker、k8s、puppet、ansible等
数据库系列:详细总结了常用数据库 mysql、Redis、MongoDB、oracle 技术点,以及工作中遇到的 mysql 问题等
懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

Linux账号和权限管理详解(超详细示例操作)!

一、用户账号和组账号概述
1.1 Linux基于用户身份对资源访问进行控制
1.2 用户账号
1.3 组账号
二、用户账号文件
2.1 用户账号文件 /etc/passwd
2.2 用户账号文件 /etc/shadow
三、用户账号设置
3.1 添加用户账号 useradd 或者 adduser
3.2 设置/更改用户口令passwd
3.3 修改用户账号的属性 usermod
3.4 用户账号的初始配置文件
3.5 PATH变量用于设置可执行程序的默认搜索路径
四、组账号文件
4.1 组账号文件
4.2 添加组账号 groupadd
4.3 添加删除组成员 gpasswd
4.4 删除组账号 groupdel
五、查询账号信息
5.1 查询用户所属的组 groups
5.2 查询用户身份标识 id
5.3 查询用户帐号的详细信息 finger
5.4 w、who、 users 命令
六、文件/目录的权限和归属
6.1 文件/目录的权限
6.2 查看文件/目录的权限和归属
6.3 设置目录和文件的权限 chmod
6.4 设置目录和文件的归属 chown
6.5 设置目录和文件的默认权限 umask
总结
一、用户账号和组账号概述
1.1 Linux基于用户身份对资源访问进行控制
用户帐号
超级用户、普通用户、程序用户

组帐号
基本组(私有组)
附加组(公共组)

UID和GID
UID (User IDentity,用户标识号)
GID (Group IDentify,组标识号)

1.2 用户账号
超级用户:root用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限。系统中超级用户是唯一的。

普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限。

程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如bin、daemon、ftp、mail等。

1.3 组账号
基本组(私有组) :基本组账号只有一个,一般为创建用户时指定的组。在/etc/passwd文件中第4字段记录的即为该用户的基本组GID号。

附加组(公共组) :用户除了基本组以外,额外添加指定的组。

UID:用户标识号
GID:组标识号
root用户账号的UID和GID号为固定值0
程序用户账号的UID和GID号默认为1~499
普通户UIDRGID默认为500~60000

二、用户账号文件
2.1 用户账号文件 /etc/passwd
■保存用户名称、宿主目录、登录Shell 等基本信息
文件位置:/etc/passwd
每一行对应一个用户的帐号记录
[root@localhost~]# head-2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

■用户账号文件 /etc/passwd
基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改。
在早期的UNIX操作系统中,用户帐号的密码信息是保存在passwd文件中的,不法用户可以很容易的获取密码字串并进行暴力破解,因此存在一定的安全隐患。后来经改进后,将密码转存入专门的shadow文件中,而passwd文件中仅保留密码占位符"x"
root:x:0:0:root:/root:/bin/bash
字段1:用户帐号的名称
字段2:用户密码占位符"x"
字段3:用户帐号的UID号
字段4:所属基本组帐号的GID号
字段5:用户全名
字段6:宿主目录
字段7:登录Shell 信息( /bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统)

2.2 用户账号文件 /etc/shadow
■保存用户的密码、账号有效期等信息
文件位置: /etc/shadow
每一行对应一个用户的密码记录
[root@localhost~]# head-2   /etc/shadow
[root@localhost-]# tail -1   /etc/shadow     

■用户账号文件 /etc/shadow
默认只有root用户能够读取shadow文件中的内容,且不允许直接编辑该文件中的内容。
root: $6$VyOUGqOC$v5H1LM1wagZc/FwGfnrtJFn1T:18445:0:99999:7:::
字段1:用户帐号的名称
字段2:使用MD5加密的密码字串信息,当为"*"或"! "时表示此用户不能登录到系统。若该字段内容为空,则该用户无须密码即可登录系统
字段3:上次修改密码的时间,表示从1970年01月01日算起到最近一次修改密码时间隔的天数
字段4:密码的最短有效天数, 自本次修改密码后,必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制
字段5:密码的最长有效天数, 自本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制
字段6:提前多少天警告用户密码将过期,默认值为7
字段7:在密码过期之后多少天禁用此用户
字段8:帐号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算) ,默认值为空,表示账号永久可用。
字段9:保留字段(未使用)

三、用户账号设置
3.1 添加用户账号 useradd 或者 adduser
在 /etc/passwd文件和 /etc/shadow文件的末尾增加该用户账号的记录。
若未明确指定用户的宿主目录,则在 /home目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件。
若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到 /etc/group和 /etc/gshadow文件中。
格式:useradd [选项] 用户名
常用选项:
-u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。
-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。
-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g:指定用户的基本组名(或使用 GID 号),对应的组名必须已存在。
-G:指定用户的附加组名(或使用 GID 号),对应的组名必须已存在。
-M:不建立宿主目录。
-s:指定用户的登录 Shell,(比如/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统)。
举例:
useradd -d /admin -g wheel -G root admin1
useradd -e 2020-12-31 -s /sbin/nologin admin2

添加用户账号wangwu在添加用户账号wangwu的时候,就同时创建了用户的目录

建立一个用户名为zhengsan的用户,UID号为2000,指定用户的附加组名test,不建立宿主目录,指定用户的账户失效时间2021-12-30

3.2 设置/更改用户口令passwd
root用户可以指定用户名作为参数,对指定账号的密码进行管理;不指定用户名时,修改当前账号的密码。
普通用户却只能执行单独的"passwd"命令修改自己的密码。
命令格式:
passwd [选项] 用户名
常用选项:
-d:清空指定用户的密码,仅使用用户名即可登录系统。
-l:锁定用户账户,锁定的用户账号将无法再登录系统。
-S:查看用户账户的状态(是否被锁定)。
-u:解锁用户账户。(-u解锁时,如果没有密码会提示,需要使用-f强制解锁)

设置密码
清空密码后可直接登录

其他命令演示:

3.3 修改用户账号的属性 usermod
命令格式:usermod [选项] 用户名
常用选项:
-u:修改用户的 UID 号。
-d:修改用户的宿主目录位置。
-e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g:修改用户的基本组名(或使用 GID 号)。
-G:修改用户的附加组名(或使用 GID 号)。
-s:指定用户的登录 Shell。
-l:更改用户账号的登录名称。
-L:锁定用户账户。
-U:解锁用户账户。

将zhengsan用户的登录名更改为lisi
usermod -l lisi zhengsan

3.4 用户账号的初始配置文件
命令格式:userdel  [-r]  用户名
添加“-r”选项时可以将该用户的宿主目录一并删除

■文件来源
useradd 命令添加一个新的用户账号后在该用户的宿主目录中建立一些初始配置文件。
这些文件来自于账号模板目录/etc/skell,基本上都是隐藏文件。
■主要的用户初始配置文件
~/.bash_profile
~/.bashrc
~/.bash_logout
用户宿主目录下的初始配置文件只对当前用户有效
~/.bash_profile        此文件中的命令将在该用户每次登录时被执行,它会设置一些环境变量,并且会调用该用户的~/.bashrc文件
~/.bashrc            此文件中的命令会在每次打开新的bash shell时(也包括登录系统)被执行,并且会调用/etc/bashrc文件
~/.bash_logout        此文件中的命令将在用户每次退出登录或退出bash shell时执行
全局配置文件对所有用户有效
/etc/profile        这个文件是为系统全局变量配置文件,可通过重启系统或者执行source /etc/profile 命令使profile文件被读取
/etc/profile.d      这个文件实际上是/etc/profile的子目录,存放的是一些应用程序所需的启动脚本
/etc/bashrc            每一个运行bash shell的用户都会执行此文件,可通过执行bash 命令打开一个新的bash shell时,使 bashrc文件被读取
vim /etc/bashrc
alias myls='/bin/ls -lhr'
bash              
type myls    


3.5 PATH变量用于设置可执行程序的默认搜索路径
PATH 生效的原理:
每次启动系统的时候会初始化命令,会执行/etc/profile和~/.bash_profile。/etc/profile会将路径/usr/local/bin 、/usr/bin、/usr/local/sbin 、/usr/sbin 追加到PATH中去。然后调用 /etc/profile.d 目录下的脚本。
四、组账号文件
4.1 组账号文件
/etc/group:保存组帐号基本信息
/etc/gshadow:保存组帐号的密码信息
grep "postfix"  /etc/group
mail:x:12:postfix
postfix:x:89:
字段1:组帐号的名称
字段2:占位符"x"
字段3:组账号的GID
字段4:组账号包含的用户成员(一般不包括基本组对应的用户帐号) ,多个成员之间以逗号","分隔

4.2 添加组账号 groupadd
groupadd  -g 1000  market     
添加组账号market  
-g:指定GID号
tail  -1  /etc/group
market:x:1000:

示例:添加一个GID为666的zhaoqi组账户
4.3 添加删除组成员 gpasswd
命令格式:gpasswd [选项] 组账号名
常用选项:
-a:向组内添加一个用户
-d:从组内删除一个用户成员
-M:定义组成员列表,以逗号分隔
-a
-d
可以发现已经删除

-M、

4.4 删除组账号 groupdel
groupdel  组账号名
示例
groupdel  market     删除组账号market
grep "market" /etc/group  

五、查询账号信息
5.1 查询用户所属的组 groups
groups  [用户名]
5.2 查询用户身份标识 id
id  [用户名]

5.3 查询用户帐号的详细信息 finger
查询用户账号的登录属性
注:需要先进行安装finger软件包

5.4 w、who、 users 命令
查询已登录到主机的用户信息
通常使用tty来简称各种类型的终端设备,,Centos7系统, tty1表示图形界面,,tty2-tty6表示文字界面,可以用ctrl+Alt+F1-F6切换。
按Ctrl+Alt+F2登陆,执行w命令,查看使用的终端就是tty2
pts说明是用远程工具连接的,比如xshell,后面的数字代表登录的时间顺序,越小证明登录的越早
六、文件/目录的权限和归属
6.1 文件/目录的权限
■访问权限
读取r:允许查看文件内容、显示目录列表
写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行x:允许运行程序、切换目录
■归属(所以权)
属主:拥有该文件或目录的用户帐号
属组:拥有该文件或目录的组帐号
权限项    读    写    执行    
字符表示    r    w    x    -
数字表示(八进制)    4    2    1    0
6.2 查看文件/目录的权限和归属
ls  -l  install.log 
-rw-r--r--  1  root  root   34298  04-02  00:23   install.log    #  -rw-r--r-- :文件类型、权限    root  root   属主、属组

6.3 设置目录和文件的权限 chmod
语法1:chmod   [ugoa]  [+-=]  [rwx]  文件或目录...(+、-、= 分别表示增加、去除、设置权限)
(u、g、o、a 分别表示属主、属组、其他用户、所有用户)
(r,w,x权限字符可分别表示为8进制字符4,2,1,表示一个权限组合时需要将数字进行累加;如rwx=7,rw-r-r=644)
语法2:chmod  nnn  文件或目录...(3位八进制数)
常用命令选项:-R:递归修改指定目录下所有子项的权限

方法1

方法2
6.4 设置目录和文件的归属 chown
chown 属主 文件或目录
chown :属组 文件或目录
chgrp 属组 文件或目录
chown 属主:属组 文件或目录
chown 属主.属组 文件或目录
-R:递归修改指定目录下所有子目录及文件的归属
演示:
6.5 设置目录和文件的默认权限 umask
■umask作用
指定目前用户在新建文件或目录时的权限默认值
新建的文件或者目录的权限为默认最大权限减去umake (普通文件的最大默认权限为6, 目录的最大默认权限为7)
1.umask设置:umask 022
2.umask查看:umask

这边我先查询默认的umask默认为0022,0022用后三位022,(文件用6去减权限的八进制数)
如12文件的rw为4+2=6   6-6=0    r为4  6-4=2      022
目录如上用7去减

如果我们想设置所创建的目录所以用户都有rwx权限
示例
总结
■用户账号管理(useradd、passwd、usermod、userdel)
■组账号管理(groupadd、gpasswd.groupdel)
■用户账号文件与组账号文件
■查询账号相关信息的命令(groups.id、finger、w)
■设置目录与文件权限(chmod)
■设置目录与文件归属(chown)

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

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

相关文章

婚恋交友语音交友小程序APP系统开发

在数字化时代,婚恋交友的方式也日益多样化。传统的相亲、朋友介绍等方式已经无法满足现代人快节毒的生活需求,更多的人开始选择通过线上平台寻找自己的另-婚恋交友语音交友小程序APP应运而生,为单身男女提供了个便捷、高效的交友平台。本文将…

vue使用quill编辑器自定义附件上传方法,并根据上传附件名称生成链接

1、附件上传 需求: 在编辑器中上传word,pdf,excel等附件后,能根据上传附件的名称生成link链接,在展示页面能实现点击链接下载或预览附件,效果图如下: 实现方法: quill编辑器自身带有link,但不满足需求&…

探索【Python面向对象】编程:新时代的高级编程范式详解

目录 1. 面向对象编程概念(OOP) 1.1 什么是类和对象? 1.2 类的定义 1.3 类和对象的关系 1.4 小李的理解 2. 抽象 2.1 抽象的概念 2.2 抽象类和方法 2.3 小李的理解 3. 类和实例 3.1 类的定义和实例化 3.2 类的属性和方法 3.3 小…

[Linux][Shell][Shell逻辑控制]详细讲解

目录 1.if 判断1.if-then2.if-then-else3.elif4.case5.实际上手 2.条件测试0.事前说明1.test 命令2.[]3.双括号1.(())2.[[]] 4.实际上手 3.循环1.for2.while3.until命令4.控制循环1.break2.continue 5.处理循环的输出 1.if 判断 1.if-then 语法:if command thenco…

Java技术栈总结:容器集合篇

一、List 1、ArrayList (1)底层数据结构 底层数据结构为数组。数组是一种用连续的内存空间存储相同数据类型数据的线性数据结构。 Q:为什么数组索引下标从0开始? A:从0开始,对应寻址公式:a[i]…

FLStudio21.3.12中文破解版本安装包win+mac电脑安装包下载

🎤 FL Studio 21中文版:音乐制作新宠,让你的创作起飞! 嗨,亲爱的音乐创作者们!👋今天要和大家分享一个让我超级兴奋的宝藏软件——FL Studio 21中文版!这不仅仅是一款音乐制作软件&…

科研绘图系列:R语言金字塔图(pyramid plot)

介绍 金字塔图(Pyramid chart)是一种用于展示人口统计数据的图表,特别是用于展示不同年龄段的人口数量。这种图表通常用于展示人口结构,比如性别和年龄的分布。 特点: 年龄分层:金字塔图按年龄分层,每一层代表一个年龄组。性别区分:通常,男性和女性的数据会被分别展…

Linux命令-grep/wc/管道符

1、Linux命令-grep/wc/管道符 2、echo/tail/重定向符 3、vi/vim 编辑器

有哪些好用的考勤管理系统?

🌈 对于企业而言,考勤管理不仅仅是支持员工工资计算,还会对实际的运营产生很大影响。一个好用的考勤管理系统能够实现考勤数据的实时采集和管理,保证考勤数据的稳定运行,从而实现复杂的工作安排,有效降低人…

uniapp上架到appstore遇到的问题

1、appstore在美国审核,需要把服务器接口的国外访问权限放开 2、登陆部分 a、审核时只能有密码登陆,可以通过接口响应参数将其他登陆方式暂时隐藏,审核成功后放开即可 b、需要有账号注销功能 3、使用照相机和相册功能时需要写清楚描述文案

具有 0.5V 超低输入电压的 3A 升压转换器TPS61021

1 特性 输入电压范围:0.5V 至 4.4V 启动时的最小输入电压为 0.9V 可设置的输出电压范围:1.8V 到 4.0V 效率高达 91%(VIN 2.4V、VOUT 3.3V 且 IOUT 1.5A 时) 2.0MHz 开关频率 IOUT > 1.5A,VOUT 3.3V(V…

OSINT 项目:以太坊可视化工具

KennBro , iKy的开发者,正在构建一个令人兴奋的新工具。 他使用来自Etherscan区块浏览器的信息为以太坊创建了一个可视化浏览器。 使用免费的 API 密钥和此工具,您可以直观地了解交易和钱包。 我还没有时间自己安装它来测试它,…

Simscape物理建模步骤

为了介绍构建和仿真物理模型的步骤,这里以simulink自带示例模型Mass-Spring-Damper with Controller为例,下图为建立好的模型。 详细物理建模和仿真分析步骤如下: 步骤 1:使用 ssc_new 创建新模型 使用 ssc_new 是开始构建 Sims…

linux系统操作/基本命令/vim/权限修改/用户建立

Linux的目录结构: 一:在Linux系统中,路径之间的层级关系,使用:/来表示 注意:1、开头的/表示根目录 2、后面的/表示层级关系 二:在windows系统中,路径之间的层级关系,使用:\来表示 注意:1、D:表示…

职业本科计算机网络实训室

一、职业本科计算机网络实训室建设的背景 随着数字化时代的深入发展,计算机网络技术已经渗透到社会的每一个角落,成为推动社会进步的重要力量。在《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》中,建设数字中国…

2972.力扣每日一题7/11 Java(击败100%)

博客主页:音符犹如代码系列专栏:算法练习关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 目录 解题思路 解题方法 时间复杂度 空间复杂度 Code 解题思路 该问…

vscode编译环境配置-c++

1. 支持跳转 安装c/c扩展 安装后即可支持跳转

Elasticsearch:介绍 retrievers - 搜索一切事物

作者:来自 Elastic Jeff Vestal, Jack Conradson 在 8.14 中,Elastic 在 Elasticsearch 中引入了一项名为 “retrievers - 检索器” 的新搜索功能。继续阅读以了解它们的简单性和效率,以及它们如何增强你的搜索操作。 检索器是 Elasticsearc…

还不懂 OOM ?详解内存溢出与内存泄漏区别!

内存溢出与内存泄漏 1. 内存溢出(Out Of Memory,OOM) 概念: 内存溢出是指程序在运行过程中,尝试申请的内存超过了系统所能提供的最大内存限制,并且垃圾收集器也无法提供更多的内存,导致程序无…

深入浅出Ansiable

目录 Ansible的起源 Ansible的发展史 Ansible的功能 Ansible的特性 Ansible的架构 Ansible的注意事项 Ansible入门 Ansible的安装 Ansible配置文件 配置文件解析 inventory主机配置清单 Ansible相关工具 Ansible的常用模块 Command模块 shell模块 Script模块 C…