linu命令笔记之文件夹权限命令chmod和chown

linu命令笔记之文件夹权限命令

命令 chmod和chown

在做linux驱动开发和linux软件开发中经常碰到文件所有者或者文件权限的问题。chmod命令更改文件或文件夹得权限,chown更改文件所有者。

在命令终端中输入命令  ls -l,可以查看当前目录下文件及文件夹得权限和所属组。




linux-3.18.-at91文件夹所有者及权限如下:

第一位指定属主的权限(u),第二位指定组权限(g),第三位指定其他用户的权限(o)。

用3位八进制数字表示文件权限比较方便。4表示可读(r),2表示可写(w),1表示可执行(x)。每位通过4(读)、2(写)、1(执行)三种数值的和来确定权限。如6(4+2)代表有读写权,7(4+2+1)有读、写和执行的权限。

图例中:

d  rwx   r-x   r-x   23 root root 4096 2015-11-14 21:07 linux-3.18-at91

(4+2+1)(4+0+1)(4+0+1)=755

图中后面两个root 表示所属主是root组,指定组权限是root权限。

一、利用chmod 命令更改文件夹或文件的权限

只能文件属主或特权用户才能使用该功能来改变文件存取模式。mode可以是数字形式或以who opcode permission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定多个mode,以逗号分开。

用法:chmod [选项]... 模式[,模式]... 文件...
 或:chmod [选项]... 八进制模式 文件...
 或:chmod [选项]... --reference=参考文件 文件...
将每个文件的模式更改为指定值。


  -c, --changes 类似 --verbose,但只在有更改时才显示结果
      --no-preserve-root 不特殊对待根目录(默认)
      --preserve-root 禁止对根目录进行递归操作
  -f, --silent, --quiet 去除大部份的错误信息
  -v, --verbose 为处理的所有文件显示诊断信息
      --reference=参考文件 使用指定参考文件的模式,而非自行指定权限模式
  -R, --recursive 以递归方式更改所有的文件及子目录
      --help 显示此帮助信息并退出
      --version 显示版本信息并退出


每种 MODE 都应属于这类形式"[ugoa]*([-+=]([rwxXst]*|[ugo]))+"。

例:

实例:

$ chmod u+x file       给file的属主增加执行权限
$ chmod 751 file      给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
$ chmod u=rwx,g=rx,o=x file      上例的另一种形式
$ chmod =r file                    为所有用户分配读权限
$ chmod 444 file                  同上例
$ chmod a-wx,a+r   file         同上例
$ chmod -R u+r directory           递归地给directory目录下所有文件和子目录的属主分配读的权限
$ chmod 4755                           设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。

二、利用chown命令更改文件所属主
通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。
用法:chown [选项]... [所有者][:[组]] 文件...
 或:chown [选项]... --reference=参考文件 文件...
更改每个文件的所有者和/或所属组。

当使用 --referebce 参数时,将文件的所有者和所属组更改为与指定参考文件相同。


  -c, --changes 类似 verbose,但只在有更改时才显示结果
      --dereference 受影响的是符号链接所指示的对象,而非符号链接本身
  -h, --no-dereference 会影响符号链接本身,而非符号链接所指示的目的地
(当系统支持更改符号链接的所有者时,此选项才有用)
      --from=目前所有者:目前组
                         只当每个文件的所有者和组符合选项所指定的,
                         才会更改所有者和组。其中一个可以省略,这时
                         已省略的属性就不需要符合原有的属性。
      --no-preserve-root 不特殊对待"/"(默认值)
      --preserve-root 不允许在"/"上递归操作
  -f, --silent, --quiet 去除大部份的错误信息
      --reference=参考文件 使用参考文件的所属组,而非指定值
  -R, --recursive 递归处理所有的文件及子目录
  -v, --verbose 为处理的所有文件显示诊断信息


以下选项是在指定了 -R 选项时被用于设置如何穿越目录结构体系。
如果您指定了多于一个选项,那么只有最后一个会生效。


  -H         如果命令行参数是一个通到目录的符号链接,则遍历符号链接
  -L         遍历每一个遇到的通到目录的符号链接
  -P         不遍历任何符号链接(默认)

例:把linux-3.18-at91文件夹下的所有文件都更改为所有者为root,用户组为root。

# chown -R root:root linux-3.18-at91


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值