1,chmod

指令名称 : chmod 
使用权限 : 所有使用者 
使用方式 : chmod [-cfvR] [--help] [--version] mode file... 
说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。

  root:系统特权用户类,既 UID = 0 的用户 
  owner:拥有文件的用户 
  group:拥有文件的用户组 
  other:不属于上面 3 类的所有其他用户

参数 : 
  mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中 
  u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。 
  + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。 
  r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。 
  -c : 若该档案权限确实已经更改,才显示其更改动作 
  -f : 若该档案权限无法被更改也不要显示错误讯息 
  -v : 显示权限变更的详细资料 
  -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) 
  --help : 显示辅助说明 
  --version : 显示版本

举例:

1,将档案 file1.txt 设为所有人皆可读取 :

chmod ugo+r file1.txt  

2,将档案 file1.txt 设为所有人皆可读取 :

chmod a+r file1.txt  

3,将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :

chmod ug+w,o-w file1.txt file2.txt  

4,将 ex1.py 设定为只有该档案拥有者可以执行 :

chmod u+x ex1.py  

5,将目前目录下的所有档案与子目录皆设为任何人可读取 :

chmod -R a+r *  

6,此外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。

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

  若用chmod 4755 filename可使此程序具有root的权限.

PS:此处chmod 4755 filename中的第一位数4表示高位特殊权限
  主要有三种高位特殊权限 S :SUID SGID SBIT
 
 SUID :当一个设置了SUID 位的可执行文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权。如果所有者是 root 的话,那么执行人就有超级用户的特权了。(对文件进行操作,eg:修改密码的时候除了root用户可以修改密码,普通用户可以修改密码,原因就是因为采用了SUID,普通用户以root用户的权限来执行修改密码的操作)
 
 SGID :当一个设置了SGID 位的可执行文件运行时,该文件将具有所属组的特权, 任意存取整个组所能使用的系统资源。若一个目录设置了SGID,则所有被复制到这个目录下的文件, 其所属的组都会被重设为和这个目录一样,除非在复制文件时加上-p (preserve,保留文件属性)的参数,才能保留原来所属的群组设置。(对文件夹进行操作,将SUID的s放到文件所在的用户组X位置上的话,就是SGID)
 
sticky Bit(SBIT):这个就是针对other来设置的了,和上面两个一样,只是功能不同而已。eg:最具有代表的就是/tmp目录,任何人都可以在/tmp内增加、修改文件(因为权限全是rwx),但仅有该文件/目录建立者与 root能够删除自己的目录或文件。(当用户在该目录下建立文件或目录时,仅有自己与 root才有权力删除。)
  对一个文件设置了sticky-bit之后,尽管其他用户有写权限, 也必须由属主执行删除、移动等操作。
  对一个目录设置了sticky-bit之后,存放在该目录的文件仅准许其属主执行删除、 移动等操作。
 
 为 SUID = u+s
为 SGID = g+s
为 SBIT = o+t
当然数字也可以相加,但是必须是符合上面的对文件和目录的限制才会起作用,“-”就是去除某个权限 chmod u+s temp -- 为temp文件加上setuid标志. (setuid 只对文件有效,U=用户) 
chmod g+s tempdir -- 为tempdir目录加上setgid标志 (setgid 只对目录有效,g=组名) 
chmod o+t temp -- 为temp文件加上sticky标志 (sticky只对文件有效

2,chown

chown就是修改 第一列内容的 ,chmod是修改 第3,4列内容的。
 

用来更改某个目录或文件的用户名和用户组的
chown 用户名:组名 文件路径(可以是就对路径也可以是相对路径)
例1:

chown root:root /tmp/tmp1

就是把tmp下的tmp1的用户名和用户组改成root和root(只修改了tmp1的属组).
例2:

chown -R root:root /tmp/tmp1

就是把tmp下的tmp1下的所有文件的属组都改成root和root。

chmod及chown命令详解的更多相关文章

  1. linux的chmod与chown命令详解

    使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者.群组.其他.利用  ...

  2. linux shell 脚本攻略学习12--文件权限详解,chmod命令详解,chown命令详解,chattr命令详解

    文件权限详解 一.chmod命令详解 文件权限和所有权是Unix/Linux文件系统最显著的特征之一.linux中的每一个文件都与多种权限类型相关联,在这些权限中主要分类为3种: 用户(User)是文 ...

  3. linux的chmod,chown命令详解

    指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案 ...

  4. linux的chmod,chown命令 详解

    指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案 ...

  5. chown命令详解

    chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷贝 ...

  6. Linux chown命令详解使用格式和方法

    指令名称 : chown 使用权限 : root(一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限可以自己的文件拥有者改设为别人.只有系统 ...

  7. centos 8 chown命令详解

    chown命令简介 chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID: 文件是以空格分开的要改变权限的文件列表,支持通配符. 系统管理员经常使用ch ...

  8. chown 命令详解

    chown 作用:改变某个文件或目录的所有者和所属的组, 该命令可以向某个用户授权,使该用户编程指定文件的所有者或者改变文件的所属组, 用户可以是用户或者是用户ID, 用户组可以是组名或者租ID,   ...

  9. Linux chown命令详解

    chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符. chown常见命令参数 Usage: cho ...

随机推荐

  1. 经典面试题(一)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯

    1.        有一个整数数组,请求出两两之差绝对值最小的值.记住,只要得出最小值即可,不需要求出是哪两个数.(Microsoft)  方法1:两两作差求绝对值,并取最小,O( n2 ). 方法2 ...

  2. Ubuntu系统升级内核方法

    一.查看内核版本 $ uname-sr //查看内核版本 二.去Ubuntu网站http://kernel.ubuntu.com/~kernel-ppa/mainline/下载所需版本的deb文件 w ...

  3. #Leetcode# 922. Sort Array By Parity II

    https://leetcode.com/problems/sort-array-by-parity-ii/ Given an array A of non-negative integers, ha ...

  4. java网络编程(二)可中断套接字

    参考资料:java核心技术 卷II 为中断套接字操作,可使用java.nio包提供的SocketChannel类.可以使用如下方式打开SocketChannel: SocketChannel chan ...

  5. 【Java】关于@RequestBody

    首先@RequestBody需要接的参数是一个string化的json,这里直接使用JSON.stringify(json)这个方法来转化 其次@RequestBody,从名称上来看也就是说要读取的数 ...

  6. 题解 P1567 【统计天数】

    天哪!竟然没人用优先队列! 小金羊又来水题了... 优先队列中的大根堆帮助我们把时间复杂度降到O(n+logn) 首先我们先了解一下大根堆... 大根堆的性质:根节点比子节点大, 这意味着最上面的节点 ...

  7. Django对应的路由名称

    1. 名字很长,修改起来很麻烦 2.Django提供了一种方法 在urls.py中修改了名字以后,html中会自动对应做修改.这样提交表单的时候就会比较方便了.跳转到写死的某个URL. 3.根据名字i ...

  8. [洛谷P4626]一道水题 II

    题目大意:求$lcm(1,2,3,\cdots,n)\pmod{100000007}$,$n\leqslant10^8$ 题解:先线性筛出质数,然后求每个质数最多出现的次数,可以用$\log_in$来 ...

  9. 【NuGet】使用NuGet打包并发布至ProGet过程 (打包再次详解)【下篇】

    一.前言 上篇[1]主要介绍了利用csproj文件使用NuGet打包至ProGet的过程,并附上了用于在Jenkins上运行的python脚本.本篇的主要内容分为以下几点: 1. Nuspec与Nup ...

  10. 【数学】【背包】【NOIP2018】P5020 货币系统

    传送门 Description 在网友的国度中共有 \(n\) 种不同面额的货币,第 \(i\) 种货币的面额为 \(a[i]\),你可以假设每一种货币都有无穷多张.为了方便,我们把货币种数为 \(n ...