首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

linux 上文件权限修改

2012-08-26 
linux 下文件权限修改指令名称 : chmod使用权限 : 所有使用者使用方式 : chmod [-cfvR] [--help] [--versi

linux 下文件权限修改
指令名称 : 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 设为所有人皆可读写:
chmod a+w 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 +755

chmod ug=rwx,o=x file 和 chmod 771 file 效果相同

若用chmod 4755 filename可使此程式具有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
    $ chown wan shiyan.c
    2.把目录/hi及其下的所有文件和子目录的属主改成wan,属组改成users。
    $ chown - R wan.users /hi
???????????????????????????????????????????????????????????????????`

linux修改文件权限
2009-02-10 09:39
1、变更文件或目录的权限
修改文件:
chmod o+w /home/filename.txt
chmod 777 /home/filename.txt
修改目录:
chmod 777 /home/folder
chmod -R 777 /home/folder //递归处理
chmod -R 777 /home/folder/* //递归处理

2、变更文件或目录的拥有者或所属群组
chown addcn.addcn /home/filename.txt
chown addcn:addcn /home/filename.txt

3、用户和群组
useradd username
passwd username
userdel username
userdel -r username (刪除用戶相關資料)
groupadd groupname
gpasswd groupname
groupdel groupname

4、文件权限说明

ll /home/filename.txt
-rw-r--r-- 1 root root 14382 Feb 12 12:45 filename.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 -type d -exec chmod 755 {} \;    (这句的句末有分号)
      2、 find -type d|xargs chmod 755
      假如我们要把所在目录下的所有文件权限递归地改成644:
      1、 find -not -type d -exec chmod 644 {} \;
      2、 find -not -type d|xargs chmod 644


热点排行