Linux的文件权限

来源:互联网 发布:php是世界上最美的语言 编辑:程序博客网 时间:2024/05/21 17:28
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念
ls -al(l):


从左到又每一列的信息依次为权限、 连接数、 所有者 、 用户组 、 文件容量 、 修改日期 、 文件名

第一列的十位字母代表的是文件的类型和权限,第一个字符代表这个文件是“目录、文件或链接文件等”含义:
d:代表是目录
   -:代表是文件
   l:代表是连接文件
   b:代表设备文件里可供存储的接口设备
   c:代表设备文件里面的串行端口设备。如键盘,鼠标等
后边9个字符,每3个字符为一组,“rwx”(可读、可写、可执行eXecute)这三个参数的组合,(rwx3者的顺序不能改变,换句话说,第一个要么是r,要么啥都没有,不能是w或者x),三个组合分别代表“文件所有者的权限”、“同用户组的权限”、“其他非本用户组的权限”。

权限的重要性:
系统保护的功能;
团队开发软件或数据共享的功能;

改变文件属性和权限:
  • chgrp: 改变文件所属用户组(change group)
  • chgrp [-R] users 目录或文件 : 将这个路径下的文件的用户组改成“users“
  • 这个新用户组一定得是/etc/group下有的,否则会报错。
  • 若最后一个参数是目录,则表示只将这个目录下的文件的用户组改成这个。
  • R表示若最后一个参数是目录,则将当前目录下的文件连同子目录下的所有文件的用户组都改成这个
  • chown: 改变文件所有者(change owner)
  • chown [-R] 用户名 文件或目录 : 将这个目录下的所有文件的所有者都改成这个用户名。
  • 这个用户名必须是/etc/passwd下有的才行。
  • 这个命令可以既修改文件主又修改用户组:
  • chown [-R] 用户名:用户组名 目录/文件(:和 . 都可以)
  • chown [-R] 用户名.用户组名 目录/文件
  • 由于用户名可以存在小数点,当出现含有小数点的用户名时,系统会发生误判,所以我们一般都使用:来连接用户名和用户组名。
  • 还可以仅修改用户组名:chown [-R] .用户组名 目录/文件
  • chomd: 改变文件的权限
改变文件的权限有两种方法:用数字或者符号进行权限的修改
a)用数字进行权限的修改
Linux文件的基本权限有9个,分别是owner、group、others三种身份各有自己的read、write、execute权限。在这种方式中,r=4、w=2、x=1,将每一组的三个值加起来,组成一个三位数即可。例如:
文件主:rwx = 4+2+1=7;
同组用户:rwx=4+2+1=7;
其他人:---=0+0+0=0;
所以命令如下:
chmod [-R] 770 文件/目录

b)用符号进行权限的修改
用u、g、o 代表user、group、others三种身份的权限,a 代表 all,也就是全部的身份。 +(加入),-(除去),=(设置)。
chmod  u/g/o/a  +/-/=  r/w/x  文件/目录
例子:文件主能够读、写、执行;同组用户和其他用户能够读、执行。
chmod  u=rwx,go=rx  文件名
假设原先不知道文件的属性,现在只想让所有的人能够执行这个文件,则:
chmod  a+x  文件/目录
假设原先不知道文件的属性,现在只想让同组用户和其他用户无法写,则:
chmod  go-w  文件/目录

目录和文件的权限意义:
a)权限对文件的意义.
r:代表可读取此文件的实际内容
            w:代表可以编辑、新增或者修改文件的内容(但是不包含删除文件)
            x:代表该文件具有可以被系统执行的权限。<与windows不同,在Linux中判断一个文件是否可以执行,不是根据后缀名(如.exe ,.bat,.com),而是和这个文件是否具有“x”权限决定的。>
b)权限对目录的意义
         r:代表具有读取目录结构列表的权限(你可以使用ls命令将目录下的所有列表读出来)
         w:这个权限对目录来说可是很强大的,表示你具有更改该目录结构列表的权限
               主要有:新建新的文件与目录
                            删除已经存在的文件或者目录(无论文件的权限是怎样的)
                            将已经存在的文件或者目录重命名
                            转移该目录内的文件、目录位置
       x:目录虽然不可以被拿来执行,但是目录的x代表的是用户能否进入该目录成为工作目录的用途。(所谓工作目录就是你当下的目录,也就是时候,如果目录不具有x权限,那么你就不能通过cd命令进入到该目录下工作)。
能不能进入某一目录,只与该目录的x 权限有关。
0 0