一、 更改文件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. PHP如何实现网址伪静态(转)

    Apache的 mod_rewrite是比较强大的,在进行网站建设时,可以通过这个模块来实现伪静态.主要步骤如下: 1.检测Apache是否开启mod_rewrite功能     可以通过php提供的 ...

  2. Python中文报错问题

    异常信息:SyntaxError: Non-ASCII character '\xe6' in file D:/pythonlearning/HelloPython.py on line 8, but ...

  3. 2dx 3.0环境配置(mac)

    安装ant brew install ant ant默认的目录在 /usr/local/bin mvim ~/.profile,添加 export ANT_ROOT=/usr/local/bin . ...

  4. 实现 Win32 程序的消息映射宏(类似 MFC )

    对于消息映射宏,不用多说了,用过 MFC 的人都很清楚.但目前有不少程序由于各种原因并没有使用 MFC,所以本帖讨论一下如何在 Win32 程序中实现类似MFC的消息映射宏.其实 Windows 的头 ...

  5. 遍历并批量删除容器中元素出现ConcurrentModificationException原因及处置

    在以下四种遍历过程中,前两种会抛出ConcurrentModificationException,而后两种方法是正确的. Department类: package com.sitinspring; i ...

  6. jQuery给控件赋值....

    1.jQuery给span取值:$("#id").html(); 2.jQuery给input取值:$("#id").val(); 3.jQuery给texta ...

  7. JDK之集合乱序源码分析

    在JAVA的JDK中Collections类提供了shuffle方法用来对给定的集合参数进行乱序重排,之前面试也被问到过类似的问题,看了一下JDK的源码实现做个记录 1. 方法签名: Collecti ...

  8. HDU2546题解

    解题思路:先对价格排序(顺序或倒序都可以),然后,对前n-1(从1开始.排序方式为顺序)做容量为m(卡上余额)-5的01背包(背包体积和价值相等).假设dp[i][j]表示从前i个背包中挑选体积不超过 ...

  9. 安装FFmpeg3.0.9

    //静态版的 FFmpeg Static Builds   release: 3.3.3 https://www.johnvansickle.com/ffmpeg/ ffmpeg-release-64 ...

  10. 论 html与css的关系

    一.网页前端三剑客基础介绍 1-1 Html和CSS的关系学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言.下面我们就来了解下这三门技术都是用来实现什么的: 1. HTM ...