Linux文件权限
Linux一般将文件可读写的身份分为三个类别,分别是:拥有者(owner),所属组(group)和其他人(others)。
默认的情况下,系统上所有的账号与一般身份账号,还有root账号相关信息都记录在/etc/passwd,密码则记录在/etc/shadow这个文件内,Linux所有的组名都记录在/etc/gruop中。
- 上图框中(第一部分)代表文件类型与权限
- d 表示目录;
-
- 表示文件;
- l 表示链接文件(link file);
- b 表示设备文件里面的可供存储的周边设备;
- c 表示设备文件里面的串行端口设备;
- 接下来的字符3个为一组,均为rwx的组合,r 表示可读,w 表示可写,x 表示可执行。这三个权限的位置不会变,rwx的顺序也不会变,如果没有权限,用-表示;
- 第一组为文件拥有者具备的权限;
- 第二组为文件所属组具备的权限;
- 第三组为其他账号(除文件拥有者和所属组)所具备的权限。
- 第二部分表示文件的链接树
- 第三部分表示文件的所有者
- 第四部分表是文件的所属组
- 第五部分表示文件的大小,单位字节
- 第六部分表示文件的创建时间或最后的修改时间
- 第七部分表示文件名,若文件名第一个字符为.,则表示为隐藏文件
修改文件的属性与权限
#修改文件的拥有者
chown
chown user:group filename #修改filename的拥有者为user,用户组为group
chown user.group filename #修改filename的拥有者为user,用户组为group
chown .group filename #修改filename的用户组为group
#修改文件的用户组
chgrp
#修改文件的权限
chmod
文件权限(3个身份9个权限)的修改使用chmod这个命令,设置权限的方法有两种,分别可以使用数字或是符号来进行权限的修改。
- 数字类型修改文件权限
r:4
w:2
x:1
#设置test文件所有者为rwx,group为r-x,其他人为r--
chmod 754 test
- 符号类型修改文件权限
u:user(文件所有者)
g:group(文件用户组)
o:other(其他人)
a:所有
+:新增权限
-:取消权限
=:设置权限
#设置test文件所有者为rwx,group为r-x,其他人为r--
chmod u=7,g=5,o=4 test
#为test文件所有者新增w权限
chmod a+w test
#为test文件用户组取消可执行权限
chmod g-x test
权限对文件的作用
- r:表示可以读文件的内容
- w:表示可以编辑、新增或是修改文件内容,但不能删除文件
- x:表示文件可以被执行
权限对目录的作用
- r:表示可以读取该目录下面的文件结构
- w:表示可以修改该目录下面的文件结构,如新增文件或目录、删除存在的文件或目录、修改文件或目录的名称、移动文件或目录的位置
- x:表示可以进入该目录
Linux文件种类与扩展名
- 文件种类
- 纯文本文件(ASCII)
- 二进制文件(binary)
- 数据文件(data)
- 目录(directory)
- 链接文件(link)
- 区块(block)设备文件
- 字符(character)设备文件
- 数据接口文件(sockets)
- 数据输送文件(FIFO、pipe)
- 扩展名
- *.sh:脚本或批处理文件
- *Z、*.tar、*.tar.gz、*.zip、*.tgz:压缩文件
- *.html、*.php:分别代表html语法和php语法的网页文件
Linux文件或目录的最大长度为255字符。