1.1 文件
$ ls -l
total 16
-rw-r--r-- 1 root root 15712 Dec 14 2016 anaconda-post.log
-rw-r--r--:
rw-:文件属主权限 这是前面三位
r--:同组用户权限 这是中间三位
r--:其他用户权限 这是最后三位
权限位上的"-"代表权限禁止,第一个"-"代表文件类型
r 读权限
w 写/更改权限
x 执行该脚本或程序的权限
-rwxrwxrwx 普通文件,文件属主读写执行,同组用户读写执行,其他用户读写执行。
1 该文件硬链接的数目。
root 文件的属主。
root 文件的属主root所在的缺省组(也叫做root )。
15712 用字节来表示的文件长度,记住,不是 K字节!
Dec 14 2016 文件的更新时间。
anaconda-post.log 文件名。
1.2 文件类型
d 目录。
l 符号链接(指向另一个文件)。
s 套接字文件。
b 块设备文件。
c 字符设备文件。
p 命名管道文件。
- 普通文件,或者更准确地说,不属于以上几种类型的文件。
1.3 chmod命令符号模式
c h m o d命令的一般格式为:
chmod [who] operator [permission] filename
w h o的含义是:
u 文件属主权限。
g 同组用户权限。
o 其他用户权限。
a 所有用户(文件属主、同组用户及其他用户 )。
o p e r a t o r的含义:
+ 增加权限。
- 取消权限。
= 设定权限。
p e r m i s s i o n的含义:
r 读权限。
w 写权限。
x 执行权限。
s 文件属主和组set-ID。
t 粘性位*。
l 给文件加锁,使其他用户无法访问。
命 令 结 果 含 义
chmod a-x myfile rw- rw- rw- 收回所有用户的执行权限
chmod og-w myfile rw- r-- r-- 收回同组用户和其他用户的写权限
chmod g+w myfile rw- rw- r-- 赋予同组用户写权限
chmod u+x myfile rwx rw- r-- 赋予文件属主执行权限
chmod go+x myfile rwx rwx r-x 赋予同组用户和其他用户执行权限
1.4 chmod命令绝对模式
chmod [mode] file
其中mode是一个八进制数。
表1-3 八进制目录/文件权限表示
八进制数 含义
0400 文件属主可读
0200 文件属主可写
0100 文件属主可执行
0040 同组用户可读
0020 同组用户可写
0010 同组用户可执行
0004 其他用户可读
0002 其他用户可写
0001 其他用户可执行
文件属主、同组用户和其他用户分别所能够具有的最大权限值就是7。
表1-4 计算权限值
文件属主 同组用户 其他用户
rwx rwx rwx
4+2+1 4+2+1 4+2+1
例子:
计算1:
-rw-r--r--
0400 + 0200 (文件属主可读、写) = 0600
0040 (同组用户可读) = 0040
0004 (其他用户可读) = 0004
0644
计算2:
rw- r-- r--
4+2 4 4
644
1.5 目录
表1-5 目录权限
r 可以列出该目录中的文件
w 可以在该目录中创建或删除文件
x 可以搜索或进入该目录
如果把同组用户或其他用户针对某一目录的权限设置为 --x,那么他们将无法列出该目录中的文件。
如果该目录中有一个执行位置位的脚本或程序,只要用户知道它的路径和文件名,仍然可以执行它。用户不能够进入该目录并不妨碍他的执行。
目录的权限将会覆盖该目录中文件的权限。
1.6 suid/guid
1.7 chown/chgrp/group/id
chown palinue project
文件project的所有权现在由原用户xxx交给了用户pauline。
chgrp sybadmin project
用户palinue现在把该文件所属的组由admin(当前用户组)变为sybadmin(系统中的另外一个用户组)。
group/id
查询当前用户的用户组
1.8 umask
当最初登录到系统中时, umask命令确定了你创建文件的缺省模式。这一命令实际上和chmod命令正好相反。
umask nnn(nnn为umask置000-777)
系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用 chmod命令增加这一权限。所以创建文件时最大为4+2=6;
目录可以创建时赋予执行权限,所以创建目录时最大4+2+1=7.
umask 000 文件:666 -rw-rw-rw- 目录:777 drwxrwxrwx
umask 002 文件:664 -rw-rw-r-- 目录:775 drwxrwxrw-
umask 022 文件:644 -rw-r--r-- 目录:755 drwxrw-rw-
查看当前umask值,直接输入umask命令
1.9 符号连接
创建软连接(可以是目录,可以是文件,链接权限默认777)
ln [-s] source_path target_path
$ ll
total 7436
-rw-rw-r-- 1 jbossuser jbossuser 0 Aug 24 19:20 dst
-rwxr--r-- 1 jbossuser jbossuser 0 Aug 27 10:08 myfile
-rw-rw-r-- 1 jbossuser jbossuser 7613221 Aug 27 11:48 smcrm-sit-wildfly-85756-0.log
文件smcrm-sit-wildfly-85756-0.log创建软链接server.log
$ ln -s /opt/logs/app/smcrm-sit-wildfly-85756-0.log /opt/logs/app/server.log
$ ll
total 7436
-rw-rw-r-- 1 jbossuser jbossuser 0 Aug 24 19:20 dst
-rwxr--r-- 1 jbossuser jbossuser 0 Aug 27 10:08 myfile
lrwxrwxrwx 1 jbossuser jbossuser 43 Aug 27 16:12 server.log -> /opt/logs/app/smcrm-sit-wildfly-85756-0.log
-rw-rw-r-- 1 jbossuser jbossuser 7613221 Aug 27 11:48 smcrm-sit-wildfly-85756-0.log