Linux ubuntu chmod和chown命令用法详细介绍


在Ubuntu Linux 中用源码文件安装软件时经常都会用到chmod命令来更改文件的权限使其在安装时有执行的权限。由于Ubuntu Linux默认不能用root账户来登录所以在用chmod命令来更改文件的权限时往往需要结合sudo命令来使用,如果你对sudo命令还不太了解,请先看看本站的《sudo命令详解》

chmod

Linux/Ubuntu系统中文件调用的权限分为三级:文件拥有者(u)、群组(g)、其他(o)。用chmod就可以更改文件的权限。chmod是一个相当灵活的命令,对同一个文件的权限的修改可以用多种风格的命令格式来实现。

方式一:

语法格式:chmod [-vR] mode 文件名

参数说明:

mode 权限设置字串,格式为[ugoa] [+-=] [rwx]

u user表示文件的拥有者

g group表示与此文件拥有者属于一个组群的人

o other表示其他人

a all表示包含以上三者即文件拥有者(u)、群组(g)、其他(o)

+表示增加权限

-表示取消权限

=表示唯一设置权限

r表示有读取的权限

w表示有写入的权限

x表示有执行的权限

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

-R表示对当前目录下的所有文件和子目录进行相同的权限更改

例:

我们要将当前目录下ownlinux这个文件的权限修为所有用户拥有该文件的读取、写入、执行的权限。在这里就需要结合sudo命令来使用,如果你对sudo命令还不太了解,请先看看本站的《sudo命令详解》

ownlinux@server:/var/www$ sudo chmod a+rwx ownlinux

[sudo] password for ownlinux: (此时输入你的密码)

或者使用

ownlinux@server:/var/www$ sudo chmod ugo+rwx ownlinux

[sudo] password for ownlinux: (此时输入你的密码)

命令不一样,但执行后的效果是一样的。

方式二:

语法格式:chmod [-vR] [No] 文件名

参数说明:

No三位代表相应权限的数字

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

-R表示对当前目录下的所有文件和子目录进行相同的权限更改

可能这种方式对于初学者来说有一定的难度,但这种方法学会后在更改文件权限就变得非常的简单。相信通过我的介绍大家会掌握种方法的:)

首先了解一下读取(r)、写入(w)、执行(x)相应的数字编号,如下图所示

Linux-chown and chmod 命令的使用_unix

如果你记住了上图所示的数字和对应的权限就往下边看


刚才已经说过了,[No]参数 是三位代表相应权限的数字。从左向右,第一位数学代表文件拥有者(u)的权限、群组(g)的权限、其他(o)的权限。每一个数字就对应该级用户拥有的权限即为rwx相应的数字之和。这样说可能大家不是很明白,我画了一张表帮助大家了解

Linux-chown and chmod 命令的使用_unix_02

如上图可以看出来如果是所有用户拥有该文件的读取、写入、执行的权限就是拥有者(u)的权限(4+2+1=7)群组(g)的权限(4+2+1=7)其他(o)的权限(4+2+1=7即为777。注意:如果没有读取的权限则”r”相应的数字编号就为”0″,写入(w)、执行(x)同理。

例:

就用刚才方式一的例子,我们要将当前目录下ownlinux这个文件的权限修为所有用户拥有该文件的读取(r)、写入(w)、执行(x)的权限。回顾一下方式一的命令格式。

ownlinux@server:/var/www$ sudo chmod a+rwx ownlinux

[sudo] password for ownlinux: (此时输入你的密码)

方式二的命令

ownlinux@server:/var/www$ sudo chmod 777 ownlinux

[sudo] password for ownlinux: (此时输入你的密码)

可以看出使用方式二的命令格式简洁明了

如果要让当前目录下ownlinux这个文件的权限修为该文件的拥有者(u)有该文件的读取(r)、写入(w)、执行(x)的权限,群组(g)和其他(o)的用户只有读取(r)和执行(x)的权限,运行以下命令:

ownlinux@server:/var/www$ sudo chmod 755 ownlinux

[sudo] password for ownlinux: (此时输入你的密码)

相信通过我的介绍大家都已经对chmod这个命令有一定的了解了吧。我觉得方式二的命令风格一但了解了就很容易掌握,而且方式二的命令风格简单明了。


一、chmod的用法

指令名称: chmod

使用权限:所有使用者

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

说明: Linux/Unix 的档案调用权限分为三级:档案拥有者、群组、其他。利用chmod可以藉以控制档案如何被他人所调用。

参数:

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

u表示该档案的拥有者,g表示与该档案的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是。

+表示增加权限、-表示取消权限、=表示唯一设定权限。

r表示可读取,w表示可写入,x表示可执行,X表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

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

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

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

-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

–help : 显示辅助说明

–version : 显示版本

范例:将档案file1.txt设为所有人皆可读取:

chmod ugo+r file1.txt

将档案file1.txt设为所有人皆可读取:

chmod a+r file1.txt

将档案file1.txt与file2.txt设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入:

chmod ug+w,o-w file1.txt file2.txt

将ex1.py设定为只有该档案拥有者可以执行:

chmod u+x ex1.py

将目前目录下的所有档案与子目录皆设为任何人可读取:

chmod -R a+r *

此外chmod也可以用数字来表示权限如chmod 777 file

语法为:chmod abc file

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1

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

若要rw-属性则4+2=6;

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

范例:

chmod a=rwx file

chmod 777 file

效果相同

chmod ug=rwx,o=x file

chmod 771 file

效果相同

若用chmod 4755 filename可使此程序具有root的权限

引用:http://hi.baidu.com/8060/blog/item/cc095a36556b92d9a3cc2bae.html

二、chown命令

用途:更改文件的所有者或组。命令由单词change owner组合而成。

使用示例:

1,更改文件的所有者:

chown jim program.c

文件program.c的所有者更改为jim。作为所有者,jim可以使用chmod命令允许或拒绝其他用户访问program.c。

2,更改目录的所有者:

chown -R john:build /tmp/src

将目录/tmp/src中所有文件的所有者和组更改为用户john和组build

- R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。

- v 显示chown命令所做的工作。