Linux用户权限

news2024/10/11 0:25:22

1.用户、权限、组的概念

1.1 用户

用户 是Linux系统工作中重要的一环,在Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,一个账号就是一个用户。

1.2 权限

在Linux系统中,每一个用户对不同的文件或者目录有的不同权限。
我们可以给 文件/目录 设置如下权限:

权限英文缩写数字代号
readr4
writew2
执行excutex1

1.3 组

一个 管理多个用户,可以给组设置权限,组所拥有的权限就是用户所拥有的权限
在这里插入图片描述

2. ls -l 命令详细解读

在这里插入图片描述

从左到右分别是:

  1. 权限。第1个字符如果是 - 表示文件,如果是 d 表示目录。
  2. 硬链接数。就是有多少种方式,可以访问到当前目录/文件。
  3. 拥有者。是哪个用户拥有该文件/目录。
  4. 大小
  5. 月份
  6. 时间
  7. 名称

权限的详细说明:
在这里插入图片描述

硬链接数的详细说明:
在这里插入图片描述
使用ls -l命令后,显示aaa的硬链接数是2,即代表有2中方式可以访问到aaa。方式一:绝对路径访问。方式二:进入到aaa目录后,以相对路径的方式访问:./

3. 用户命令

3.1 用户信息文件 /etc/passwd

该文件存放系统所有用户的信息,每一行内容代表一个用户,以 “:” 分割共 7 列。以 root 用户为例:“root:x:0:0:root:/root:/bin/bash

第 1 列:用户名
第 2 列:密码位。密码是放在"/etc/shadow" 中且是加密的,所以这里会看到一个 “x”
第 3 列:用户ID,即 UID
0 (超级管理员):当 UID 为 0 时,代表该用户是超级管理员。所以当你要让其他的用户名称也具有 root 的权限时,将该用户的 UID 改为 0 即可,也就是说一个系统上超级管理员不见得就是 root,很不建议有多个用户的 UID 是 0
1 - 499 (系统用户):这些 UID 是保留给系统用户的 UID,也就是说 UID 在 1 - 499 范围的用户是不能登录的,只能用来运行系统或者服务。其中,UID 1 - 99 是系统自动创建账号时使用的; UID 100 - 499 是用户有创建系统账号需求时使用的
500 - 60000 (普通用户):普通用户UID。
第 4 列:组ID,即 GID
第 5 列:用户信息说明。这个字段基本上并没有什么重要用途,只是用来解释这个账号的意义而已
第 6 列:用户家目录,即用户登录后默认进入的目录。
第 7 列:登录后获取的shell。一般都是 “/bin/bash”。

3.2 添加用户:useradd

useradd [选项] 用户名

选项:
-u 用户ID:指定用户ID。一般指定 UID 要大于500,如果没有特殊需求尽量不要指定,由系统自动分配即可
-g 初始组名:指定用户所属初始组。尽量不要指定,系统会自动创建一个和新增用户名相同的组最为该新增用户的初始组
-G 附加组名:指定用户所属附加组。如果要指定多个附加组,组名用 "," 隔开
-c 说明文字:加上备注文字。备注文字会保存在 "/etc/passwd" 文件的第 5-d 家目录:指定用户家目录
-s shell:指定用户登入后所使用的 shell 程序

3.3 用户密码设定:passwd

刚添加成功的用户没有密码(此时该用户的密码是 “!!” ),还不能用于登录系统,需要通过 “passwd” 命令设置密码后才能登录。
当然,“passwd” 命令也能用来修改已存在的用户密码,以及管理用户密码有效时间。

passwd [选项] [用户名]

选项:
-l 或 --lock:临时锁住密码使密码失效。即把 "/etc/shadow" 第二列密文密码前面多加个 "!!"
-u 或 --unlock:解开已锁住的用户密码。相对于 -l 的反向操作
-d 或 --delete:删除现有用户的密码
-n 天数:两次密码修改时间间隔。对应"/etc/shadow"4-x 天数:密码有效期。对应"/etc/shadow"5 列。
-w 天数:密码到期前的警告天数。对应"/etc/shadow"6-i 天数:密码到期后的宽限天数。对应"/etc/shadow"7-S 或 --status:显示用户密码状态
--stdin :从标准输入读取令牌。主要用在通过脚本批量添加用户,不需要交互的场景

示例,修改 "user1" 的密码为 "123456":echo "123456" | passwd --stdin user1 。尽量不要在shell里这样操作,history 会记录执行过的历史命令,设置的密码可能不被泄露

3.4 用户信息修改:usermod

usermod [选项] 用户名

选项:
-u 用户ID:修改用户ID
-d 家目录:修改用户家目录
-c 用户说明:修改用户说明
-g 初始组名:修改用户初始组
-G 附加组名:修改用户附加组
-s shell:修改用户登入后所使用的 shell 程序
-e 日期:修改账号失效日期,格式是 "YYYY-MM-DD"。即修改 /etc/shadow 第 8 列数据
-l 新用户名:修改用户名
-L :临时锁定账号。与 "passwd -l 用户名" 作用一样
-U :解锁账号

3.5 用户删除:userdel

userdel 用户名

4. 组命令

4.1 组信息文件:/etc/group

该文件存放用户组信息,每行代表一个用户组信息,以 “:” 分割共 4 列。以 root 组信息为例:“root:x:0:
第 1 列:组名
第 2 列:组密码位。和用户密码一样,组密码已经移动到 “/etc/gshadow” 文件中去,因此这个字段只存在一个 “x” 。
第 3 列:用户组ID,即 GID。对应 “/etc/passwd” 文件中的用户组ID
第 4 列:组内用户列表(不包含以该组为初始组的用户),多个用户名以","隔开。例如现在需要把 “user1” 和 “user2” 也加入到该 root 组,则 root 组信息变为 “root:x:0:user1,user2

4.2 添加组:groupadd

groupadd [选项] 组名

选项:
-g 组ID:指定组ID

4.3 组信息修改:groupmod

groupmod [选项] 组名

选项:
-g 组ID:修改组ID
-n 新组名:修改组名

4.4 组删除:groupdel

groupdel 组名

5. 权限命令

5.1 chmod 命令

修改文件或目录的权限

chmod [选项] 权限模式 文件或目录

选项:
-R :递归设置权限,也就是给予目录中的所有文件和子目录设定权限
--reference=参考文件或目录:使用参考文件或参考目录的权限来设置目标文件或目录的权限

权限模式:分为 符号组合八进制数组合

符号组合 的格式是[ugoa][[+-=][permission]],也就是[用户身份][[赋予方式][权限]]的格式。
用户身份
u:代表拥有者(user)
g:代表所属组(group)
o:代表其他用户(other)
a:代表全部身份(all)
赋予方式
+:加入权限
-:减去权限
=:设置权限
权限
r: 读取权限(read)
w: 写权限(write)
x: 执行权限(execute)


八进制数组合 的格式是 [0-7][0-7][0-7] 三位数字组成(每一位数字都是 权限之和 ),第一位是 拥有者 权限之和,第二位是 所属组 权限之和,第三位 其他用户 权限之和。

r 读取权限对应的数字是 4
w 写权限对应的数字是 2
x 执行权限对应的数字是 1
例如读写权限 rw 八进制数表示 6

示例:

# 1. 添加组用户的写权限。
chmod g+w test.log 
# 2. 删除其他用户的所有权限。权限为空,即权限设置为'---'
chmod o= test.log
# 使所有用户都没有写权限 
chmod a-w test.log 
# 3. 当前用户具有所有权限,组用户有读写权限,其他用户只有读权限  
chmod u=rwx, g=rw, o=r test.log 
等价于 
chmod 754 test.log 
# 4. 将目录以及目录下的文件都设置为所有用户都拥有读写权限
chmod -R a=rw testdir/ 
# 5. 根据参考文件 a.log 的权限来 设置文件 test.log 的权限
chmod --reference=a.log ./test.log

5.2 chown 命令

修改文件和目录的拥有者和所属组

chown [选项] 拥有者[:所属组] 文件或目录

选项:
-R :递归修改目录下所有的文件及子目录的拥有者和所属组
--reference=参考文件或目录:使用参考文件或参考目录的拥有者和所属组来设置目标文件或目录的拥有者和所属组

拥有者[:所属组]:
当省略 ":所属组",仅改变文件所属组

示例:

# 修改文件的拥有者为 user1,所属组为 group1
chown user1:group1 test.log 

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

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

相关文章

汇编语言(第4版)实验5 编写、调试具有多个段的程序

(1)参考答案: ①不变(0123h,0456h,0789h,0abch,0defh,0cabh,0987h) ②076c 076b 076a ③X-2 X-1 (2)参考答案: ①不变(0123h,0456h) ②076c 076b 076a ③X-2…

AcWing 1275. 最大数—线段树单点修改

题目链接 AcWing 1275. 最大数 题目描述 分析 这道题是线段树的模板题,属于一眼ding真,鉴定为线段树的裸题,正好用来学习线段树。线段树、树状数组等数据结构题,难的地方是在如何分析出来要用哪个数据结构解决。 线段树要比树状…

上海VR全景展示,快速了解VR全景拍摄

导语: 随着科技的不断进步,虚拟现实技术的应用日益广泛。在这其中,VR全景图片作为一种数字化助力的全景拍摄方式,正逐渐成为人们关注的焦点。通过数字化技术,VR全景图片能够以360度全方位的视角呈现真实的场景&#x…

docker学习和进阶2023

文末有下载地址。如有侵权请联系作者谢谢! docker学习和进阶2023 参考引用 docker学习笔记:https://blog.csdn.net/m0_46188681/article/details/128993319 Docker容器配置和资源限制:https://www.cnblogs.com/xiugeng/p/16254087.html 容…

idea使用命令将jar包导入到maven仓库中

因为今天突然忘了命令,记下来方便以后查看 pom文件的依赖 jar包路径 进入idea中命令窗 输入命令 mvn install:install-file -DfileD:\Project\spring-cloud\dubbo-api\target\dubbo-api-1.0-SNAPSHOT.jar -DgroupIdcom.wmx -DartifactIddubbo-api -Dversion1.0…

flutter数字动画库:animated_flip_counter

前言 在数字动画的制作中,有时候我们会面临时间紧张或效果不尽如人意的情况。这时,使用现成的动画库或工具可以大大提高效率,同时也能够获得更好的效果。animated_flip_counter就是一个非常不错的数字动画库,可以帮助我们快速地创…

Leetcode-每日一题【剑指 Offer II 010. 和为 k 的子数组】

题目 给定一个整数数组和一个整数 k &#xff0c;请找到该数组中和为 k 的连续子数组的个数。 示例 1&#xff1a; 输入:nums [1,1,1], k 2输出: 2解释: 此题 [1,1] 与 [1,1] 为两种不同的情况 示例 2&#xff1a; 输入:nums [1,2,3], k 3输出: 2 提示: 1 < nums.leng…

SIP视频对讲sip广播网关

SV-PA2是专门对行业用户需求研发的一款SIP音视频对讲&#xff0c;媒体流传输采用标准IP/RTP/RTSP协议。它很好的继承了锐科达话机稳定性好、电信级音质的优点&#xff0c;且完美兼容当下所有基于SIP的主流IPPBX/软交换/IMS平台,如Asterisk, Broadsoft, 3CX, Elastix 等。它集多…

linux 使用nethogs命令查看各个进程使用网络的情况

1&#xff0c;使用nethogs命令查看各个进程使用网络的情况 #yum -y install nethogs 2&#xff0c;使用nethogs命令查看进程使用网络的情况 #nethogs

【Docker】Docker部署私有仓库的配置及应用

文章目录 一、Docker-registry 搭建本地私有仓库1. Registry 的概念2. Registry 的部署过程 二、Docker-harbor 搭建私有仓库1. 什么是Harbor2. Harbor 的特性3. Harbor的构成4. Harbor 的部署过程4.1 安装 harbor4.2 创建项目并进行上传下载4.3 上传镜像到私有仓库4.4 从私有仓…

LLM Data Pipelines: 解析大语言模型训练数据集处理的复杂流程

编者按&#xff1a;在训练大语言模型的过程中,构建高质量的训练数据集是非常关键的一步&#xff0c;但关于构建大模型训练所需数据集的通用数据处理流程&#xff08;Data pipelines)的相关资料极为稀少。 本文主要介绍了基于Common Crawl数据集的数据处理流程。首先,文章概述了…

Java版知识付费源码 Spring Cloud+Spring Boot+Mybatis+uniapp+前后端分离实现知识付费平台 +支持二次开发定制

提供职业教育、企业培训、知识付费系统搭建服务。系统功能包含&#xff1a;录播课、直播课、题库、营销、公司组织架构、员工入职培训等。 提供私有化部署&#xff0c;免费售后&#xff0c;专业技术指导&#xff0c;支持PC、APP、H5、小程序多终端同步&#xff0c;支持二次开发…

SNMP协议是什么?

SNMP协议是什么&#xff1f; 简单网络管理协议&#xff08;Simple Network Management Protocol&#xff0c;SNMP&#xff09;是由互联网工程任务组定义的一套网络管理协议。该协议是基于简单网关监视协议&#xff08;Simple Gateway Monitor Protocol&#xff0c;SGMP&#x…

芯片制造详解.晶圆的诞生.学习笔记(二)

芯片制造详解.晶圆的诞生.学习笔记.二 一、硅片的制造二、硅片、晶圆和芯片的区别三、从硅棒到晶圆(1).截断(2).四探针法(3).裁成硅段(4).滚磨(5).研磨定位边(槽)(6).硅段切片(7).磨片(8).倒角(9).打上激光标识码(10).刻蚀(11).化学机械抛光(CMP)(12).湿法清洗(13).检测 包装 四…

Nodejs 安装之后cmd 输入npm -v 提示error的问题解决

1.问题现象&#xff1a; 安装时候选择&#xff1a; 2. 解决问题 卸载nodejs 删除安装路径下的node_modules, 重新安装 按照下面的选择

指数函数exp

目录 指数函数及e 指数增长 复数指数 练习 1. expgui 2. 计算e 3 五角星绘制 指数函数及e &#xff08;1&#xff09;的比值总是常数 &#xff08;2&#xff09;的导数为其自身。&#xff08;根据比值1推导出e的值&#xff09; %% Plot a^t and its approximate derivat…

vue预览和下载txt、PDF、execl等在线文件

因为浏览器默认能直接打开TXT、PDF等文件索引默认就是点击链接打开文件。但是浏览器却又不能在线打开execl、world等文件。 现在我们可以统一的实现文件的预览以及下载。 下载文件 downloadfile方法 downloadfile(url,fileName){const newUrl url;const x new XMLHttpRequ…

Rust vs Go:常用语法对比(七)

题图来自 Go vs Rust: Which will be the top pick in programming?[1] 121. UDP listen and read Listen UDP traffic on port p and read 1024 bytes into buffer b. 听端口p上的UDP流量&#xff0c;并将1024字节读入缓冲区b。 import ( "fmt" "net&qu…

C数据结构与算法——队列 应用(C语言纯享版 迷宫)

实验任务 (1) 掌握顺序循环队列及其C语言的表示&#xff1b; (2) 掌握入队、出队等基本算法的实现&#xff1b; (3) 掌握顺序循环队列的基本应用&#xff08;求解迷宫通路&#xff09;。 实验内容 使用C语言实现顺序循环队列的类型定义与算法函数&#xff1b;编写main()函数…

架构设计-高性能(一、存储高性能)

1.简介 数据存储的性能是系统高性能的两大组成部分之一。目前市场的数据存储技术是五花八门&#xff0c;并且目前针对在大数据环境下针对不同的需求和场景提出了更多不同类型的数据库。本文主要讲解分类中的关系型数据库和NoSql数据库的高性能。 2.关系型数据库 虽然存储技术在…