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

Linuxubuntu chmod和chown命令用法详细介绍

2014-06-30 09:55 661 查看
在 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 表示文件的拥有者

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

o 表示其他人

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

+ 表示增加权限

- 表示取消权限

= 表示唯一设置权限

r 表示有读取的权限

w 表示有写入的权限

x 表示有执行的权限

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

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

例:

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

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

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

或者使用

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

[sudo] passwordfor 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] passwordfor ownlinux: (此时输入你的密码)

方式二的命令

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

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

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

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

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

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

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

一、chmod的用法

指令名称 : chmod

使用权限 : 所有使用者

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

说明 : 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+rfile1.txt

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

chmod a+rfile1.txt

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

chmod ug+w,o-wfile1.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=xfile



chmod 771 file

效果相同

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

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

二、chown 命令

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

使用示例:

1,更改文件的所有者:

chown jimprogram.c

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

2,更改目录的所有者:

chown -Rjohn:build /tmp/src

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

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

- v 显示chown命令所做的工作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: