文件权限

文件权限

创建文件的用户和他所属的组拥有该文件,文件的属主可以决定谁对该文件具有读r、写w、执行x权限。目录对应的rwx权限则表现为:r可以列出其中的内容,w可以在该目录中创建文件,x搜索和访问该目录。根用户或系统管理员可以改变任何普通用户的设置。

按照所针对的用户,文件的权限可分为3类:

  1. 文件属主,创建该文件的用户
  2. 同组用户,拥有该文件的用户组中的任何用户
  3. 其他用户,不属于同组用户

创建文件的时候,系统保存了该文件的全部信息:

  1. 文件位置
  2. 文件类型
  3. 文件长度
  4. 属主及可以访问该文件的用户
  5. i节点
  6. 文件修改时间
  7. 文件权限位

文件类型有:

  1. d - 目录
  2. l - 符号链接(指向另一个文件)
  3. s - 套接字文件
  4. b - 块设备文件
  5. c - 字符设备文件
  6. p - 命名管道文件
  7. - - 普通文件,不属于以上类型

改变文件权限位,可以使用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

使用groupid命令查找自己属于哪个组,gourp other_usr_name找出其它用户所属组,一个用户可以属于多个组。

umask命令可以设置创建文件时权限的缺省模式:

umask nnn

nnn为000~777。umask类似于掩码运算,如umask 002所对应的文件和目录的缺省权限分别为664和775。这是因为,系统不允许你在创建一个文件时就赋予它执行权限,所以这一数字最大是6,但是目录则允许执行,所以最大是7。

符号链接

链接文件分软连接和硬链接,软链接实际上就是一个指向文件的指针。可以使用软链接来保存文件的多个映像。软链接文件不必和源文件名称保持一致。软链接命令格式:

ln [-s] source_path target_path

results matching ""

    No results matching ""