文件权限
文件权限
创建文件的用户和他所属的组拥有该文件,文件的属主可以决定谁对该文件具有读r
、写w
、执行x
权限。目录对应的rwx
权限则表现为:r
可以列出其中的内容,w
可以在该目录中创建文件,x
搜索和访问该目录。根用户或系统管理员可以改变任何普通用户的设置。
按照所针对的用户,文件的权限可分为3类:
- 文件属主,创建该文件的用户
- 同组用户,拥有该文件的用户组中的任何用户
- 其他用户,不属于同组用户
创建文件的时候,系统保存了该文件的全部信息:
- 文件位置
- 文件类型
- 文件长度
- 属主及可以访问该文件的用户
- i节点
- 文件修改时间
- 文件权限位
文件类型有:
d
- 目录l
- 符号链接(指向另一个文件)s
- 套接字文件b
- 块设备文件c
- 字符设备文件p
- 命名管道文件-
- 普通文件,不属于以上类型
改变文件权限位,可以使用chmod
命令,格式为:
chmod [who] operator [permission] filename
who
-u
文件属主/g
同组用户/o
其它用户/a
所有用户operator
-+
增加权限/-
取消权限/=
设定权限permission
-r
读权限/w
写权限/x
执行权限/s
文件属主和组set-ID/l
给文件加锁使其它用户无法访问
或者使用绝对模式:
chmod [mode] filename
-rwxrwxrwx
其中每位使用二进制表示,3位一组构成8进制,权限就是777。
可以使用-R
选项使得连同子目录下所有文件一起设置:chmod -R 664 dir/*
。
改变文件所有权可以使用chown
:
chown -R -h owner file
-R
指对所有子目录下的文件进行同样的操作,-h
指在改变符号链接文件的属主时不影响该链接所指向的目标文件。
还可以使用chgrp
命令改变文件所属的组,格式类似chown
。
使用group
或id
命令查找自己属于哪个组,gourp other_usr_name
找出其它用户所属组,一个用户可以属于多个组。
umask
命令可以设置创建文件时权限的缺省模式:
umask nnn
nnn
为000~777。umask
类似于掩码运算,如umask 002
所对应的文件和目录的缺省权限分别为664和775。这是因为,系统不允许你在创建一个文件时就赋予它执行权限,所以这一数字最大是6,但是目录则允许执行,所以最大是7。
符号链接
链接文件分软连接和硬链接,软链接实际上就是一个指向文件的指针。可以使用软链接来保存文件的多个映像。软链接文件不必和源文件名称保持一致。软链接命令格式:
ln [-s] source_path target_path