您的位置:首页 > 运维架构 > Linux

linux chmod命令更改文件的读写执行权限

2015-07-14 15:53 543 查看
linux
chmod命令是在日常运维中比较常用的命令之一,对文件管理比较重要,如设置web目录时需设置特定的权限以保证服务器安全。

提示:在写完shell脚本后,我们一般需要给这脚本设置权限:chmoda+x
shell.sh

有很多人,特别是搞开发的程序员,不懂权限,对程序及目录直接给予chmod-R 777file,这种最高级的权限,对服务器安全会造成很大的安全隐患,一般不建议这样设置,在线上服务器上,可配置chown来设置web目录权限,如对用户上传图片的目录设置为web执行用户者的权限,对需要用程序操作的web中目录,也同样的设置:chown-R
apache:apacheweb,其它只读的文件或目录,保持root权限即可,这样可以增加服务器安全性

linux命令:chmod

使用权限:所有用户

使用方式:chmod [-cfvR] [--help] [--version] mode file...

说明:Linux/Unix
的文件调用权限分为三级:文件拥有者[属主]、属组、其他用户。利用chmod可以控制文件如何被他人所调用。

与chmod相关的命令:chown,umask,

参数:

mode: 权限设定字串,格式如下:[ugoa...][[+-=][rwxX]...][,...],其中

u表示该文件的拥有者[user],

g表示与该文件的拥有者属于组(group),

o表示其他用户[other],

a表示这三者皆是[all]。(常用)

+表示增加权限、(常用)

-表示取消权限、(常用)

=表示唯一设定权限。

r表示有可读取的权限,

w表示有可写入的权限,

x表示有可执行的权限,

X表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

  -c:
若该文件权限确实已经更改,才显示其更改动作

  -f:
若该文件权限无法被更改也不要显示错误讯息

  -v:
显示权限变更的详细资料

-R : 对目前目录下的所有文件与子目录进行相同的权限变更
(常用)

--help : 显示帮助

--version : 显示版本

r=4(二进制100),

w=2(二进制010),

x=1(二进制001)

  rwx属性则4+2+1=7;

 
rw-属性则4+2=6;

  r-x属性则4+1=5。

[root@linuxywlinux]# ll

total 8

drwxr-xr-x 2 root root 4096 Apr 29 14:50linuxyw

-rw-r--r--1 root root 36 Apr 27 23:40 linuxyw.com

-rw-r--r-- 1 root root 0 Apr 29 14:46 www.linuxyw.com

示例:给文件修改所有为所有人可读权限:

chmodugo+r linuxyw.com



chmoda+r linuxyw.com

给文件修改所有为所有人可执行权限:

chmoda+x linuxyw.com

给文件修改所有为文件属主用户可执行权限:

chmodu+x linuxyw.com

把linuxyw目录下的文件设置为所有人可执行权限:

chmod-R a+x linuxyw/

把linuxyw目录下的文件全部设置为755权限:

chmod-R 755 linuxyw/

取消linuxyw目录下的所有文件可写权限:

chmod-R a-w linuxyw/

先看一下文件的权限格式先看一下文件的权限格式

[root@linuxywlinux]# ll

total 8

drwxr-xr-x2 root root 4096 Apr 29 14:50
linuxyw

-rw-r--r--1 root root 36 Apr 27 23:40 linuxyw.com

-rw-r--r--1 root root 0 Apr 29 14:46www.linuxyw.com

ll的结果返回七列,分别表示如下含义:

第一栏
[文件属性]

第二栏
[文件数]

第三栏
[拥有者]

第四栏
[所有者群组]

第五栏
[大小]

第六栏
[建档日期]

第七栏
[档名]

我们设置文件的权限就是这是第一栏里的文件属性。

文件属性这块共有十个字段,如:drwxr-xr-x

我们把这10个列分成4块:[d][rwx]
[r-x] [r-x]

第一块:也就是第一列,用来表示这个文件的类型,有如下值:

(1)[d ]则是目录,我这里的是d,表示的是一个目录

(2)[- ]则是文件;

(3)[l ]则表示为连结档(linkfile);

(4)[b ]则表示为装置文件里面的可供储存的接口设备;

(5)[c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。

第二块:第2到4列,表示文件拥有者的权限。

第三块:第5到7列,表示拥有者同组人的权限。

第四块:第8到10列,表示是非拥有者组人的权限。

这些权限均有[rwx]三个参数表示,而且分别对应不同的位置。每块由3个列组成,每列对应一个值。[r
]代表可读、[w ]代表可写、[x ]代表可执行。

举例:如果拥有者只有只读的权限,那么第2到4列就是[r--],有读写的权限就是[rw-],有读写和执行的权利就是[rwx].

使用数字赋权的命令格式如下:

chmod abc filename

其中的abc分别代表3个数字,并且分别对应问个不同的属组。即:

数字a对应第2到4位,表示拥有者的权限。

数字b对应第5到7位,表示同组用户的权限。

数字c对应第8到10位,表示其他组的权限。

rwx 对应4,2,1.那么只读的权限用4表示[r--],读写用6(4+2)表示[rw-],读写加执行用7(4+2+1)表示[rwx]。只读加执行用5(4+1)表示[r-x]。

示例:

chmod 755 file1

chmod 777 file1 <==> chmoda=rwx file

chmod 771 file <==> chmod ug=rwx,o=xfile
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: