美国网站建设/营销软文范例大全
权限管理
文件的权限针对三类对象进行定义:
- owner属主,缩写u
- group属组,缩写g
- other其他,缩写o
1、文件的一般权限
(1)r,w,x的作用及含义:
权限 | 对文件影响 | 对目录影响 |
r(read:读) | 可以读取文件内容 | 可以列出目录的内容,即目录下的文件的文件名 |
w(write:写) | 可以更改文 件的内容 | 可以创建或者删除目录中的任一文件(只有w权限无法创建删除文件,需要和x权限一起使用) |
x(execute:执行) | 可作为可执行文件 | 可以切换到目录 |
- | 无 | 没有权限 |
PS:root账户不受文件权限的读写限制,执行权限受限制
(2)相应二进制可表示对应权限:
所属者/所属组/其他用户权限的字符表示 | 二进制表示 | 八进制表示 |
--- | 000 | 0 |
--x | 001 | 1 |
-w- | 010 | 2 |
-wx | 011 | 3 |
r-- | 100 | 4 |
r-x | 101 | 5 |
rw- | 110 | 6 |
rwx | 111 | 7 |
如图:
(3)常见普通权限组合
- 目录:r-x;rwx;---
- 文件(文本文件):r-x;rw-;rwx;r--;---
2、修改权限
(1)修改文件或目录的权限 --- chmod
- 格式1:chmod [选项] [ugoa][+-=][rwx] 文件或目录..
- 格式2:chmod [选项] nnn 文件或目录...
- 常用选项:
u g o a | 权限设置所针对的用户类别。 u(user)表示文件或目录的属主(所有者);g(group)表示属组内的用户;o(others)表示其他用户;a(all)表示所有用户(即u+g+o) |
+ 或 - 或 = | 设置权限的操作动作,+代表添加某个权限;-代表取消某个权限;=表示只赋予给定的权限,并取消原有的权限 |
rwx | 用字符形式表示的所设置的权限,可以是其中一个字母或组合 |
nnn | 用三位八进制数字表示的权限 |
例1:修改文件a1的权限
[root@tianqinwei test]# ll --- 查看文件权限
total 0
-rw-r--r--. 1 root root 0 Mar 6 17:45 a1
[root@tianqinwei test]# chmod o-r a1 --- 对其他用户去掉可读权限
[root@tianqinwei test]# ll a1
-rw-r-----. 1 root root 0 Mar 6 17:45 a1
[root@tianqinwei test]# chmod g=--- a1 --- 将所属组权限改为---
[root@tianqinwei test]# ll a1
-rw-------. 1 root root 0 Mar 6 17:45 a1
[root@tianqinwei test]# chmod 640 a1 --- 用数字来修改权限,参考上方二进制转为八进制
[root@tianqinwei test]# ll a1
-rw-r-----. 1 root root 0 Mar 6 17:45 a1
[student@tianqinwei test]$ cat a1 --- 验证,普通用户对a1没有权限
cat: a1: Permission denied
[root@tianqinwei ~]# ll -d /root/
drwxrwxrwx. 16 root root 4096 Mar 6 18:18 /root/
[root@tianqinwei test]# chmod a-w /root/ --- 将/root/用户,所属组,其他用户的写权限全都修改
[root@tianqinwei test]# ll -d /root/
dr-xr-xr-x. 16 root root 4096 Mar 6 18:18 /root/
例2:将文件a2改为所属组和其他用户可读可写
[root@tianqinwei test]# chmod g=rw-,o=rw- a2 --- 中间部分命令用逗号隔开(系统会把o部分认为是文件名称,所以用空格分隔会报错)
[root@tianqinwei test]# ll a2
-rw-rw-rw-. 1 root root 0 Mar 6 17:45 a2
[student@tianqinwei test]$ cat a2 --- 验证,可对文件进行可读操作
azsdfgarhae5rhjndtgnsrt6jnjmrfsngxer5dyhusrtn
(2)修改文件或目录的属主和属组
<1> chown:可同时修改属主和属组
- 格式:chown [选项] 新属主[:[新属组]] 文件或目录…
例:修改文件a2所属主,所属组
[root@tianqinwei test]# ll a2
-rw-rw-rw-. 1 root root 46 Mar 6 18:05 a2
[root@tianqinwei test]# chown student a2 --- 修改所属主
[root@tianqinwei test]# ll a2
-rw-rw-rw-. 1 student root 46 Mar 6 18:05 a2
[root@tianqinwei test]# chown :student a2 --- 修改所属组
[root@tianqinwei test]# ll a2
-rw-rw-rw-. 1 student student 46 Mar 6 18:05 a2
[root@tianqinwei test]# chown root:root a2 --- 同时修改所属主和所属组
[root@tianqinwei test]# ll a2
-rw-rw-rw-. 1 root root 46 Mar 6 18:05 a2
<2> chgrp:只能修改文件的所属组
- 格式:chgrp [选项] [新属组] 文件或目录...
例:修改文件a3所属组
[root@tianqinwei test]# ll a3
-rw-r--r--. 1 root root 39 Mar 6 18:05 a3
[root@tianqinwei test]# chgrp student a3
[root@tianqinwei test]# ll a3
-rw-r--r--. 1 root student 39 Mar 6 18:05 a3
(3)例:student用户可读可写a3,其他用户都不可进行操作
[root@tianqinwei test]# ll a3 --- 查看a3文件的权限以及所属主和组
-rw-r--r--. 1 root student 39 Mar 6 18:05 a3
[root@tianqinwei test]# chmod 600 a3 --- 将文件所属组和其他用户的所有权限取消
[root@tianqinwei test]# ll a3
-rw-------. 1 root student 39 Mar 6 18:05 a3
[root@tianqinwei test]# chown student:root a3 --- 将文件的所属主改为student,所属组改为root
[root@tianqinwei test]# ll a3
-rw-------. 1 student root 39 Mar 6 18:05 a3
则此时文件仅可由student用户进行读写
3、文件的特殊权限
(1)SUID(u+s)权限
<1> 含义:为了让一般用户在执行某些程序的时候, 在程序的运行期间, 暂时获得该程序文件所属者的权限
如:
[root@tianqinwei test]# ll /usr/bin/passwd
--- 当用户使用passwd命令的时候,短暂拥有该命令所有者root的权限,
所以此时普通用户就可在shadow上进行操作修改,且只能在二进制执行文件上使用
-rwsr-xr-x. 1 root root 34512 Aug 13 2018 /usr/bin/passwd
[root@tianqinwei test]# ll /etc/shadow
----------. 1 root root 1309 Oct 21 08:51 /etc/shadow
student 用户在执行 passwd 修改自己的密码时, 其修改的密码, 最终是需要保存到 /etc/shadow 这个文件中,而这个文件的权限是 --------- ,它的拥有者是 root ,也只有root 可以“ 强制” 存储, 其他用户连看都不行。可student 去执行 passwd (/usr/bin/passwd) ,却可以更新自己的密码
<2> 例:将文件a1和a2得到权限修改为SUID(u+s)
[root@tianqinwei test]# ll
total 12
-rwxrwxrwx. 1 root root 241 Mar 6 18:05 a1
-rw-rw-rw-. 1 root root 46 Mar 6 18:05 a2
[root@tianqinwei test]# chmod u+s a1 --- 将用户权限修改为u+s
[root@tianqinwei test]# chmod u+s a2
[root@tianqinwei test]# ll
total 12
-rwsrwxrwx. 1 root root 241 Mar 6 18:05 a1 --- 若该文件是可执行文件,显示为s
-rwSrw-rw-. 1 root root 46 Mar 6 18:05 a2 --- 若改文件是不可执行文件,显示为S
有 s 权限的存在,当 s权限在拥有者的权限位上时, 即如 -rwsr-xr-x 这样时, 称为SUID 。SUID 即 Set UID , UID 指的是拥有者的的 ID, 而这个程序 (/usr/bin/passwd) 的拥有者为(root)
PS:
- SUID仅对二进制文件有效
- 执行过程中,调用者暂时获得该文件所有者权限
- 该权限只在执行过程中有效
(2)SGID(g+s)权限
<1> 作用:
- 文件:如果 SGID 设置在二进制文件上,则不论用户是谁,在执行该程序时,程序所属组将会变成该程序文件的所属组
- 目录:若SGID设置在A目录上,则A目录内所建立的文件和目录的所属组,将会是A目录的所属组
<2> 例:将用户haha放入student组中,在该组中将权限更改为SGID,使得haha用户也可创建或删除文件
[root@tianqinwei test]# useradd haha --- 添加用户haha
[root@tianqinwei test]# gpasswd -a haha student --- 添加用户haha到student组中
Adding user haha to group student
[root@tianqinwei test]# tail -2 /etc/group
student:x:1000:haha
haha:x:1001:
[root@tianqinwei test]# ll -d /test
drwxr-xr-x. 2 root root 36 Mar 6 18:05 /test
[root@tianqinwei test]# chown :student /test --- 将目录/test所属组改为student
[root@tianqinwei test]# ll -d /test
drwxr-xr-x. 2 root student 36 Mar 6 18:05 /test
[root@tianqinwei test]# chmod g+s /test --- (g+s的效果:只要在所属组中的用户,都可在该目录下创建或删除文件,操作的文件都在student这个组中)
[root@tianqinwei test]# chmod g+w /test --- 给所属组添加可写权限
[root@tianqinwei test]# ll -d /test
drwxrwsr-x. 2 root student 36 Mar 6 18:05 /test
验证:
[student@tianqinwei test]$ touch ss
[haha@tianqinwei test]$ touch dd
[root@tianqinwei test]# ll
-rw-rw-r--. 1 haha student 0 Mar 6 20:07 dd --- haha用户创建出的文件所属主为haha,所属组为student
-rw-rw-r--. 1 student student 0 Mar 6 20:07 ss --- student用户创建出的文件所属主为student,所属组为student
(3)Sticky Bit--SBit(o+t):只针对目录有效, 对文件没有效果
<1> 含义:具有 SBit 的目录下, 用户若在该目录下具有 w 及 x 权限 , 则当用户在该目录下建立文件或目录时, 只有文件拥有者与 root 才有权力删除
<2> 例:将目录 /test 其他用户的权限更改为SBit
[root@tianqinwei test]# ll -d /test
drwxrwsrwx. 2 root student 56 Mar 6 20:07 /test
[root@tianqinwei test]# chmod o+t /test
[root@tianqinwei test]# ll -d /test
drwxrwsrwt. 2 root student 56 Mar 6 20:07 /test --- o用户在该目录下只可针对自己创建的文件进行“删除/重命名/移动”操作
4、ACL权限
(1)含义:若想指定一个用户想访问一个组中的文件,而该组中无此用户,则可用ACL权限指定该用户,赋予其相应权限。
(2)命令:
<1> 查看权限:getfacl [文件名]
<2> 设定权限:setfacl 选项 文件名
- 常用选项
-m | 设定 ACL 权限。如果是给予用户 ACL 权限,则使用 (u:用户名:权限 )格式赋予;如果是给予组 ACL 权限,则使用( g:组名:权限) 格式赋予 |
-x | 删除指定的ACL权限 |
-b | 删除所有的ACL权限 |
-d | 设定默认ACL权限。只对目录生效,目录中新建立的文件有此默认权限 |
-k | 删除默认ACL权限 |
-R | 递归设定ACL权限。指设定的ACL权限会对子目录下所有文件生效 |
例:文件权限为rwx rw- ---,文件所属主为wu,文件所属组为csa。若让组外用户xixi对此目录中文件可读可写,且不让其他用户拥有权限,命令为:setfacl -m u:xixi:rw- cs
5、umask(权限掩码)
(1)作用:设置新建文件或目录的默认权限
(2)默认umask:
在Linux系统中,当用户创建一个新的文件或目录时,系统都会为新建的文件或目录分配默认的权限,该默认权限与umask值有关,其具体关系是:
- 新建文件的默认权限=0666-umask值
- 新建目录的默认权限=0777-umask值
[root@tianqinwei test]# umask --- 查看默认umask值
0022
(3)例:umask默认值为033,则对应的文件和目录的默认权限是什么?
则文件对应默认权限是644;目录对应默认权限为744
相关文章:

linux权限管理
权限管理 文件的权限针对三类对象进行定义: owner属主,缩写ugroup属组,缩写gother其他,缩写o 1、文件的一般权限 (1)r,w,x的作用及含义: 权限对文件影响对目录影响r(read…...

提高生活质量,增加学生对校园服务的需求,你知道有哪些?
随着电子商务平台利用移动互联网的趋势提高服务质量,越来越多的传统企业开始关注年轻大学生消费者的校园市场。 提高生活质量,增加学生对校园服务的需求 大学生越来越沉迷于用手机解决生活中的“吃、喝、玩、乐”等服务,如“吃、喝”——可…...

Antlr4:使用grun命令,触发NoClassDefFoundError
1. 意外的发现 在学习使用grun命令时,从未遇到过错误 最近使用grun命令,却遇到了NoClassDefFoundError的错误,使得grun测试工具无法成功启动 错误复现: 使用antlr4命令编译Hello.g4文件,并为指定package(…...

基于rootfs构建Docker镜像
1. 背景 在实际工作中,由于系统本身版本过低,在接受新项目时出现系统版本过低而无法开始工作的问题。 为了解决该问题,使用Docker构建基于ubuntu-18.04的Docker镜像,以解决版本兼容问题。 2. 构建rootfs 2.1. 下载ubuntu-18.0…...

电脑文件软件搬家迁移十大工具
10 大适用于 Windows 的数据迁移软件。 数据迁移至关重要,几乎所有组织都依赖于此。如果您认为数据传输不是一件容易的事,那么数据迁移软件可以帮上忙。 1、奇客电脑迁移 将现有操作系统、软件、文件迁移到 新电脑的最佳方法之一是使用名为奇客电脑迁移…...

【数据库】排名问题
返回第N高的一个解决思路返回N组中的第N高解决思路分数排名解决思路窗口函数数据库经常被用来解决排名问题。 返回第N高的一个 单表查询: 表: Employee------------------- | Column Name | Type | ------------------- | id | int | | salary | int | ----…...

【redis学习篇】主从哨兵集群架构详解
一、Redis主从架构 1.1 redis主从架构搭建 1、复制一份redis.conf文件 2、将相关配置修改为如下值: port 6380 pidfile /var/run/redis_6380.pid # 把pid进程号写入pidfile配置的文件 logfile "6380.log" dir /usr/local/redis-5.0.3/data/6380 # 指…...

基于jdk8的HashMap源码解析
hashMap常见面试题总览 为什么重写Equals还要重写HashCode方法?HashMap如何避免内存泄漏问题?HashMap1.7底层是如何实现的?HashMapKey为null存放在什么位置?HashMap如何解决Hash冲突问题?HashMap底层采用单链表还是双…...

深度学习J1周-ResNet50算法实战与解析_鸟类识别(CNN)
🍨 本文为[🔗365天深度学习训练营]内部限免文章(版权归 *K同学啊* 所有) 🍖 作者:[K同学啊] 本周任务: ●1.请根据本文 TensorFlow 代码(训练营内部阅读),编写…...

SpringBoot中一行代码解决字符串向枚举类型转换的问题
1. 场景 在WEB开发,客户端和服务端传输的数据中经常包含一些这样的字段:字段的值只包括几个固定的字符串。 这样的字段意味着我们需要在数据传输对象(Data Transfer Object, DTO)中对该字段进行校验以避免客户端传输的非法数据持…...

Praat之基频分析
Praat之基频分析 测量基频F0的方法 自相关 Autocorrelation(易出现pitch-halving\pitch-double)窄带谱图 Narrowband spectrogram(第一谐波就是基频)倒谱分析 Cepstral analysis测量声门波 glottal pluse(通过波形&a…...

乡村企业门户网站
技术:Java、JSP等摘要:随着时代的发展,电脑与Internet已经进入我们的生活。信息时代的来临,知识经济的扩张,网站已越来越靠近我们的生活。据CNNIC报告显示,中国上网用户有6800万。通过Internet来经营运作一…...

Deploy Workshop|DIY部署环境,让OceanBase跑起来
2023 年 3 月 25 日,我们将在北京开启首次 OceanBase 开发者大会,与开发者共同探讨单机分布式、云原生、HTAP 等数据库前沿趋势,分享全新的产品 Roadmap,交流场景探索和最佳实践,此外,OceanBase 开源技术全…...

【CPP】定义一个类
一:当实现一个类的时候,编译器都做了什么 前言:当我们实现一个类的时候,编译器为我们做了什么;在对类进行操作的时候,有哪些特殊的成员函数可以帮助我们更好的操纵类; class A {A();//默认构造…...

谷歌广告投放步骤流程是什么?一文带你全方位了解实操细节
谷歌,大家都不陌生吧,一个人们很常用的搜索引擎。而谷歌还可以打广告,即谷歌广告,那这跟跨境电商有什么关心呢?东哥告诉大家,关系大了去了,毕竟如果用户搜索与我们相关的关键词,就有…...

TypeScript 怎么去查找类型定义的?
TypeScript 怎么去查找类型定义的?类型文件分类第三方库的类型自定义类型结论类型文件分类 我们项目中的类型文件分为两种:一类是第三方库的类型,一类是在项目中的自定义类型。 第三方库的类型 (1)Jquery࿱…...

NPM包管理器
文章目录一、NPM包管理器1、简介2、安装NPM3、使用npm管理项目3.1项目初始化3.2修改npm镜像3.3 npm install命令的使用3.4其它命令一、NPM包管理器 1、简介 什么是NPM NPM全称Node Package Manager,是Node.js包管理工具,是全球最大的模块生态系统&…...

IT英语记录
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言1、Classification2、Logistic Regression3、网络相关3.1 WAN(Wide Area Network)、LAN(Local Area Network)网络…...

SRS4.0 源码分析- RTC模块相关类
前言 本文介绍SRS4.0涉及RTC模块的C类,主要包括RTC Server和Session相关的。 SrsGoApiRtcPlay 处理webrtc client的播放请求,解析client的offer,并且生成server的answer,并且为这次请求创建一个session。SrsRtcServer 监听udp端…...

数位DP
数位dp的题目一般会问,某个区间内,满足某种性质的数的个数。 利用前缀和,比如求区间[l,r]中的个数,转化成求[0,r]的个数 [0,l-1]的个数。利用树的结构来考虑(按位分类讨论) 1081. 度的数量 #include<…...

剑指offer(一)-链表
(一)找出链表的环的入口结点 JZ23 链表中环的入口结点 中等 通过率:36.78% 时间限制:1秒 空间限制:64M 知识点链表哈希双指针 描述 给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点…...

CDH大数据平台入门篇之搭建与部署
一、CDH介绍 1.CDH 是一个强大的商业版数据中心管理工具 提供了各种能够快速稳定运行的数据计算框架,如Spark; 使用Apache Impala做为对HDFS、HBase的高性能SQL查询引擎; 使用Hive数据仓库工具帮助用户分析数据; 提供CM安装HBas…...

Spark Join
Spark Join关联形式内关联外关联左外关联右外关联全外关联左半/逆关联关联机制NLJSMJHJ分发模式Join 选择等值 Join不等值 JoinJoin 按照关联形式(Join Types)划分 : 内关联、外关联、左关联、右关联 Join 按实现机制划分 : NLJ (Nested Loop Join) 、S…...

数字的转化规则?
数字的转化规则?js将字符串转换为数字的方式有哪些?1. 使用 parseInt()2. 使用 Number()3. 使用一元运算符 ()4.使用parseFloat()5. 使用 Math.floor()和Math.ceil()6.乘以数字7. 双波浪号 (~~) 运算符其它值到数字的转化规则1.Undefined 类型2.Null 类型…...

MySQL面试题-锁相关
目录 1.MySQL 锁的类型有哪些呢? 2.如何使用全局锁 3.如果要全库只读,为什么不使用set global readonlytrue的方式? 4.表级锁和行级锁有什么区别? 5.行级锁的使用有什么注意事项? 6.InnoDB 有哪几类行锁ÿ…...

Windows 终端编译 C代码
E:\My_SoftWare\Window gcc\windowbianji\mingw64\bin 此电脑--》属性--》系统--》高级系统设置--》环境变量--》Path--》新建--》粘贴路径 E:\My_SoftWare\Window gcc\windowbianji\mingw64\bin 打开命令终端 E: 回车 dir 显示所有文件 cd E:\My_SoftWare\Window gcc\C_co…...

SpringCloud:Feign的使用及配置
目录 Feign的使用及配置 1、Feign替代RestTemplate 2、使用Fegin步骤 3、自定义配置 4、Feign使用优化 5、Feign的最佳实践方式 Feign的使用及配置 1、Feign替代RestTemplate RestTemplate方式远程调用的问题 问题: 1、代码可读性差,编程体验不同…...

Parquet学习与使用之BloomFilter的应用
写在前面 最近在自己做自定义的OLAP系统,文件格式上用的是Parquet,但是发现Parquet各个API的示例代码很少。所以就打算把这个系列的文章写一下。 1. Parquet的Filter Parquet的过滤支持两大类,一类是基于Footer中的元数据进行RowGroup级别…...

95%置信区间计算-理解
机器学习中做多次试验后,需要计算指标的95%置信区间。 假设做了10次试验,计算得出的某指标分别为{x1,…,x10} 其均值为μ(x1...x10)/10\mu(x1 ... x10)/10μ(x1...x10)/10 方差σ∑(xi−μ)2/10\sigma\sum(x_i -\mu)^2/10σ∑(xi−μ)2/10 95%置信…...

深度学习pytorch实战三:VGG16图像分类篇自建数据集图像分类三类
1.自建数据集与划分训练集与测试集 2.模型相关知识 3.model.py——定义AlexNet网络模型 4.train.py——加载数据集并训练,训练集计算损失值loss,测试集计算accuracy,保存训练好的网络参数 5.predict.py——利用训练好的网络参数后,…...