rw-,rw-,r--就是代表不同用户所拥有的权限。以三个为一组,且均为【rwx】,其中r表示可读,w表示可写,x表示可执行,-表示没有该权限。
而后面的qecode,qecode分别代表了该文件的拥有者以及所在的群组。
第一组(rw-)为文件拥有者(qecode)具备的权限:可读,可写但不可执行。
第二组(rw-)为所在群组成员(qecode)具备的权限:可读,可写当不可执行。
第三组(r--)为其他账号具备的权限:可读,当不可写,不可执行。
除了使用【rwx】表示权限之外,也可以使用数字来表示:r:4,w:2,x:1。所以[rw-,rw-,r--]也可以表示为[6,6,4],该文件的权限属性为664。
文件:
r:可读取此一文件的实际内容,如读取文本文件的文字内容等。
w:可以编辑、新增或者是修改该文件的内容(但不含删除该文件,拥有当前目录的wx权限,才可以删除文件)。
x:该文件具有可以被系统执行的权限。
注意:
(1)我们的文件是否能被执行是由“x”这个权限决定的,而跟文件名是没有绝对的关系。
(2)当你对一个文件具有w权限是,并不具备删除该文件本身的权限。对于文件的r,w,x来说,主要都是针对“文件的内容”而言,与文件名的存在与否没有关系。
目录:
r:表示具有读取目录结构列表的权限。
w:具有更改该目录结构列表的权限。包括:
新建新的文件和目录
删除已经存在的文件与目录 (删除需要同时拥有wx权限,因为删除时需要先进入到目录中)
将已存在的目录或文件进行重命名
转移该目录内的文件,目录位置
x:代表用户能否进入该目录成为工作目录的途径。
chgrp :改变文件所属群组
可以使用chgrp改变文件所属的群组,不过群组必须存在。
chgrp [-R] groupName fileName/dirName //-R表示递归将该目录下所有文件及目录修改群组
chown :改变文件拥有者
可以使用chown改变文件的拥有者,不过用户必须存在。
chown [-R] groupName fileName/dirName
//也可以使用chown修改群组和拥有者,用户名与群组之间用.或:隔开
chown user.group fileName/dirName
chown user:group fileName/dirName
chmod :改变文件的权限, SUID, SGID, SBIT 等等的特性
Linux 文件的基本权限就有九个,分别是 owner/group/others 三种身份各有自己的 read/write/execute 权限。其中r=4,w=2,x=1。
chmod [-R] xyz 文件或目录
选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
如果想将文件的属性改为740(即rwxr-----),则指令为
chmod 740 fileName
当我们需要重新给文件赋予新的权限时,使用数字类型的权限比较方便,而如果想单独修改其中一个权限,或者在原来的权限基础上进行修改,则字符类型的权限比较方便。如果是使用字符类型的权限,则指令如下:
u:user,g:group,o:others,a:all
如果想赋予文件新的权限,可以
chmod u=rwx,go=rx fileName //表示user的权限为rwx,group和others的权限为rx
如果想单独给文件拥有者增加可读权限,可以
chmod u+r fileName //表示给user增加r权限
如果想给分组减去可写权限
chmod g-w fileName
//表示group失去了可写权限
在创建文件或目录时,其默认的权限跟umask有关。
# 查看umask的方式
umask # 输出0022,后面三个数字022就是权限
umask -S # u=rwx,g=rx,o=rx
若使用者建立为『文件』则预设『没有可执行( x )权限』,亦即只有 rw 这两个权限,也就是最大为 666 分,预设权限为:rw-rw-rw-
若用户建立为『目录』,则由于 x 与是否可以进入此目录有关,因此默认为所有权限均开放,亦即为 777 分,预设权限为:drwxrwxrwx
而文件或目录实际的权限为预设权限减去umask的数值。如umask 为 022 ,即 user 并没有被拿掉任何权限,不过 group与 others 的权限被拿掉了 2 (也就是 w 这个权限),那么当使用者
建立文件时:(-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--
建立目录时:(drwxrwxrwx) - (d----w--w-) ==> drwxr-xr-x
注意:如果是使用umask -S来显示umask的话,则显示出来的数值是默认可以保留的权限。
即如果目录的user预设权限为rwx,而umask:u=rwx(表示user可以保留rwx的权限),则创建的目录,user的权限为rwx。而如果user的预设权限为rw-,则创建目录时,user的权限为rw-。
如果目录的预设权限为rwx,而umask:u=rw-(表示user可以保留rw的权限),则创建的目录,user的权限为rw-。