Linux 的文件权限
用户与用户组
linux最优秀的地方,就在于多用户、多任务环境
文件所有者
- 在多人同时使用主机的情况下,考虑每个人的隐私权及个人喜好的工作环境
用户组
- 在团队开发的时候尤其重要
- 每个账号(用户)都可以有多个用户组的支持
其他人
- 不属于“文件所有者及所属用户组中用户”的其他用户
root用户极其特殊,拥有最高权限
Linux用户身份与用户组记录的文件
/etc/passwd
- 系统上的所有账号、一般身份用户及root的相关信息
/etc/shadow
- 个人密码
/etc/group
- 所有的组名
Linux文件权限
对数据安全性及系统保护有重要意义
Linux文件属性
ls -al
显示当前目录下所有文件及目录的详细信息
-a 显示所有,包括隐藏文件(文件名以.开始的)
-l 显示详细信息
ls -al 输出7列信息
- -rw-r—r— 1 root root 42304 Sep 4 18:26 install.log
第一列表示这个文件的类型与权限(permission),共计10个字符
第一个字符表示文件类型
- -表示文件
- d表示目录
- l表示连接文件
剩下九个每3个一组,分别为“文件所有者”、“同用户组”、“其他非本用户组”的权限,均含有“rwx”三个参数组合
- r表示可读
- w表示可写
- x表示可执行
- 注意:这三个权限的位置不会改变,如果没有相应权限,用-占位
第二列表示有多少个文件名连接到此节点(i-node)
- 每个文件都会将它的权限与属性记录到文件系统的i-node
- 第三列表示这个文件或目录的“所有者账号”
- 第四列表示这个文件的所属用户组
- 第五列表示这个文件的大小,默认单位B
第六列表示这个文件的创建日期或者最近修改日期
- ls -l —full-time显示完整时间
第七列表示该文件名
更改文件属性与权限
- chgrp
- 改变所属用户组
- chgrp users filename.log 把filename.log加到users用户组
- -R 递归更改,适合于嵌套目录
chown
- 改变所有者
- chown bin install.log
- -R 递归更改,适合于嵌套目录
- 可以用于同时修改所有者和用户组,用:隔开
- 如 chown hanrd:root install.log
- hanrd所有者,root用户组
- 只改用户组 chown .root install.log
chmod
- 改变权限
数字类型
- r-4、w-2、x-1,各个值相加
- rwx = 7
- chmod 740 filename
符号类型
- u-所有者
- g-本用户组
- o-其他非本用户组
- a-所有上述三种身份
- +添加权限、-除去权限、=设置权限
- 如
- chmod u=rwx,go=rw .bashrc
- chmod a+w .bashrc
目录与文件的权限意义
文件
- r-可以读取文件实际内容
- w-可以编辑修改文件内容,不能删除文件
- x-具有被执行权限,执行成功与否与文件内容有关
目录
- r-获取目录结构列表,详细信息获取不到
w-更改该目录结构列表的权限,与文件名变动有关
- 新建文件或目录
- 删除文件或目录
- 重命名
- 移动文件、目录位置
x-能否进入该目录作为工作目录
linux文件种类与扩展名
普通文件
- 用-表示
- 纯文本文件 - ASCII
- 二进制文件
- 数据格式文件,具有特殊格式,存储数据
目录
- 用d表示
连接文件
- 用l表示
扩展名
一个文件能不能被linux执行,与它的第一列的10个属性有关,与文件名后缀一点关系没有
文件名长度限制
- 单一文件或者目录最大容许的文件名为255个字符
- 完整路径名、文件名最大4096个字符
- 文件名尽量避免特殊字符