关于Linux:chmod和chown知识
将vendor下的root权限递归更改为user命令:sudo chown -R user:user fujitsu
指令名称 : 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=7。
范例:
- chmod a=rwx file
- #和
- chmod 777 file
- #效果相同
- chmod ug=rwx,o=x file
- #和
- chmod 771 file
- #效果相同
若用chmod 4755 filename可使此程式具有root的权限
指令名称 : chown
使用权限 : root
使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file...
说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥
有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以
改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才
有这样的权限。
user : 新的档案拥有者的使用者 ID
group : 新的档案拥有者的使用者群体(group)
-c或-change:作用与-v相似,但只传回修改的部分
-f或–quiet或–silent:不显示错误信息
-h或–no-dereference:只对符号链接的文件做修改,而不更改其他任何相关文件
-R或-recursive:递归处理,将指定目录下的所有文件及子目录一并处理
-v或–verbose:显示指令执行过程
–dereference:作用和-h刚好相反
–help:显示在线说明
–reference=<参考文件或目录>:把指定文件或目录的所有者与所属组,统统设置成和参考文件或目录的所有者与所属组相同
–version:显示版本信息
范例 :
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :
- chown jessie:users file1.txt
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :
- chown -R lamport:users *
-rw------- (600) -- 只有属主有读写权限。
-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) -- 只有属主有读、写、执行权限。
-rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。
-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。
以下是对目录的两个普通设定:
drwx------ (700) - 只有属主可在目录中读、写。
drwxr-xr-x (755) - 所有用户可读该目录,但只有属主才能改变目录中的内容
suid的代表数字是4,比如4755的结果是-rwsr-xr-x
sgid的代表数字是2,比如6755的结果是-rwsr-sr-x
sticky位代表数字是1,比如7755的结果是-rwsr-sr-t
(当然7755这个chmod设置没多大意义,这里只是演示一下)
# chown [-R] [用户名称] [文件或目录]
# chown[-R] [用户名称:组名称] [文件或目录]
范例1:将test3.txt文件的属主改为test用户。
- # ls -l test3.txt
- -rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt
- # chown test:root test3.txt
- # ls -l test3.txt
- -rw-r–r– 1 test root 0 2009-10-23 9:59
范例2:chown所接的新的属主和新的属组之间可以使用:连接,属主和属组之一可以为空。如果属主为空,应该是“:属组”;如果属组为空,“:”可以不用带上。
- # ls -l test3.txt
- -rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt
- # chown :test test3.txt <==把文件test3.txt的属组改为test
- # ls -l test3.txt
- -rw-r–r– 1 test test 0 2009-10-23 9:59 test3.txt
范例3:chown也提供了-R参数,这个参数对目录改变属主和属组极为有用,可以通过加 -R参数来改变某个目录下的所有文件到新的属主或属组。
- # ls -l testdir <== 查看testdir目录属性
- drwxr-xr-x 2 usr root 0 2009-10-56 10:38 testdir/ <==文件属主是usr用户,属组是 root用户
- # ls -lr testdir <==查看testdir目录下所有文件及其属性
- total 0
- -rw-r–r– 1 usr root 0 2009-10-23 10:38 test1.txt
- -rw-r–r– 1 usr root 0 2009-10-23 10:38 test2.txt
- -rw-r–r– 1 usr root 0 2009-10-23 10:38 test3.txt
- # chown -R test:test testdir/ <==修改testdir及它的下级目录和所有文件到新的用户和用户组
- # ls -l testdir
- drwxr-xr-x 2 test test 0 2009-10-23 10:38 testdir/
- # ls -lr testdir
- total 0
- -rw-r–r– 1 test test 0 2009-10-23 10:38 test1.txt
- -rw-r–r– 1 test test 0 2009-10-23 10:38 test2.txt
- -rw-r–r– 1 test test 0 2009-10-23 10:38 test3.txt
参考:
http://linux.chinaunix.net/techdoc/system/2007/12/11/974135.shtml
http://www.ipinba.com/archives/518
关于Linux:chmod和chown知识的更多相关文章
- Linux chmod和chown更改文件目录的所属者命令的用法
一.chown 命令 用途:更改文件的所有者或组.命令由单词change owner组合而成. 使用示例: 1,更改文件的所有者: chown jim program.c 文件 program.c 的 ...
- linux中chmod与chown两个命令详解
在linux系统中chmod,chown命令都可以来设置权限了,但它们也是有区别的,下文小编为各位介绍chmod与chown两个命令用法与区别介绍. 今天要分享的2个命令也是我们平时常用的,chmod ...
- [转] - Linux网络编程 -- 网络知识介绍
(一)Linux网络编程--网络知识介绍 Linux网络编程--网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户 ...
- linux chmod 命令详解(转)
Ubuntu下修改目录权限需要先用 sudo 来获得管理员权限,格式如下: sudo chmod 600 ××× (只有所有者有读和写的权限)sudo chmod 644 ××× (所有者有读和写的权 ...
- Linux chmod命令详解
Linux chmod命令详解 chmod----改变一个或多个文件的存取模式(mode) chmod [options] mode files 只能文件属主或特权用户才能使用该功能来改变文件 ...
- Linux chmod命令修改文件与文件夹权限的命令附实例
Linux chmod命令修改文件与文件夹权限的命令附实例 作者:佚名 字体:[增加 减小] 来源:互联网 时间:05-01 20:46:07我要评论 在linux中要修改一个文件夹或文件的权限我们需 ...
- Linux chmod命令修改文件与文件夹权限命令代码
在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读.写.运行设定权限. 以下转自:http://www.codeceo.com/article/linux-chmod-co ...
- Linux chmod
在Linux中要修改一个文件夹或文件的权限我们需要用到linux chmod命令来做. 语法如下: chmod [who] [+ | - | =] [mode] 文件名 命令中各选项的含义为 u 表示 ...
- linux chmod权限
Linux chmod 命令 chmod用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限.该命令有两种用法.一种是包含 字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. 1 ...
随机推荐
- nginx下rewrite参数超过9个的解决方法
nginx 在处理多于9个参数的时候,是采用重命名的方法来实现的: /?m?([0-9,]*)h?(\d*)a?([0-9,]*)c?(\d*)s?(x?f?(?P<f>[0-9,]*)/ ...
- spring @value 注入static
import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Com ...
- php 函数汇总
extract 从数组中将变量导入到当前的符号表 $arr['age'] = 30; $arr['name'] = 'bluesky'; $arr['sex'] = 'male'; var_dump( ...
- mysql-bin引起mysql不能启动
日志提示无法找到mysql-bin.000005这个文件 原因是我把其删除了,而在mysql-bin.index文件中却还有mysql-bin.000005的记录,因此启动失败了 解决: cd /va ...
- 如何在ubuntu里面关掉后台的meteor
kill -9 `ps ax | grep node | grep meteor | awk '{print $1}'` 或者远程终止服务器里面的meteor ssh [user]@[server] ...
- Hadoop总结篇之五---模块间是怎么驱动执行的
在MRv1中,各个模块间驱动运行的方式是函数调用的方式.这是同步的过程,上一模块调用下一模块函数后,等待其执行.效率不高. 在MRv2中做了改进,yarn基于事件驱动的并发模型.在详细介绍前,先看下图 ...
- 延时函数出错,volatile一例
莫名其妙的错误.使用Systick做的延时. 初始化是这样的: //SysTick配置 SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); if ...
- JAVA源码走读(二)二分查找与Arrays类
给数组赋值:通过fill方法. 对数组排序:通过sort方法,按升序.比较数组:通过equals方法比较数组中元素值是否相等.查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找 ...
- 那些年蹚过的坑(c++)
1 main中的参数 尽量用英文双引号括起来,否则可能会出现字符串截断的情况(linux gcc 4.4 不加英文引号的话,遇到英文;会丢弃;后面的部分) 2 包含ipv6地址结构体(in6_addr ...
- Blink Without Delay: 不使用 delay() 函数而使 LED 闪烁
不使用 delay() 函数而使 LED 闪烁 有些时候你需要同时做两件事.例如,你可能希望在读取按键按下状态同时让LED闪烁. 在这种情况下,你不能使用 delay(),因为Arduino程序会在d ...