一、 更改文件9个属性:chmod

用这个命令修改文件属性有两种方式:数字或者符号

1. 数字类型改变文件权限 chmod

(1)类unix系统的文件有9个属性分别是owner/group/others 的read/write/excute 属性,这9个属性中3个为一组,可以用数字来表示各个属性:

r:4

w:2

x:1

每个权限代表一个数字,将同一组的3个权限累加,就是这一组权限的数字表示方式,

例如当文件属性是[-rwxrw-r--]时:

Owner:  4+2+1=7(rwx)

Group:  4+2+0=6(rw)

Others: 4+0+0=4(r)

因此该文件的属性用数字来表示就是764了。

(2)语法:chmod [-R] xyz filename

xyz:数字类型的权限属性,也就是rwx所代表数字的和

-R: 进行递归的持续修改,常用于修改某一目录

(3)例子。假定有一个名为test的文件,具有如下权限:

-rw-rw-r-- 1 root root  165 Nov 18 15:53 test

现在希望拥有者对该文件可读、写和执行,root组用户对该文件只读,其他人没有权限,可以键入:

$chmod 740 test

$ls -l

-rwxr----- 1 root root  165 Nov 18 15:53 test

 

2. 符号类型改变文件权限

(1) chmod命令的一般格式为:

chmod [who] operator [permission] filename

who的含义是:

u 文件属主权限。

g 属组用户权限。

o 其他用户权限。

a 所有用户(文件属主、属组用户及其他用户)。

operator的含义:

+ 增加权限。

- 取消权限。

= 设定权限。

permi ssion的含义:

r 读权限。

w 写权限。

x 执行权限。

s 文件属主和组set-ID。

t 粘性位*。

l 给文件加锁,使其他用户无法访问。

(这里只关注r、w、x权限,其他的后面解释)

(2) 例子:当创建test文件时,它具有这样的权限:

-rw-r--r-- 1 root root  165 Nov 18 15:53 test

如果要使属主和属组用户具有有执行权限,并取消其他用户的写权限,可以用:

$ chmod ug+x test

$ chmod o-w test

-rwxr-xr-- 1 root root  165 Nov 18 15:53 test

最后将属组的属性设置为rwx,其他人的属性设置为rw

$ chmod g=rwx,o=rw test (g=rwx,o=rw是在一起的,中间没有空格)

-rwxrwxrw- 1 root root  165 Nov 18 15:53 test

二、 更改文件拥有者chown

当你创建一个文件时,你就是该文件的属主。一旦你拥有某个文件,就可以改变它的所有权,把它的所有权交给另外一个/etc/passwd文件中存在的合法用户。可以使用用户名或用户ID号来完成这一操作。

在改变一个文件的所有权时,相应的suid也将被清除,这是出于安全性的考虑。只有文件的属主和系统管理员可以改变文件的所有权。一旦将文件的所有权交给另外一个用户,就无法再重新收回它的所有权。如果真的需要这样做,那么就只有求助于系统管理员了。

1. chown命令的一般形式

chown  [--cfhvR]  owner  file


2. 例子

# ls -l

drwxrwxr-x  2 sam  sam  4096 10月 26 19:48 sam

# chown gem sam

# ls –l

drwxrwxr-x  2 gem  sam  4096 10月 26 19:48 sam

文件sam的所有权现在由用户sam交给了用户gem。也可以将属主与属组一起修改:

# chown gem:gem sam

# ls –l

drwxrwxr-x  2 gem  gem  4096 10月 26 19:50 sam

三、 更改所属用户组chgrp

chgrp命令和chown命令的格式差不多,下面给出一个例子:

# ls -l

drwxrwxr-x  2 gem  sam  4096 10月 26 19:48 sam

# chgrp group sam

# ls -l

drwxrwxr-x  2 gem  group  4096 10月 26 19:48 sam

一般来说再将文件复制给另外一个用户的时候需要修改文件的所属者,不然那个用户无法打开这个文件。

四、 找出你或者其他人所属的用户组

如果你希望知道自己属于哪些用户组,可以用ID这个命令:

# su sam

$ id

uid=506(sam) gid=4(adm) groups=4(adm)

如果想看其他人的用户组,用#id 用户名,如:

# su sam

$ id gem

uid=507(gem) gid=507(group) groups=507(group),0(root),4(adm)

五、参考

1. 《shell十三问》

(完)

linux系统如何更改文件权限的更多相关文章

  1. linux系统中的文件权限详解(转)

    一.在<Linux系统中如何查看文件属性>中介绍了通过ls指令来查看文件的属性,具体如下: [命令] letuknowit@ubuntu:/$ cd /tmp letuknowit@ubu ...

  2. Linux系统用户/用户组/文件权限相关

    目录一.Linux系统用户/用户组权限相关二.Linux系统文件权限相关 一.Linux系统用户/用户组权限相关 .命令:usermod 用法:usermod [-agGus] user args ‘ ...

  3. linux中chmod更改文件权限命令

    1. 命令格式: chmod [-cfvR] [--help] [--version] mode file 2. 命令功能: 用于改变文件或目录的访问权限,用它控制文件或目录的访问权限. 3. 命令参 ...

  4. 解决linux下sudo更改文件权限报错xxxis not in the sudoers file. This incident will be reported.

    本文转自Linux社区作者为z-sm的文章 原文链接http://www.linuxidc.com/Linux/2016-07/133066.htm 之前一直使用的是ubuntu,后来安装了Cento ...

  5. Linux系统中的文件权限

    r(read)         4    可读 w(write)   2     可写 x()           1     可执行 644            755 rw-r-r        ...

  6. linux系统下修改文件夹目录权限

    linux系统下修改文件夹目录权限 文件夹权限问题 Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何 ...

  7. Linux更改文件权限(二)

    更改文件权限(二)============================== (参考于千锋教育教学笔记) 命令umask [root@aminglinux ~]# umask 0022 [root@ ...

  8. Linux更改文件权限(一)

    更改文件权限(一)============================== (参考于千锋教育教学笔记) 设置权限 1.更改文件的属主.属组chown (change owner)[root@ami ...

  9. linux 更改文件权限命令 chmod

    chmod -change file mode bits :更改文件权限 chmod是用来改变文件或者目录权限的命令,但只有文件的属主和超级用户(root)才有这种权限. 更改文件权限的2种方式: 一 ...

随机推荐

  1. java的try-with-resource机制

    在java7之后可以使用try(resource1, resource2){...}这样声明之后,在try{}执行完成之后或者抛异常跳出,都会调用reouce1.close(),resource2.c ...

  2. angularJS自定义一个过滤器

    ng允许我们自定义指令 下面来我们自己来定义一个过滤指令:filter,返回一个函数的形式 filter(name,callback(){//name:过滤器的名字,callback:匿名函数 ret ...

  3. jdk1.8新特性之方法引用

    方法引用其实就是方法调用,符号是两个冒号::来表示,左边是对象或类,右边是方法.它其实就是lambda表达式的进一步简化.如果不使用lambda表达式,那么也就没必要用方法引用了.啥是lambda,参 ...

  4. 树的遍历——pat1043

    http://pat.zju.edu.cn/contests/pat-a-practise/1043 给予N个数字组成二叉搜索树,判断这个数列是否由先序遍历得出或是镜像先序遍历得出,若是则输出相应的后 ...

  5. GNU Radio 入门培训

    1. GNU Radio介绍 1.1 什么是GNU Radio GNU Radio是一个完全开源的软件无线电结构平台,它可以用来设计和仿真,也可以用来连接真实的无线电系统.GNU Radio是一个高度 ...

  6. Bash命令查找本机公网IP

    用Bash命令查找本机公网IP wget -qO - http://ipecho.net/plain; echo

  7. redis底层数据结构--简单动态字符串 链表 字典 跳跃表 整数集合 压缩列表

    1.动态字符串 redis中使用c语言的字符床存储字面量,默认字符串存储采用自己构建的简单动态字符串SDS(symple dynamic string) redis包含字符串的键值对都是用SDS实现的 ...

  8. vscode新版1.31.1使用代码检查工具ESlint支持VUE

    1.VSCODE中安装ESlint省略 2.菜单文件->首选项->设置->扩展->ESLint 打钩:Eslint:Auto Fix On Save 点击此链接:在settin ...

  9. ISIS与OSPF的区别与联系

    共同之处: 1 都是链路状态路由协议,都要求区域内的路由器交换链路状态信息,链路状态信息被收集到链路状态数据库中 2 都是用了一种实现路由选择信息交换相似机制 3 都在广播网络中选择指定路由器来控制扩 ...

  10. canvas下载图片

    canvas下载图片 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...