以atom安装文件为例
-rwxrwxrwx 1 wang wang 76837622 8月 9 14:33 atom-amd64.deb
对于文件
- r (read):可读取此一文件的实际内容,如读取文本文件的文字内容等;
- w (write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件);
- x (execute):该文件具有可以被系统执行的权限。
对于目录
-
r (read contents in directory) 表示具有读取目录结构清单的权限,所以当你具有读取(r)一个目录的权限时,表示你 可以查询该目录下的文件名数据。 所以你就可以利用 ls 这个指令将该目录的内容列表显 示出来!
-
w (modify contents of directory)
- 创建新的文件与目录
- 删除已经存在的文件与目录(不论该文件的权限为何!)
- 将已存在的文件或目录进行更名;
- 搬移该目录内的文件、目录位置。
-
x (access directory )使用者能否进入该目录
ls -al boot -rw-r--r-- 1 root root 1240067 7月 13 09:59 abi-4.4.0-31-generic 我当前登陆账户并不属于root组,对已boot目录,我是other,只有r权限, 所以我只能使用
ls -al /boot列出boot目录中的内容,而不能cd /boot进入boot目录
权限格式
[-][rwx][rwx][rwx]
共10个字符,第1个字符代表文件类型.
- [d]表示目录
- [-]表示文件
- [l]表示链接文件,即windows中的快捷方式
- [b]代表可存储设备
- [c]代表读取设备,如键盘鼠标
rwx分别代表 读/写/执行权限,位置是固定的,如果没有相应权限就以-代替
-
2-4代表文件拥有者的权限
-
5-7代表文件所属群组的权限
-
8-10代表其他人的权限
-rwxrwxrwx 1 wang wang 76837622 8月 9 14:33 atom-amd64.deb 中的
1表示多少文件名链接到此节点(i-node),每个文件都会将他的权限与属性记录到文件系统的i-node中,我们使用的目录树是使 用文件名来记录,因此每个文件名就会链接到一个i-node-rwxrwxrwx 1 wang wang 76837622 8月 9 14:33 atom-amd64.deb
-
第一个
wang为文件的拥有者账户名 -
第二个
wang为文件的所属群组 -
76837622为文件大小(Bytes) -
8月 9 14:33为文件的创建(修改时间). -
atom-amd64.deb为文件名文件名
请注意,drwxr--r--中其他人并不能进入此目录,因为他没有x(执行)权限,而进入目录需要执行权限
文件权限变更
chgrp: change group,改变文件所属群组chown: change owner,改变文件拥有者chmod: change modify,改变文件的权限,SUID,SGID,SBIT.
改变文件所属群组 chgrp
chgrp[-R] groupname dirname/filename
-R表示递归改变该目录下所有文件及目录的所属群组
chgrp root atom.deb
将atom.deb的所属群组改为root,要改变的群组必须存在,否则会报错(正常操作)
修改文件的拥有者 chown
chown username dirname/filename
chown username:groupname dirname/filename
修改文件的拥有者和群组
权限的真实表示
-rwxrwxrwx表示成数字是 -777 实质上就是 - [111] [111] [111]
每种类别用一个三位二进制表示,将三位数字相加就得到数字权限表示
chmod 755 atom.deb
修改atom的权限为-rwxr-xr-x
以符号类型修改文件权限
-
u,user
-
g,group
-
o,other
-
a,all
chmod u=rwx,g=rx,o=rx atom.deb
改变atom.deb的权限为 -rwxr-xr-x
chmod u-x,g+w,o+w atom.deb
减去user的x权限,增加group和other的w权限
linux中文件能否执行由x(execute)权限决定.