chmod 755 是李鬼(转)

(1) 使用ls –l查看文件,前面显示的-rwxrwxr-x是什么意思?socket

(2) chmod 755 xxx.sh又是什么意思?工具

1分钟简单说下,这两个和权限相关的问题。spa

 

先说下文件类型访问方式权限分类ip

 

Linux下,分为这么几种文件类型it

  • d:目录directorypip

  • l:符号连接linkio

  • s:套接字socketclass

  • c:字符设备charfile

  • p:命名管道pipe权限

  • -:其余,不属于以上几类

 

文件建立后,有三种访问方式

  • 读(read):显示内容

  • 写(write):编辑内容,删除文件

  • 执行(execute):执行文件

 

针对用户,文件有三类权限

  • 建立人(user)权限:建立文件的人

  • 组(group)用户权限:和拥有者处于同一用户组的其余人

  • 其余(other)用户权限

 

了解了文件类型,访问方式,三类权限以后,第一个问题就比较好解答了。

 

例如,上述a.out的第一列

-rwxrwxr-x

共有十个字符,分为四个部分:

  • 第1个字符表示文件的类型:[-]表示普通文件

  • 第234字符表示建立人的权限:[wxr]表示可读,可写,可执行

  • 第567字符表示组用户权限:[wxr]表示可读,可写,可执行

  • 第890字符表示其余用户权限:[r-x]表示可读,可执行

 

如何改变文件的权限呢?

chmod命令用于改变文件的权限,它有两种使用方法。

 

第一种:chomod [who] [operator] [permission] filename

 

[who]

  • u:建立人

  • g:组用户

  • o:其余用户

  • a:全部用户(all)

 

[operator]

  • +:增长权限

  • -:取消权限

  • =:设定权限

 

[permission]

  • r:读

  • w:写

  • x:执行

 

如何给一个文本文件xxx.sh增长可执行权限?

chmod u+x xxx.sh

 

如何不让其余用户修改xxx.sh?

chmod go-w xxx.sh

 

第二种方法:chmod [mode] filename

 

[mode]是一个3位八进制数:

  • 第一位表示建立者权限

  • 第二位表示组用户权限

  • 第三位表示其余用户权限

 

更具体的:

400:建立者可读

200:建立者可写

100:建立者可执行

040:组用户可读

020:组用户可写

010:组用户可执行

004:其余用户可读

002:其余用户可写

001:其余用户可执行

 

3位对应位的对应数字加起来,最终就是三类用户的最终权限。

 

如何回收非建立者用户对xxx.sh的全部权限?

chmod 700 xxx.sh

第一位7:4+2+1,建立者,可读可写可执行

第二位0:组用户,无权限

第三位0:其余用户,无权限

 

xxx.sh只容许建立者修改,容许其余用户读取和执行,怎么设置?

chmod 755 xxx.sh

第一位7:4+2+1,建立者,可读可写可执行

第二位5:4+1,组用户,可读可执行

第三位5:4+1,其余用户,可读可执行

画外音:通常来讲,写了一个工具,只容许本身修改,不容许别人修改,但容许别人使用,这就是755。

相关文章
相关标签/搜索