linux学习第八篇:文件或目录权限chmod,更改所有者和所属组chown,umask,隐藏权限lsattr_chattr
文件或目录权限chmod
三种基本权限
R 读 数值表示为4
W 写 数值表示为2
X 可执行 数值表示为1
-rw-rw-r-- 一共十个字符,分成四段。
第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录
第二三四个字符“rw-”表示当前所属用户的权限。 所以用数值表示为4+2=6 ( u )
第五六七个字符“rw-”表示当前所属组的权限。 所以用数值表示为4+2=6 ( g )
第八九十个字符“r--”表示其他用户权限。 所以用数值表示为2 ( o )
第十一为有‘ . ’说明受制与selinux防火墙。
chmod a(所有) u(用户主) g(用户组) o(其他者) + – (增加或者取消)
[root@xie-02 ~]# ls -l
总用量 4
-rw-r--r--. 1 root root 0 10月 25 12:14 1.txt
-rw-------. 1 root root 1422 10月 21 21:04 anaconda-ks.cfg
[root@xie-02 ~]# chmod 700 1.txt
[root@xie-02 ~]# ls -l 1.txt
-rwx------. 1 root root 0 10月 25 12:14 1.txt
chmod -R 777 test //把目录以及目录下的子目录和文件批量的更改权限
chmod a+x test //将所有的权限都加上x(可执行权限)
chmod u+x test //将用户主的权限加上x(可执行权限),g,o同理
更改所有者和所属组chown,chgrp
chown用法:chown (-R) username :group filename
chown将root更改为用户xie
[root@xie-02 ~]# ls -l 1.txt
-rwx------. 1 root root 0 10月 25 12:14 1.txt
[root@xie-02 ~]# chown xie 1.txt
[root@xie-02 ~]# ls -l 1.txt
-rwx------. 1 xie root 0 10月 25 12:14 1.txt
chown root:root //可一次性将所有者和组改成root
PS:chown :root / /可将组改为root(等同于命令 chgrp)
[root@xie-02 ~]# !ls
ls -l 1.txt
-rwx------. 1 xie xie 0 10月 25 12:14 1.txt
[root@xie-02 ~]# chown root:root 1.txt
[root@xie-02 ~]# !ls
ls -l 1.txt
-rwx------. 1 root root 0 10月 25 12:14 1.txt
chgrp将组root更该为组xie
[root@xie-02 ~]# ls -l 1.txt
-rwx------. 1 xie root 0 10月 25 12:14 1.txt
[root@xie-02 ~]# chgrp xie 1.txt
[root@xie-02 ~]# !ls
ls -l 1.txt
-rwx------. 1 xie xie 0 10月 25 12:14 1.txt
chown -R xie:xie test //同chmod命令,将test目录以及目录下的子目录和文件批量的更改所有者和所有组为xie
umask
umask:用来决定默认的文件和目录的权限的。
目录用 777-umask(系统默认022)=755
文件用 666-umask(系统默认022)=644
若umask=003
777(rwxrwxrwx) - umask(-------wx) = 774(rwxrwxr--)
666(rw-rw-rw-) - umask(-------wx) = 664(rw-rw-r--)
隐藏权限lsattr_chattr
chattr +i test.txt //让档案不能被添加修改删除,改名,包括创建时间也不能被修改(即touch命令不能使用)
//对目录使用时,不能在目录下新建文件,修改文件名
chattr -i test.txt // 解除档案(或目录)的i属性 chattr +a test.txt // 档案只能增加数据,而不能删除也不能修改数据
chattr -a test.txt // 解除档案的a属性
lsattr test // 查看目录下的子目录和子文件的隐藏权限
lsattr -d test // 查看目录本身的隐藏权限
lsattr -a 档案/目录 // 将隐藏文件的属性也显示出来 lsattr -R 档案/目录 // 连同子目录的数据也一并列出来
- 如何遍历维数和各维上限未定的多维数组
- 求长度的另一种方法(""+obj).Length
- ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现
- GreenPlum 简单性能测试与分析(续)
- 最终版 Reflector v1.0 (+简单的反流程混淆)
- 性能&分布式&NewLife.XCode对无限数据的支持
- ASP.NET MVC下的异步Action的定义和执行原理
- 包学会之浅入浅出Vue.js:结业篇
- 迈克尔•戴尔:人工智能杀手?技术反乌托邦?不存在的
- 你知道吗?多个类多线程环境下静态构造函数的执行顺序
- 云端架构师养成之三:微信也在用的消息队列服务
- 现在 tensorflow和mxnet 很火,是否还有必要学习 scikit-learn 等框架?
- ASP.NET MVC基于标注特性的Model验证:将ValidationAttribute应用到参数上
- 改进版CodeTimer及XCode性能测试
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Mybatis源码笔记之浅析ParameterHandler
- SpringBoot总结之浅析自动化配置原理
- Vue用keep-alive实现页面缓存
- Mybatis源码笔记之浅析StatementHandler
- Spring之事务传播行为
- Js处理异步async,await
- Vue_Cli4.x使用px2rem + vant搭建移动端项目
- Html新特性contenteditable自定义富文本
- 如何优雅的处理Restful
- 微信SDK实现多张图片上传
- JsBase64位转换为blob上传到服务器
- 微信小程序可移动浮窗
- Vant实现省市区三级联动
- springboot+Druid+mybatis整合
- Vue_cli升级4.x版本搭建项目