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)相应的数字编号,如下图所示
如果你记住了上图所示的数字和对应的权限就往下边看
刚才已经说过了,[No]参数 是三位代表相应权限的数字。从左向右,第一位数学代表文件拥有者(u)的权限、群组(g)的权限、其他(o)的权限。每一个数字就对应该级用户拥有的权限即为rwx相应的数字之和。这样说可能大家不是很明白,我画了一张表帮助大家了解
如上图可以看出来如果是所有用户拥有该文件的读取、写入、执行的权限就是拥有者(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命令所做的工作。