博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux学习笔记(八)文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限...
阅读量:7033 次
发布时间:2019-06-28

本文共 2114 字,大约阅读时间需要 7 分钟。

一、chmod

chmod 命令用于修改文件或者文件夹的权限,

之前学习过

ls -l

Linux学习笔记(八)文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限

如图,第一位-之前已经学习过,代指这是一个文本
之后的 rw-r--r--是文件的权限
前三位rw-是文件所有者的权限
中间三位r-- 是文件所属组的权限
后三位r--是其他用户的权限
文件的权限有三种:
r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限;对目录来说,具有新建,删除,修改,移动目录内文件的权限。
x(eXecute,执行):对文件而言,具有执行文件的权限;对目录来说该用户具有进入目录的权限。
权限拥有权限值,r=4 ,w=2 ,x=1,
上图中rw-r--r-- 就可以用644表示
将此文件的权限修改为700

chmod 700  /tmp/chen1/123.txt

然后

ls -l /tmp/chen1/

Linux学习笔记(八)文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限

可以发现123.txt的权限变成了rwx------
也可以使用

chmod  g+r,o+w /tmp/chen1/123.txt

此时文件权限变为rwxr---w- 即742

Linux学习笔记(八)文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限
g就是group用户组
o就是other其他用户,
还有个u是指文件所有者,这种方法可以明确的修改文件的权限,比起用权限值修改略麻烦;
接下来修改文件夹的权限
Linux学习笔记(八)文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限

ls -ld /tmp/chen1/

文件权限为rwxr-xr-x 755

chmod 700 /tmp/chen1/
ls -l /tmp/chen1/

Linux学习笔记(八)文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限

可以发现123.txt文件权限并没有改变,也就是说chmod命令只是修改了文件夹本身的权限,并没有修改文件夹内部文件的权限
如果要修改文件夹和文件夹内部文件的权限,则使用下面的命令

chmod -R 741 /tmp/chen1/

可以发现文件夹/tmp/chen1/与文件/tmp/chen1/123.txt的权限都变为了741;

二、chown

change owner 修改文件所属用户

cat /etc/passwd

Linux学习笔记(八)文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限

可以看到最后两个是我之前增加的用户chen1和user1
接着我来修改文件/tmp/chen1/123.txt的用户

ls -l /tmp/chen1/123.txt

Linux学习笔记(八)文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限

可以看到文件的用户和用户组都是root
修改所属用户

chown chen1 /tmp/chen1/123.txt

Linux学习笔记(八)文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限

查看

ls -l /tmp/chen1/123.txt

修改所属组

chgrp user1 /tmp/chen1/123.txt

查看

ls -l /tmp/chen1/123.txt

也可以使用

chown user1:chen1  /tmp/chen1/123.txt

同时修改用户组和用户,用冒号分隔即可,

ls -l /tmp/chen1/123.txt

单独修改用户组也可以

chown :user1  /tmp/chen1/123.txt

Linux学习笔记(八)文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限

三、umask

umask 用来改变新建文件和新建文件夹的默认权限

文件夹默认所有的权限值777,文件666

Linux学习笔记(八)文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限
umask 默认为0022
umask 第一位的0可以先省略
所以新建文件夹默认权限为 777-022 = 755
新建文本默认权限为 666-002=644 ;
如果将umask修改为0003

umask 0003

则新创建的文件夹权限变为 777-003=774

而新建文本权限为 664 而并不是663
这是因为,文本所有权限为664(rw-rw-rw-) 003 (-------wx)
由于664权限中已经没有x权限,所以现在权限为(rw-rw-rw-)- (-------wx) =(rw-rw-r--)

四、chattr

隐藏权限

使用

man chattr 可以查看具体用法

chattr +i /tmp/chen1/123.txt

Linux学习笔记(八)文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限

则文件/tmp/chen1/123.txt无法修改、删除
使用

lsattr /tmp/chen1/123.txt

可以看到有i权限

chattr -i /tmp/chen1/123.txt

就可以删除i权限;

chattr +a /tmp/chen1/123.txt

Linux学习笔记(八)文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限

则文件/tmp/chen1/123.txt只可以追加,无法进行删除等其他操作
并且只可以使用echo asaddasd >> /tmp/chen1/123.txt这种方式追加,无法用vi编辑追加

chattr -a /tmp/chen1/123.txt

删除a权限;

当文件夹拥有i权限时,文件夹内文件可以追加,也可以可以用vi追加或修改文件,但是不可以删除文件,无法创建新文件;

当文件夹拥有a权限时,文件夹内文件可以追加,也可以可以用vi追加或修改文件,可以新建文件,但是不可以删除文件;

lsattr -R /tmp/chen1/

可以查看文件内所有子文件隐藏权限。

对于这部分,可以去下面这个帖子查看详细介绍

转载于:https://blog.51cto.com/13569831/2067102

你可能感兴趣的文章
工信部批准,“中国开源软件推进联盟PostgreSQL分会”正式成立
查看>>
《精通ArcGIS Server 应用与开发》——1.6 小结
查看>>
《高可用架构·中国初创故事(第3期)》一导读
查看>>
如何进入 Docker 容器 【已翻译100%】
查看>>
《Docker进阶与实战》——1.4节概念澄清
查看>>
《SolidWorks 2016中文版机械设计从入门到精通》——1.3 常用工具命令
查看>>
Chrome 移动端用户破 10 亿:Web 不死,或将消灭 App
查看>>
统治 Web 的 JavaScript 准备要接管桌面了
查看>>
图表长在地图上 —— 定制 Marker 样式组件
查看>>
Terraform 0.3 发布,基础架构管理工具
查看>>
《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——01-04限制!限制!限制!...
查看>>
程序员获取编程灵感的 10 种方式
查看>>
《数据结构与算法:Python语言描述》一1.2 问题求解:交叉路口的红绿灯安排...
查看>>
《软技能:代码之外的生存指南》一一2.15 我可不能保证你能够一鸣惊人
查看>>
《Unity着色器和屏幕特效》——1.2 导入项目文件
查看>>
《自顶向下网络设计(第3版)》——2.1 可扩展性
查看>>
《Excel数据可视化:一样的数据不一样的图表》——3.3 用数据条的长度代表数值大小...
查看>>
《Android应用开发入门经典(第3版)》——第1.2节立即创建一个简单的应用
查看>>
[重磅]2015年中国银行电子商务产业链趋势报告(35PPT)
查看>>
《Python Cookbook(第3版)中文版》——6.3 解析简单的XML文档
查看>>