Linux权限详解(chmod、600、644、666、700、711、755、
777、4。。。
权限简介
Linux系统上对⽂件的权限有着严格的控制,⽤于如果相对某个⽂件执⾏某种操作,必须具有对应的权限⽅可执⾏成功。
Linux下⽂件的权限类型⼀般包括读,写,执⾏。对应字母为 r、w、x。
Linux下权限的粒度有拥有者、组、其它组三种。每个⽂件都可以针对三个粒度,设置不同的rwx(读写执⾏)权限。通常情况下,⼀个⽂件只能归属于⼀个⽤户和组,如果其它的⽤户想有这个⽂件的权限,则可以将该⽤户加⼊具备权限的组,⼀个⽤户可以同时归属于多个组。
Linux上通常使⽤chmod命令对⽂件的权限进⾏设置和更改。
⼀、快速⼊门
更改⽂件权限(chmod命令)
⼀般使⽤格式
chmod [可选项] <mode> &>
参数说明:
[可选项]
-c, --changes like verbose but report only when a change is made (若该档案权限确实已经更改,才显⽰其更改动作)
-f, --silent, --quiet suppress most error messages (若该档案权限⽆法被更改也不要显⽰错误讯息)
-v, --verbose output a diagnostic for every file processed(显⽰权限变更的详细资料)
--no-preserve-root do not treat '/' specially (the default)
--preserve-root fail to operate recursively on '/'
--reference=RFILE use RFILE's mode instead of MODE values
-
R, --recursive change files and directories recursively (以递归的⽅式对⽬前⽬录下的所有档案与⼦⽬录进⾏相同的权限变更)
--help 显⽰此帮助信息
--version 显⽰版本信息
[mode]
权限设定字串,详细格式如下:
[][[+-=][rwxX]...][,...],
其中
[]
u 表⽰该档案的拥有者,g 表⽰与该档案的拥有者属于同⼀个体(group)者,o 表⽰其他以外的⼈,a 表⽰所有(包含上⾯三者)。
[+-=]
+ 表⽰增加权限,- 表⽰取消权限,= 表⽰唯⼀设定权限。
[rwxX]
r 表⽰可读取,w 表⽰可写⼊,x 表⽰可执⾏,X 表⽰只有当该档案是个⼦⽬录或者该档案已经被设定过为可执⾏。
[]
⽂件列表(单个或者多个⽂件、⽂件夹)
范例:
设置所有⽤户可读取⽂件 a.conf
chmod ugo+f
或
chmod a+f
设置 c.sh 只有拥有者可以读写及执⾏
chmod u+rwx c.sh
设置⽂件 a.conf 与 b.xml 权限为拥有者与其所属同⼀个组可读写,其它组可读不可写
chmod a+r,ug+w,l
设置当前⽬录下的所有档案与⼦⽬录皆设为任何⼈可读写
chmod -R a+rw *
数字权限使⽤格式
在这种使⽤⽅式中,⾸先我们需要了解数字如何表⽰权限。⾸先,我们规定数字 4 、2 和 1表⽰读、写、执⾏权限(具体原因可见下节权限详解内容),即 r=4,w=2,x=1 。此时其他的权限组合也可以⽤其他的⼋进制数字表⽰出来,
如:
rwx = 4 + 2 + 1 = 7
rw = 4 + 2 = 6
rx = 4 +1 = 5
即
若要同时设置 rwx (可读写运⾏)权限则将该权限位设置为 4 + 2 + 1 = 7
若要同时设置 rw- (可读写不可运⾏)权限则将该权限位设置为 4 + 2 = 6
若要同时设置 r-x (可读可运⾏不可写)权限则将该权限位设置为 4 +1 = 5
上⾯我们提到,每个⽂件都可以针对三个粒度,设置不同的rwx(读写执⾏)权限。即我们可以⽤⽤三个8进制数字分别表⽰拥有者、组、其它组( u、 g 、o)的权限详情,并⽤chmod直接加三个8进制数字的⽅式直接改变⽂件权限。语法格式为:
chmod <abc>
其中
a,b,c各为⼀个数字,分别代表User、Group、及Other的权限。
相当于简化版的
chmod u=权限,g=权限,o=权限
⽽此处的权限将⽤8进制的数字来表⽰User、Group、及Other的读、写、执⾏权限
范例:
设置所有⼈可以读写及执⾏
chmod 777 file (等价于 chmod u=rwx,g=rwx,o=rwx file 或 chmod a=rwx file)
设置拥有者可读写,其他⼈不可读写执⾏
chmod 600 file (等价于 chmod u=rw,g=---,o=--- file 或 chmod u=rw,go-rwx file )
更改⽂件拥有者(chown命令)
linux/Unix 是多⼈多⼯作业系统,每个的⽂件都有拥有者(所有者),如果我们想变更⽂件的拥有者(利⽤ chown 将⽂件拥有者加以改变),⼀般只有系统管理员(root)拥有此操作权限,⽽普通⽤户则没有权限将⾃⼰或者别⼈的⽂件的拥有者设置为别⼈。
语法格式:
chown [可选项] user[:group]
使⽤权限:root
说明:
[可选项] : 同上⽂chmod
user : 新的⽂件拥有者的使⽤者
group : 新的⽂件拥有者的使⽤者体(group)
范例:
设置⽂件 d.key、e.scrt的拥有者设为 users 体的 tom
chown tom:users file d.key e.scrt
设置当前⽬录下与⼦⽬录下的所有⽂件的拥有者为 users 体的 James
chown -R James:users *
linux怎么读光盘
⼆、Linux权限详解
Linux系统上对⽂件的权限有着严格的控制,⽤于如果相对某个⽂件执⾏某种操作,必须具有对应的权限⽅可执⾏成功。这也是Linux有别于Windows的机制,也是基于这个权限机制,Linux可以有效防⽌病毒⾃我运⾏,因为运⾏的条件是必须要有运⾏的权限,⽽这个权限在Linux 是⽤户所赋予的。
Linux的⽂件权限有以下设定:
Linux下⽂件的权限类型⼀般包括读,写,执⾏。对应字母为 r、w、x。
Linux下权限的属组有拥有者、组、其它组三种。每个⽂件都可以针对这三个属组(粒度),设置不同的rwx(读写执⾏)权限。
通常情况下,⼀个⽂件只能归属于⼀个⽤户和组,如果其它的⽤户想有这个⽂件的权限,则可以将该⽤户加⼊具备权限的组,⼀个⽤户可以同时归属于多个组。
如果我们要表⽰⼀个⽂件的所有权限详情,有两种⽅式:
第⼀种是⼗位⼆进制表⽰法,(三个属组每个数组使⽤⼀个⼆进制位,再加⼀个最⾼位共⼗位),可简化为三位⼋进制形式
另外⼀种⼗⼆位⼆进制表⽰法(⼗⼆个⼆进制位),可简化为四位⼋进制形式
⼗位权限表⽰
常见的权限表⽰形式有:
-rw------- (600) 只有拥有者有读写权限。
-rw-r--r-- (644) 只有拥有者有读写权限;⽽属组⽤户和其他⽤户只有读权限。
-rwx------ (700) 只有拥有者有读、写、执⾏权限。
-rwxr-xr-x (755) 拥有者有读、写、执⾏权限;⽽属组⽤户和其他⽤户只有读、执⾏权限。
-rwx--x--x (711) 拥有者有读、写、执⾏权限;⽽属组⽤户和其他⽤户只有执⾏权限。
-rw-rw-rw- (666) 所有⽤户都有⽂件读、写权限。
-rwxrwxrwx (777) 所有⽤户都有读、写、执⾏权限。
后九位解析:我们知道Linux权限总共有三个属组,这⾥我们给每个属组使⽤三个位置来定义三种操作(
读、写、执⾏)权限,合起来则是权限的后九位。上⾯我们⽤字符表⽰权限,其中 -代表⽆权限,r代表读权限,w代表写权限,x代表执⾏权限。
实际上,后九位每个位置的意义(代表某个属组的某个权限)都是固定的,如果我们将各个位置权限的有⽆⽤⼆进制数 1和 0来代替,则只读、只写、只执⾏权限,可以⽤三位⼆进制数表⽰为
r-- = 100
-w- = 010
--x = 001
--- = 000
转换成⼋进制数,则为 r=4, w=2, x=1, -=0(这也就是⽤数字设置权限时为何是4代表读,2代表写,1代表执⾏)
实际上,我们可以将所有的权限⽤⼆进制形式表现出来,并进⼀步转变成⼋进制数字:
rwx = 111 = 7
rw- = 110 = 6
r-x = 101 = 5
r-- = 100 = 4
-wx = 011 = 3
-w- = 010 = 2
--x = 001 = 1
--- = 000 = 0
由上可以得出,每个属组的所有的权限都可以⽤⼀位⼋进制数表⽰,每个数字都代表了不同的权限(权值)。如最⾼的权限为是7,代表可读,可写,可执⾏。
故如果我们将每个属组的权限都⽤⼋进制数表⽰,则⽂件的权限可以表⽰为三位⼋进制数
-rw------- = 600
-rw-rw-rw- = 666
-rwxrwxrwx = 777
关于第⼀位最⾼位的解释:上⾯我们说到了权限表⽰中后九位的含义,剩下的第⼀位代表的是⽂件的类型,类型可以是下⾯⼏个中的⼀个:
d代表的是⽬录(directroy)
-代表的是⽂件(regular file)
s代表的是套字⽂件(socket)
p代表的管道⽂件(pipe)或命名管道⽂件(named pipe)
l代表的是符号链接⽂件(symbolic link)
b代表的是该⽂件是⾯向块的设备⽂件(block-oriented device file)
c代表的是该⽂件是⾯向字符的设备⽂件(charcter-oriented device file)
天津雍博科技有限责任公司
欢迎⼤家访问bosoft ,崇尚技术,为您提供完美产品,优质服务!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论