使用ll命令查看文件时发现文件有10位权限信息

 

 

 


首位  代表文的件类型

  - 普通文件 ;

包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件。

d 目录 ;

能用 # cd 命令进入。

l 连接文件 ;

类似快捷方式 一般放在dev ;

c 字符设备文件  ;

即串行端口的接口设备,例如键盘、鼠标等等一般放在dev;

p管道文件 ;

是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误

s 套接字文件;

通常用在网络数据连接,常在 /var/run目录中看到这种文件类型

 

前三位rwx代表 当前用户拥有  读 写 执行的权限

中三位rwx代表 当前组拥有      读 写 执行的权限

末三位rwx代表 其他用户拥有  读 写 执行的权限


 

 

 

chmod有两种模式来改变文件的权限


符号模式:

chmod   (who) (operator)(permission) filename

who:u g o a   ;

用户名 组 其他用户 所有用户

operator:+ - = ;

增 删  设定是什么权限

permission:r w x s t

读 写 执行

s:强制位 设置使文件在执行的过程中临时拥有root的权限

t:在缓存中执行

 

绝对模式

chmod  (mode) filename

mode:

-r    4

-w     2

-x      1

这种模式用的较多这里只举个例子

 

 

chown和chgrp修改所属用户和组


chwon user.group filename   同时更改组和用户

chwon .group filename    更改组

+R  代表该目录下的所有子文件都更改


 

 

 

umask是什么?


登录系统之后创建一个文件是会有一个默认权限的,这和umask的值有直接关系。

可以利用命令umas=777,临时设置umask的值

默认情况下的umask值是022,此时你建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认 权限是755(7-0,7-2,7-2),可以用ls -l验证一下, 现在应该知道umask的用途了吧,它是为了控制默认权限的。

  • 对于目录,直接使用777-umask即可,就得到了最终结果。
  • 对于文件,先使用666-umask。
  •   如果对应位上为偶数:最终权限就是这个偶数值。
  •   如果上面的对应为上有奇数,就对应位+1。