linux 下文件权限修改

pointfish 2010-01-19

指令名称: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设为所有人皆可读取:

chmodugo+rfile1.txt

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

chmoda+rfile1.txt

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

chmoda+wfile1.txt

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

chmodug+w,o-wfile1.txtfile2.txt

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

chmodu+xex1.py

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

chmod-Ra+r*

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

语法为:chmodabcfile

其中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。(读,执行)

范例:

chmoda=rwxfile和chmod777file效果相同chmod+755

chmodug=rwx,o=xfile和chmod771file效果相同

若用chmod4755filename可使此程式具有root的权限

使用方式:chmod[-cfhvR][--help][--version]user[:group]file...

说明:Linux/Unix是多人多工作业系统,所有的档案皆有拥有者。

利用chown可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。

chown

1.作用

更改一个或多个文件或目录的属主和属组。使用权限是超级用户。

2.格式

chown[选项]用户或组文件

3.主要参数

--dereference:受影响的是符号链接所指示的对象,而非符号链接本身。

-h,--no-dereference:会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此选项才有效)。

--from=目前所有者:目前组只当每个文件的所有者和组符合选项所指定的,才会更改所有者和组。其中一个可以省略,这已省略的属性就不需要符合原有的属性。

-f,--silent,--quiet:去除大部分的错误信息。

-R,--recursive:递归处理所有的文件及子目录。

-v,--verbose:处理任何文件都会显示信息。

4.说明

chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或用户ID;组可以是组名或组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的目录下以后,让用户拥有使用该文件的权限。

5.应用实例

1.把文件shiyan.c的所有者改为wan

$chownwanshiyan.c

2.把目录/hi及其下的所有文件和子目录的属主改成wan,属组改成users。

$chown-Rwan.users/hi

¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬`

linux修改文件权限

2009-02-1009:39

1、变更文件或目录的权限

修改文件:

chmodo+w/home/filename.txt

chmod777/home/filename.txt

修改目录:

chmod777/home/folder

chmod-R777/home/folder//递归处理

chmod-R777/home/folder/*//递归处理

2、变更文件或目录的拥有者或所属群组

chownaddcn.addcn/home/filename.txt

chownaddcn:addcn/home/filename.txt

3、用户和群组

useraddusername

passwdusername

userdelusername

userdel-rusername(刪除用戶相關資料)

groupaddgroupname

gpasswdgroupname

groupdelgroupname

4、文件权限说明

ll/home/filename.txt

-rw-r--r--1rootroot14382Feb1212:45filename.txt

一共有10位数

其中:最前面那个-代表的是类型

开始三个rw-代表的是所有者(user)

中间三个rw-代表的是组群(group)

最后三个r--代表的是其他人(other)

其中:

u代表所有者(user)

g代表所有者所在的组群(group)

o代表其他人,但不是u和g(other)

a代表全部的人,也就是包括u,g和o

r表示文件可以被读(read)

w表示文件可以被写(write)

x表示文件可以被执行(如果它是程序的话)

其中:rwx也可以用数字来代替

r------------4

w-----------2

x------------1

-------------0

行动:

+表示添加权限

-表示删除权限

=表示使之成为唯一的权限

我们可以利用chmod来修改文件或者目录的权限,但是这样只能修改一个文件或目录,当然也可以写了shell文件来实现,其实linux本身自带的find命令可以实现。

假设我们要把所在目录下的所有目录的权限递归设置为755,我们可以这样写(两条语句的功能一样的):

1、find-typed-execchmod755{}\;(这句的句末有分号)

2、find-typed|xargschmod755

假如我们要把所在目录下的所有文件权限递归地改成644:

1、find-not-typed-execchmod644{}\;

2、find-not-typed|xargschmod644

相关推荐

zmjzhangmj / 0评论 2020-02-14
wangrui0 / 0评论 2020-01-19