Linux的chown和chmod授权详解_chmod 400-程序员宅基地

技术标签: linux  

https://my.oschina.net/u/3758413/blog/1934741

chown:用来更改某个目录或文件的用户名和用户组

chmod:用来更改某个目录或文件的访问权限

首先通过`ll`命令查看目录下文件

-rw-------. 1 root root 1289 6月   1 2017 anaconda-ks.cfg
-rw-r--r--. 1 root root  786 6月   8 2017 app_account.sql
drwxr-xr-x. 8 root root 4096 2月  10 2018 homestead_server
-rw-r--r--. 1 root root 7995 6月   1 2017 install.log
-rw-r--r--. 1 root root 3384 6月   1 2017 install.log.syslog
-rw-r--r--. 1 root root    0 8月  20 12:37 mysqlaccess.log
-rw-r--r--. 1 root root   55 8月  24 17:25 test.txt

主要看最前面一列,我把"drwxr-xr-x"拿出来说,

d:目录
rwx: 可读、可写、可执行   2-4位
r-x: 可读、可执行        5-7位
r-x: 可读、可执行        8-10位

可见一共有十位。-[rw-][r--][r--].其中第一个[-]代表的是类型,其中第一位为d代表目录,每三位代表一个权限位

2-4  位代表所有者拥有的权限

5-7  位代表群组拥有的权限

8-10位代表其他人拥有的权限

 

第三和第四列两个root ,分别代表用户名和用户组;

useradd yu_test        //添加用户yu_test
chown yu_test test.txt //改变文件用户名权限
-rw-r--r--. 1 yu_test root   55 8月  24 17:25 test.txt

十进制表示

r : 4 
w : 2
x : 1
- :  0 

将rwx看成是二进制的数,有用1表示,没有用0表示,那么 [rwx] [r-x] [r--]就可以表示成:111 101 100,将其转换成为一个十进制数就是:754

权限操作

+ 表示添加权限
- 表示删除权限
= 重置权限

修改文件权限

u:代表文件所有者(user)
g: 代表所有者所在的群组(group)
o:代表其他人,但不是u和g(other)
a:a和一起指定ugo效果一样
chmod o+w test.txt :表示给其他人授予写test.txt这个文件的权限
chmod go-rw test.txt : 表示群组和其他人删除对test.txt文件的读写权限
chmod ugo+r test.txt:所有人皆可读取
chmod a+r text.txt:所有人皆可读取
chmod ug+w,o-w text.txt:设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入
chmod u+x test.txt: 创建者拥有执行权限 
chmod -R a+r ./www/ :将www下的所有档案与子目录皆设为任何人可读取
chmod a-x test.txt :收回所有用户的对test.txt的执行权限
chmod 777 test.txt: 所有人可读,写,执行

修改目录权限

chmod 700   /opt/elasticsearch  #修改目录权限
chmod -R 744 /opt/elasticsearch  #修改目目录以下所有的权限   
-R             # 以递归方式更改所有的文件及子目录

 chown 修改用户组  修改 test.txt 目录所属用户为 root,用户组为 root

chown -R root:root test.txt   
-rw-r--r--. 1 root root   55 8月  24 17:25 test.txt

 

常见权限

-rw------- (600) 只有所有者才有读和写的权限。
-rw-r--r-- (644) 只有所有者才有读和写的权限,群组和其他人只有读的权限。
-rw-rw-rw- (666) 每个人都有读写的权限
-rwx------ (700) 只有所有者才有读,写和执行的权限。
-rwx--x--x (711) 只有所有者才有读,写和执行的权限,群组和其他人只有执行的权限。
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,群组和其他人只有读和执行的权限。
-rwxrwxrwx (777) 每个人都有读,写和执行的权限

实践 在用Elasticsearch的时候是少不了给添加用户授权

chmod 400 test.txt        #修改text.txt为可读文件
vi text.txt               #执行该命令后,该文件就无法进行写入操作 提示下面信息
-- INSERT -- W10: Warning: Changing a readonly file
chmod 777 text.txt 
-rwxrwxrwx. 1 root root   55 8月  24 17:25 test.txt
chmod rwxr--r-- test.txt   #异常,不能使用该命令来修改权限

----------------------------------------------------------------------------

读(read),写(write),执行r(recute)简写即为(r,w,x),亦可用数字来(4,2,1)表示

 

举例:如果某文件权限为7则代表可读、可写、可执行(4+2+1).

若权限为6(4+2)则代表可读、可写。

权限为5代表可读(4)和可执行(1).

权限为3代表可写(2)和可执行(1)。

 

 

下图中文件所有者(属主)为root,所有组(属组)为root,文件名为install.log,权限为的第一个减号“-”代表的是文件类型:

-:普通文件,d:目录文件,l:链接文件,b:设备文件,c:字符设备文件,p:管道文件

文件的权限为rw-r-r-也就是分别表示所有者(属主)有读写权限,所有组(属组)有读权限,其余人也仅有读权限

 

普通文件即实际保存数据的地方,其并不具备删除自身的权限:

r:可读取文件的实际内容

w:可编辑、新增、修改该文件的实际内容

x:可被执行

 

 

目录文件即保存有目录结构和文件权限:

r:可读取目录结构和权限

w:可更改目录结构列表、新建、删除、重命名、转移子文件、目录

x:表示用户可进入到该目录中

 

 

------------------------------------------------------------------------------
chown 修改文件和文件夹的用户和用户组属性 
1。要修改文件hh.c的所有者.修改为sakia的这个用户所有 
chown sakia hh.c 
这样就把hh.c的用户访问权限应用到sakia作为所有者 

2。将目录 /tmp/sco 这个目录的所有者和组改为sakia和组net 
chown -R sakia:net /tmp/sco 


chmod 修改文件和文件夹读写执行属性 
1。把hh.c文件修改为可写可读可执行 
chmod 777 hh.c 
要修改某目录下所有的文件属性为可写可读可执行 
chmod 777 *.* 
把文件夹名称与后缀名用*来代替就可以了。 
同理若是要修改所有htm文件的属性 
chmod 777 *.htm 
2。把目录 /tmp/sco修改为可写可读可执行 
chmod 777 /tmp/sco 

要修改某目录下所有的文件夹属性为可写可读可执行 
chmod 777 * 
把文件夹名称用*来代替就可以了 

要修改/tmp/sco下所有的文件和文件夹及其子文件夹属性为可写可读可执行 
chmod -R 777 /tmp/sco 
可写 w=4 
可读 r=2 
可执行 x=1 
777就是拥有全权限。根据需要可以自由组合用户和组的权限

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/AlbertFly/article/details/108882756

智能推荐

Qt 数据库 bindValue()使用方法-程序员宅基地

文章浏览阅读2w次,点赞4次,收藏33次。使用数据库时,有很多种添加数据到数据库的方法,我这里使用的是变量传递数据_bindvalue

VB.Net DataSet和DataTable_vs net dataset-程序员宅基地

文章浏览阅读2.5w次,点赞2次,收藏16次。在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 datatable 中。其实使用 dataset 相当于所使用数据库中数据的副本,保存在服务器的内存中。 ● 注意如下 ado.net 关系: Connection_____Command____DataAdapter____Dataset_vs net dataset

基于Matlab的数字水印设计——基于空域的水印处理系统-程序员宅基地

文章浏览阅读1.4k次,点赞4次,收藏24次。MATLAB数字水印处理系统【LSB,界面GUI】摘 要数字水印(Digital Watermarking)技术是我们生活中经常见到的信息隐藏技术。它将一些标识信息(即数字水印)直接嵌入数字载体中,但不影响原载体的使用价值,也不容易被人的知觉系统觉察或注意到。空间数字水印是信息隐藏技术的一个重要研究方向,另一类是频率数字水印。空间数字水印采用最低有效位(LSB)算法,通过修改表示数字图像的颜色或颜..._空域可逆水印篡改定位matlab

ARP协议图文详解,包含完整测试代码-程序员宅基地

文章浏览阅读4.1k次,点赞3次,收藏56次。图文详解ARP协议,花5分钟时间彻底弄懂ARP协议。_arp协议

oracle查看锁表语句、解锁方法_oracle查询锁表语句-程序员宅基地

文章浏览阅读2.2w次,点赞8次,收藏57次。oracle死锁原因查看以及解决办法_oracle查询锁表语句

Seata介绍、原理、配置_seata配置-程序员宅基地

文章浏览阅读4.5k次,点赞4次,收藏29次。Seata是一款开源的分布式事务解决方案,可以用于解决分布式系统中的数据一致性问题。它是由阿里巴巴集团发起的开源项目,目前得到了广泛的应用和支持。在 Seata 开源之前,其内部版本在阿里系内部一直扮演着应用架构层数据一致性的中间件角色,帮助经济体平稳的度过历年的双11在分布式系统中,由于数据存储在不同的节点上,因此需要保证分布式事务的原子性(即要么全部成功,要么全部失败),否则将会出现数据不一致的情况。Seata提供了一种可靠的分布式事务解决方案,可以对全局事务进行管理和协调,从而实现分布式事务的原子_seata配置

随便推点

Vue3-01-Vue3 新特性及环境搭建-程序员宅基地

文章浏览阅读1.6k次。Vue3 新特性,性能提升,diff 算法优化,环境搭建_vue3

自学系列-有哪些高质量的自学网站_自学网站有哪些自学网-程序员宅基地

文章浏览阅读4.3k次,点赞8次,收藏44次。网上有超多的自学网站,但是你能找到质量高,还免费的课程资源吗?要知道,有些课程就算是付费的,质量也不一定高!不仅浪费时间,还损失了人民币!所以,我结合自身学习经历,给你挑选了17个高质量、免费的自学网站!一年帮你省下十几万(国外高校一年学费)!文末还有更多高质量的自学网站链接补充,收藏时别忘了点赞哦!关注我,更多高效神器、精选干货等你来看!一、综合学习篇1.Course..._自学网站有哪些自学网

SQL Server数据归档的解决方案-程序员宅基地

文章浏览阅读910次。最近新接到的一项工作是把SQL Server中保存了四五年的陈年数据(合同,付款,报销等等单据)进行归档,原因是每天的数据增量很大,而历史数据又不经常使用,影响生产环境的数据查询等操作。要求是:   1 归档的数据与生产环境数据分开保存,以便提高查询效率和服务器性能。  2 前端用户能够查询已归档的数据,即系统提供的功能不能发生改变   看起来要求不是很高,我自然会联想到两种方..._sql server 根据日期归档

过 DNF TP 驱动保护(二)-程序员宅基地

文章浏览阅读127次。01. 博文简介:02. 环境及工具准备:03. 分析 TP 所做的保护:04. 干掉 NtOpenProcess 中的 Deep InLine Hook:05. 干掉 NtOpenThread 中的 Deep InLine Hook:06. 干掉 NtReadVirtualMemory 中的 InLine Hook:07. 干掉 NtWriteVirtualMemory ...

edge同步chrome书签_如何通过 iCloud 同步 chromium edge 的书签?-程序员宅基地

文章浏览阅读980次。我又用回了edge。chrome太蠢了。icloud同步问题暂时还没法解决。先这样吧。————————几天后更新:额 建议别用edge。怎么吹都无法改变还有很多未知问题。比已知的chrome还是差很多,虽然在界面内核上有可能更好。但还是别。你并不能帮微软开发edge。微软做软件确实有点蠢。但凡你还在用苹果全家桶,最好离微软全家桶远一点。和win的交互尽量用谷歌这种第三方来解决。额 我是mac用sa..._edge 和chrome同步

wpf绑定全局静态变量(mvvm)-程序员宅基地

文章浏览阅读1.4k次,点赞2次,收藏2次。原文 wpf绑定全局静态变量(mvvm)在实际的开发中,有一些集合或者属性可能是全局的,比如当你做一个oa的时候,可能需要展示所有的人员,这时这个所有的人员列表显然可以作为全局参数,比如这里有一个全局的静态属性UserList。而你在使用mvvm做wpf开发的时候,一般每个view都已经指定好了viewmodel。而viewmodel显然是不包含UserList。这时如果你想在绑定了viewm..._mvvm 静态属性绑定

推荐文章

热门文章

相关标签