Linux第二章:文件权限管理
文件类型和扩展名
文件种类
-
常规文件
- 纯文本文件(ASCII)
- 二进制文件(binary)
- 数据文件(data)
在ls -al显示属性为[-]
-
目录
在ls -al显示属性为[d]
-
链接文件
- 区块设备文件:[b]
- 字符设备文件:[c]
-
数据接口文件:[s]
-
数据输送文件FIFO:[p]
扩展名
Linux文件没有所谓的扩展名,与文件自身的属性有关,与文件名无关。
属性:-rwxr-xr-x
具有可执行权限和文件可以执行 是两码事。
- .sh 脚本或是批处理文件
- Z .tar .tar.gz .zip .tgz 压缩文件
- .html .php 网页相关文件
文件命名
长度可以为255个字符长度,或是128个汉字
文件命名避免特殊字符
* ? > < ; & ! [] | \ ' " () {}
开头避免为
- +
用户和用户组
作用:安全防护措施
一个系统内可以有多个用户组,一个组内可以有多个用户
在linux里面,任何文件和目录均有 User, Group, Others 三种身份的个别权限。
万能身份:root
/etc/passwd 账号和用户信息均在其中,包括root
/etc/shadow 个人密码
/etc/group 所有组名 这三文件不可删除
创建用户组和用户
要在root下创建,不然会创建失败
su - 进入root
groupadd 用户组
useradd -m -g 用户组 用户
为用户设置密码
进入特定的用户
su - 用户名
在root模式下,进入其他用户的文件夹
如:进入普通用户lmc7的Documents的文件夹
cd /home/用户名/文件夹名
文件权限
文件属性
查看文件命令
ls 显示文件的文件名和属性
ls -al 显示所有文件的详细属性(包括隐藏文件)
切换身份,进入root模式
su -
然后用exit
退出root模式
在第一栏有十个字符代表该文件或目录的属性
- 第一个字符代表这个文件是什么(目录,文件,链接文件)
- 剩下的九个字符三个一组,均为rwx的三个参数的组合。r可读,w可写,x可执行,若没有该权限,则出现
-
- 对于文件来说,rwx的权限是对于文件内容而言,不可删除文件
- 对于目录来说,r是可见目录下的文件(ls查看),w可以建立新的文件和目录,删除已经存在的文件和目录,将已存在的文件或目录进行更名,移动该目录内的文件目录位置;
- x代表用户是否可以进入该目录,cd操作
- 三组依次为文件拥有者的权限,此用户组的权限,其他账号权限
文件容量单位是Bytes
显示完整时间
ls -l --full-time
权限对于安全的重要性
每个目录和文件都添加了很多属性,最大作用是数据安全性。
root基本不受权限限制,所有日常操作尽量不要进入root模式,进入后及时退出。
修改文件权限
- chgrp:修改文件所属用户组;
- chown:修改文件拥有者;
- chmod:修改文件的权限,SUID,SGID,SBIT等
chgrp
将文件分配给特定用户组,修改文件所属的用户组,不能改变用户名
chgrp 用户组名 文件名
chown
修改文件拥有者
格式
chown -R 用户名 文件或是目录
chown -R 用户名:用户组 文件或是目录
chmod
修改文件自身权限(属性),采用数字修改
读 r 4
写 w 2
可执行 x 1
每种身份对应的权限是三种权限数字的累加
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others = --- = 0+0+0 = 0
还可以用符号类型修改文件权限
u是user, g是group, o是others a代表all全部
+加入, -移除, =设置
格式
chmod u=rwx, go=rx 文件名
chmod a+w 文件名
目录权限
目录主要的内容在于:记录文件名列表,文件名与目录有着强烈的关联
r: read contents in directory
读取结构列表的权限,可以查询该目录下的文件名数据,即:可以用ls
命令显示文件列表
w: nodify contents of directory
改动目录结构的权限:(关键权限,对文件夹下的文件有着生死大权)
- 建立新的文件与目录
- 删除已经存在的文件和目录
- 将已存在的文件或目录更名
- 移动目录内的文件和目录位置
x: access directory
用户是否可以cd进入该目录
tip:
要开放目录给别人浏览时,至少要给rx的权限,但w权限不可随便给。若w给出去了,那么无论该用户对于目录下的文件有着什么样的权限,该用户均可改动目录结构,对目录内的文件有着“生杀大权”。