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

linux chmod命令参数及用法详解-文件文件夹权限设定命令

2013-11-29 01:37 811 查看
chmod

1.作用

chmod命令是非常重要的,用于改变文件或目录的访问权限,用户可以用它控制文件或

目录的访问权限,使用权限是超级用户。

2.格式

chmod命令有两种用法。一种是包含字母和操作符表达式的字符设定法(相对权限设定

);另一种是包含数字的数字设定法(绝对权限设定)。

(1)字符设定法

chmod [who] [+ | - | =] [mode] 文件名

◆操作对象who可以是下述字母中的任一个或它们的组合

u:表示用户,即文件或目录的所有者。

g:表示同组用户,即与文件属主有相同组ID的所有用户。

o:表示其它用户。

a:表示所有用户,它是系统默认值。

◆操作符号

+:添加某个权限。

-:取消某个权限。

=:赋予给定权限,并取消其它所有权限(如果有的话)。

◆设置mode的权限可用下述字母的任意组合

r:可读。

w:可写。

x:可执行。

X:只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性。

s:文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的

用户ID位,“g+s”设置组ID位。

t:保存程序的文本到交换设备上。

u:与文件属主拥有一样的权限。

g:与和文件属主同组的用户拥有一样的权限。

o:与其它用户拥有一样的权限。

文件名:以空格分开的要改变权限的文件列表,支持通配符。

一个命令行中可以给出多个权限方式,其间用逗号隔开。

(2) 数字设定法

数字设定法的一般形式为: chmod
[mode] 文件名

数字属性的格式应为3个0到7的八进制数,其顺序是(u)(g)(o)文件名,以空格分开的要

改变权限的文件列表,支持通配符。

数字表示的权限的含义如下:0001为所有者的执行权限;0002为所有者的写权限;

0004为所有者的读权限;0010为组的执行权限;0020为组的写权限;0040为组的读权限;

0100为其他人的执行权限;0200为其他人的写权限;0400为其他人的读权限;1000为粘贴位

置位;2000表示假如这个文件是可执行文件,则为组ID为位置位,否则其中文件锁定位置位

;4000表示假如这个文件是可执行文件,则为用户ID为位置位。

应用实例:

A例:如果这是我写的一个脚本,我希望能够具有执行权限,并取消其他用户(所有其他用户)的写权限,可以用:

# chmod u+x o-w myfile

B例:如果希望某个脚本文件对你自己来说可执行,而且你对该文件的缺省权限很放心,那么只要使它对你来说具有执行权限即可。

#chmod u+x dt

如果希望一次设置目录下所有文件的权限,可以用:

#chmod 644*

如果希望自己对该文件可读、写和执行,对其他所有用户只读,我可以用:

#chmod 744 myfile

还可以通过使用- R选项连同子目录下的文件一起设置: -R是递归

chmod -R 664 /usr/local/home/dave/*

注:此命令经常用在shell和awk脚本

编写shell和awk脚本,统计apache指定日期的IP访问量

#vi /51ou/ak2

#!/bin/awk -f

BEGIN{

printf "date:"

getline d<"-"

}

{

if(substr($4,2,11)=d)

{

print $1

}

}

#vi /shell/sh2

#!/bin/bash

/shell/ak2 /var/log/httpd/access_log|sort|uniq|wc -l

#chmod a+x /51ou/ak2

#chmod a+x /51ou/sh2

更多Linux命令:http://www.51ou.com/browse/linuxml/index.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: