Linux学习(2)--文件权限
来源:互联网 发布:linux物理内存分配 编辑:程序博客网 时间:2024/06/05 02:50
由于Linux是一个多用户、多任务的系统,所以考虑到隐私等原因,“文件所有者”这个角色就相当重要。那么Linux的用户和用户组是什么呢?以我自己粗浅的话来说:
用户:就是普通的一个账号,有自己私人的一些文件
用户组:囊括了一些用户的一个整体,用户组里面的每个人都拥有访问属于用户组的公共文件的权力,而外面的则不行。
Linux文件属性
我们在任意位置执行“ls -al”都可以看到类似这样的显示:
[root@VM_174_157_centos etc]# ls -altotal 1476drwxr-xr-x. 72 root root 4096 Nov 19 13:52 .dr-xr-xr-x. 23 root root 4096 Nov 19 15:06 ..-rw-------. 1 root root 0 Jul 10 2015 .pwd.lock-rw-r--r--. 1 root root 4439 Jul 16 2014 DIR_COLORS-rw-r--r--. 1 root root 5139 Jul 16 2014 DIR_COLORS.256colordrwxr-xr-x. 3 root root 4096 Oct 16 2014 NetworkManagerdrwxr-xr-x. 4 root root 4096 Jul 10 2015 X11drwxr-xr-x. 4 root root 4096 Jul 10 2015 acpi-rw-r--r--. 1 root root 45 May 19 2016 adjtime-rw-r--r--. 1 root root 1512 Jan 12 2010 aliases-rw-r--r-- 1 root root 12288 Mar 3 2016 aliases.db[ 1 ] [2] [3] [4] [5] [ 6 ] [ 7 ][ 权限 ] [连接][所有者] [用户组] [文件大小] [修改日期] [文件名]
第一列:第一个字符代表的是这个文件的属性:
[d]表示目录(文件夹)
[-]表示文件
[I]表示连接文件
[b]表示设备文件里面的可供存储的接口设备
[c]表示设备文件里面的串行端口设备,例如:键盘、鼠标等
那么权限中的这一串[drwxr-x—]之类的又是代表什么呢?
r(read):可读
w(write):可写
x(execute):可执行
第五列:为文件大小,默认单位为B
第六列:为这个文件创建或者最近修改时间
第七列:文件名。特殊之处在于,如果文件名之前有一个“.”,则是隐藏文件
改变文件属性和权限
- 改变所属用户组:chgrp
当改变的组名是正确存在的(/etc/group中),那么我们只需要使用chgrp命令即可方便地更改该文件所属用户组。
[root@VM_174_157_centos etc]# chgrp [-R] dirname/filename ...选项与参数-R:进行递归(recursive)的持续更改,即连同子目录下的所有文件、目录都更新为该用户组之属[root@VM_174_157_centos etc]# chgrp users install.log[root@VM_174_157_centos etc]# ls -l-rw-r--r-- 1 root users 68495 Nov 19 16:20 install.log
当更改对象为文件夹的时候,建议使用-R,以免引起各种权限问题。
- 改变文件所有者:chown
更改方式和chgrp大同小异,直接看实际操作:
[root@VM_174_157_centos etc]# chown [-R] 账号名称 文件或目录[root@VM_174_157_centos etc]# chown [-R] 账号名称:组名 文件或目录参数:-R:进行递归(recursive)的持续更改,即连同子目录下的所有文件、目录都更改#将install.log的所有者更改为bin这个账号:[root@VM_174_157_centos etc]# chown bin install.log[root@VM_174_157_centos etc]# ls -l-rw-r--r-- 1 bin users 68495 Nov 19 16:34 install.log#将install.log所有者与用户组改回为root[root@VM_174_157_centos etc]# chown root:root install.log[root@VM_174_157_centos etc]# ls -l-rw-r--r-- root root 68495 Nov 19 16:41 install.log
事实上chown也可以使用“chown user.group file”,即在所有者与用户间加上小数点,不过由于很多人设置账号喜欢加入小数点,这会造成系统的误判。所有一般使用冒号。
- 改变权限:chmod
1.数字类型改变文件权限
我们将owner、group、others三种身份的权限,按三个三个地分组。并使用数字来代表各个权限,分别是:r:4,w:2,x:1,然后将权限加起来,比如当权限为[-rwxrwx—]时,分数为:
owner = rwx = 4+2+1=7
group = rwx = 4+2+1=7
others = - - - = 0+0+0=0
2.符号类型改变文件权限
user(u):拥有者
group(g):用户组
others(o):其他用户组
在更改时,如下面所示
[root@VM_174_157_centos etc]# chmod [-R] filename 文件或目录参数:xyz:就是数字类型的权限属性,为rwx相加-R:进行递归(recursive)的持续更改,即连同子目录下的所有文件、目录都更改#比如,将text.txt这个文件权限设置为-rwxr-xr--#可以计算出,它的分数为7 5 4[root@VM_174_157_centos YXH]# chmod 754 test.txt [root@VM_174_157_centos YXH]# lltotal 4-rwxr-xr-- 1 root root 35 Nov 19 17:28 test.txt#注意u=rwx,go=rx,而且u g o如果权限相同可以连着写[root@VM_174_157_centos YXH]# chmod u=rwx,go=rx test.txt [root@VM_174_157_centos YXH]# lltotal 4-rwxr-xr-x 1 root root 35 Nov 19 17:28 test.txt
目录与文件的权限意义
权限对文件的重要性
r(read):可读取文件实际内容;
w(write):可以编辑、新增或者是修改文件内容(不包含删除该文件);
x(execute):在linux下,文件是否能够被执行,是取决于这个权限的,和文件名是没有绝对关系的。权限对目录的重要性
r(read contents in directory):表示具有读取目录结构列表的权限,可以使用ls命令查看;
w(modify contents in directory):表示具有更改该目录结构列表的权限,也就是[新建],[删除],[重命名],[转移]的权限;
x(access directory):其实目录也可以执行,那么目录的x代表的是用户能否进入工作目录的用途,也就是说能不能cd进去。Linux文件长度限制
- 单一文件或目录的最大容许文件名为255个字符
- 包含完整路径名称及目录(/)的完整文件名为4096个字符
Linux文件名的限制
由于Linux在文字界面下的一些命令操作关系,一般来说,在设置文件名的时候应该避免一些特殊字符。例如下面这些: * ? > < ; & ! [ ] | \ ’ ” ` ( ) { }
因为这些符号在命令行界面是有特殊意义的。同时又由于执行命令中,常常会用到 -option等参数,所以也应该避免用 + 或 - 来命名。
- Linux学习(2)--文件权限
- linux文件权限学习
- linux文件权限学习
- Linux学习笔记(2)_用户,用户组,文件权限
- Linux学习笔记(2)----文件权限
- linux 学习(四)文件的权限
- linux 学习(三) 文件权限
- Linux学习笔记(二)文件权限
- Linux学习(7)--文件权限
- Linux学习笔记(3)--文件权限
- Linux 学习路程(3)文件权限
- linux文件权限学习 包括 特殊权限
- linux文件权限学习 包括 特殊权限
- linux文件权限学习 包括 特殊权限
- Linux文件权限学习总结
- linux文件权限学习笔记
- Linux学习记录--文件权限
- Linux文件权限学习总结
- nginx源码安装configure命令的参数介绍
- stm32f103zet6使用adc3通过dma2_5转换
- shell排序命令-sort
- ubuntu16.04下安装opencv2,以及opencv3与cuda8不兼容
- 输入法注入
- Linux学习(2)--文件权限
- Git常用命令和Git团队使用规范指南
- Flash as3.0 事件的发送和处理
- Android漫游记(4)---.so文件动态调试一例
- LM2596 adj DC/DC 降压模块
- 空白final-java编程的不变性
- Java泛型:泛型类、泛型接口和泛型方法
- Android 使用ExpandableListView打造可展开列表组件
- Android多模块构建合并aar解决方案