文件权限
文件权限
创建文件的用户和他所属的组拥有该文件,文件的属主可以决定谁对该文件具有读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