a+r chmod linux
2015-05-07 17:15:00 weixin_34015566 阅读数 5

chmod命令用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
  文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。
  有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。
  每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。 例如:

命令: 

ls -al

输出:

[root@localhost test]# ll -al

总计 316lrwxrwxrwx 1 root root     11 11-22 06:58 linklog.log -> log2012.log

-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log

-rw-r--r-- 1 root root     61 11-13 06:03 log2013.log

-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log

-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log

-rw-r--r-- 1 root root      0 11-16 14:41 log2016.log

-rw-r--r-- 1 root root      0 11-16 14:43 log2017.log

我们以log2012.log为例:

-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log

第一列共有10个位置,第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。从第二个字符开始到第十个共9个字符,3个字符一组,分别表示了3组用户对文件或者目录的权限。权限字符用横线代表空许可,r代表只读,w代表写,x代表可执行。

例如:
  - rw- r-- r--
  表示log2012.log是一个普通文件;log2012.log的属主有读写权限;与log2012.log属主同组的用户只有读权限;其他用户也只有读权限。

  确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。 

chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。chmod命令详细情况如下。

1. 命令格式:

chmod [-cfvR] [--help] [--version] mode file   

2. 命令功能:

用于改变文件或目录的访问权限,用它控制文件或目录的访问权限。

3. 命令参数:

必要参数:
-c 当发生改变时,报告处理信息
-f 错误信息不输出
-R 处理指定目录以及其子目录下的所有文件
-v 运行时显示详细处理信息

选择参数:
--reference=<目录或者文件> 设置成具有指定目录或者文件具有相同的权限
--version 显示版本信息
<权限范围>+<权限设置> 使权限范围内的目录或者文件具有指定的权限
<权限范围>-<权限设置> 删除权限范围的目录或者文件的指定权限
<权限范围>=<权限设置> 设置权限范围内的目录或者文件的权限为指定的值

权限范围:
u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组

权限代号:
r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示
s :特殊权限 

 

该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
  1). 文字设定法:
   chmod [who] [+ | - | =] [mode] 文件名
  2). 数字设定法
  我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
  例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。
  数字设定法的一般形式为:
   chmod [mode] 文件名

 

数字与字符对应关系如下:

r=4,w=2,x=1
若要rwx属性则4+2+1=7
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。 

4. 使用实例:
实例1:增加文件所有用户组可执行权限

命令:

chmod a+x log2012.log

输出:

[root@localhost test]# ls -al log2012.log 

-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log

[root@localhost test]# chmod a+x log2012.log 

[root@localhost test]# ls -al log2012.log 

-rwxr-xr-x 1 root root 302108 11-13 06:03 log2012.log

[root@localhost test]#

说明:
  即设定文件log2012.log的属性为:文件属主(u) 增加执行权限;与文件属主同组用户(g) 增加执行权限;其他用户(o) 增加执行权限。
 

实例2:同时修改不同用户权限

命令:

chmod ug+w,o-x log2012.log

输出:

[root@localhost test]# ls -al log2012.log 

-rwxr-xr-x 1 root root 302108 11-13 06:03 log2012.log

[root@localhost test]# chmod ug+w,o-x log2012.log 

[root@localhost test]# ls -al log2012.log 

-rwxrwxr-- 1 root root 302108 11-13 06:03 log2012.log


说明:
  即设定文件text的属性为:文件属主(u) 增加写权限;与文件属主同组用户(g) 增加写权限;其他用户(o) 删除执行权限

 

实例3:删除文件权限

命令:

chmod a-x log2012.log

输出:

[root@localhost test]# ls -al log2012.log 

-rwxrwxr-- 1 root root 302108 11-13 06:03 log2012.log

[root@localhost test]# chmod a-x log2012.log 

[root@localhost test]# ls -al log2012.log 

-rw-rw-r-- 1 root root 302108 11-13 06:03 log2012.log

说明:
  删除所有用户的可执行权限 
 

实例4:使用“=”设置权限 

命令:

chmod u=x log2012.log

输出:

[root@localhost test]# ls -al log2012.log 

-rw-rw-r-- 1 root root 302108 11-13 06:03 log2012.log

[root@localhost test]# chmod u=x log2012.log 

[root@localhost test]# ls -al log2012.log 

---xrw-r-- 1 root root 302108 11-13 06:03 log2012.log

说明:

撤销原来所有的权限,然后使拥有者具有可读权限 

 

实例5:对一个目录及其子目录所有文件添加权限 

命令:

chmod -R u+x test4

输出:

[root@localhost test]# cd test4

[root@localhost test4]# ls -al

总计 312drwxrwxr-x 2 root root   4096 11-13 05:50 .

drwxr-xr-x 5 root root   4096 11-22 06:58 ..

-rw-r--r-- 1 root root 302108 11-12 22:54 log2012.log

-rw-r--r-- 1 root root     61 11-12 22:54 log2013.log

-rw-r--r-- 1 root root      0 11-12 22:54 log2014.log

[root@localhost test4]# cd ..

[root@localhost test]# chmod -R u+x test4

[root@localhost test]# cd test4

[root@localhost test4]# ls -al

总计 312drwxrwxr-x 2 root root   4096 11-13 05:50 .

drwxr-xr-x 5 root root   4096 11-22 06:58 ..

-rwxr--r-- 1 root root 302108 11-12 22:54 log2012.log

-rwxr--r-- 1 root root     61 11-12 22:54 log2013.log

-rwxr--r-- 1 root root      0 11-12 22:54 log2014.log

说明:

递归地给test4目录下所有文件和子目录的属主分配权限 

 

其他一些实例:

1). 

命令:

chmod 751 file   

说明:

给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限

2). 

命令:

chmod u=rwx,g=rx,o=x file 

说明:

上例的另一种形式

3). 

命令

chmod =r file 

说明:                    

为所有用户分配读权限

3). 

命令:

chmod 444 file 

说明: 

    同上例

4). 

命令:

chmod a-wx,a+r   file

说明:

同上例

2018-11-30 09:13:08 he__xu 阅读数 343

chmod 修改文件权限
chmod [u|g|o] text
u :用户的当前权限 r-4 + w-2 + x-1 = 
g :给用户所在组的权限 r-4 + w-2 + x-1 = 
o :其他用户的当前权限 r-4 + w-2 + x-1 = 
eg:
chmod 777 test :给当前用户对文件的读写执行权限
                 给用户组读写执行的权限
                 给其他用户对这个文件的读写执行权限

chmod 746 test :给当前用户对文件的读写执行权限
                 给用户组读权限
                 给其他用户执行的权限

2017-03-13 16:02:42 u010273362 阅读数 158
在 Linux 下用电脑经常会用到 chmod 命令。 chmod 只有管理员才能执行。 普通用户可以通过 sudo chmod 执行。
Linux 的文件权限可以分成三段, 通常 ls -l 出来的第一列就是文件权限信息。每个文件(任意类型的文件或者文件夹)的属性都用10个字符表示。举个简单的例子, 看下面这行权限信息:
drwxr-xr-x
第一字符是 d , 说明它是一个文件夹. 文件权限信息第一字符通常都是链接符 "-".
从第二到第四位 (rwx) 是文件所有者的权限.上面的字符具体意思也很简单:
r: 可读, w: 可写, x: 可执行.
所有上面的信息表示该文件夹的拥有者有可读,可写, 可执行给文件夹的权限. 用就是全部权限.

再看第五位到第七位 (r-x) 是文件夹用户拥有者所在组的权限. 根据上面的说法就是这个组对该文件夹有可读可执行的权限. 链接号表示没有权限空缺, 没有写权限.
同样第八位到第十位 (r-x) 是其他人对这个文件夹操作的权限. 这里看来就是可读, 可执行权限.
其实我们更多的看到的是数字组成的权限. 文件的权限组成是由 用户的权限, 用户所在组的权限, 其他人的权限 这三个权限组成的. 每个权限都可以是 r,w,x 的任意组合. 所以用字符表示太麻烦, 简单的用数字表示比较方便. 我们只要记住3个数字就行了.
其中: r = 4, w = 2, x = 1. 没有见过 linux 权限有超过7的数字的. ^o^
所以如果是可读可写可执行的话那就是: rwx = 4 + 2 + 1 = 7 上面的三个权限都可以这样算出来.
比如我们看一个文件的权限如下: -rw-r--r--
说明这个文件是个普通文件, 因为第一个字母是连接符 "-", 看接下来的三个字母是: rw- , 表示该文件的所有者对该文件可读可写. 那么用数字表示也就是 4 + 2 + 0 = 6,
再看第5-7个字符: r--, 表示该文件所有者所在的组对该文件只有可读权限. 那么用数字表示为: 4 + 0 + 0 = 4,
看最后三个字符: r--, 表示其他人对该文件的权限. 同样是知读. 用数字表示也是 4.
所有该文件的权限用数字看起来就是: 644
了解了权限的组成. 现在用 chmod 命令就方便了. 最简单的用法.
sudo chmod 644 readme.txt
这样就给当前目录下的 readme.txt 文件重新赋予了权限. 只有拥有者可以修改, 其他人只能看文件内容.
另外还有一种比较方便的针对某一类的用户的操作. 先介绍2个操作符. "+" 表示增加权限. "-" 表示消减权限.
文件所有者可以用字母 u 表示. 用户所在的组可以用字母 g 来表示. 其他人可以用字母 o 来表示. 所有人可以用字母 a 了表示.
其实就是单词 user, group, other, all 的第一个字母.
比如对一个文件 readme.txt 执行修改其他人对这个文件的权限. 修改位其他人可以写. 可以这样
sudo chmod o+w readme.txt
相对的, 修改用户所在组的成员对该文件也有可修改的权限:
sudo chmod g+w readme.txt
现在如果想去掉 其他人对该文件的可修改的权限的话:
sudo chmod o-w readme.txt

最后, 我们让所有人对该文件都有全部权限的话, 这样做是很危险的.只是测试举例才用而已. 可以这样
sudo chmod a+rwx readme.txt
OK, 到这里就简单的介绍完了. 如果想对一个目录及其下面的文件都修改成统一的权限信息的话可以加参数 -R , 比如对当前目录 test 及其下面的文件都该成 文件拥有者可读可写, 其他人都只能看的话:
sudo chmod -R 644 test
数字代表的意思自己去算算看, 是不是很简单呢?
2016-01-29 15:24:56 youthtail 阅读数 152


语法:chmod [who] [+ | - | =] [mode] 文件名

命令中各选项的含义为:

操作对象who可是下述字母中的任一个或者它们的组合:
  u 表示“用户(user)”,即文件或目录的所有者。
  g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
  o 表示“其他(others)用户”。
  a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
  + 添加某个权限。
  - 取消某个权限。
  = 赋予给定权限并取消其他所有权限(如果有的话)。
设置 mode 所表示的权限可用下述字母的任意组合:
  r 可读。
  w 可写。
   x 可执行。
  X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
  s 在文件执行时把进程的属主或组ID置为该文件的文件属主。
      方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
  t 保存程序的文本到交换设备上。
  u 与文件属主拥有一样的权限。
  g 与和文件属主同组的用户拥有一样的权限。
  o 与其他用户拥有一样的权限。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
  

在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:

chmod g+r,o+r example  % 使同组和其他用户对文件example 有读权限。

2. 数字设定法

我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限, 2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。

例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。

数字设定法的一般形式为:

语法:chmod [mode] 文件名
指令实例:
chmod a+x sort   
% 即设定文件sort的属性为:
 文件属主(u) 增加执行权限
 与文件属主同组用户(g) 增加执行权限
 其他用户(o) 增加执行权限

chmod ug+w,o-x text
% 即设定文件text的属性为:
 文件属主(u) 增加写权限
 与文件属主同组用户(g) 增加写权限
 其他用户(o) 删除执行权限

chmod u+s a.out
% 假设执行chmod后a.out的权限为(可以用ls – l a.out命令来看):
 –rws--x--x 1 inin users 7192 Nov 4 14:22 a.out
 并且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“–rw-------”,
  即该文件只有其属主具有读写权限。
   当其他用户执行a.out这个程序时,他的身份因这个程序暂时变成inin(由于chmod
  命令中使用了s选项),所以他就能够读取shiyan1.c这个文件(虽然这个文件被设定为
  其他人不具备任何权限),这就是s的功能。
  因此,在整个系统中特别是root本身,最好不要过多的设置这种类型的文件(除非
  必要)这样可以保障系统的安全,避免因为某些程序的bug而使系统遭到入侵。

chmod a–x mm.txt
chmod –x mm.txt
chmod ugo–x mm.txt
% 以上这三个命令都是将文件mm.txt的执行权限删除,它设定的对象为所有使用者。

$ chmod 644 mm.txt
% 即设定文件mm.txt的属性为:-rw-r--r--
 文件属主(u)inin 拥有读、写权限
 与文件属主同组人用户(g) 拥有读权限
 其他人(o) 拥有读权限

chmod 750 wch.txt
% 即设定wchtxt这个文件的属性为:-rwxr-x---
 文件主本人(u)inin 可读/可写/可执行权
 与文件主同组人(g) 可读/可执行权
 其他人(o) 没有任何权限

2016-11-23 11:35:53 lyn1539815919 阅读数 132

    chmod之前一直迷糊,现在总结一下 :

    在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读、写、运行设定权限。
    例如我用ls -l命令列文件表时,得到如下输出:
    -rw-r--r-- 1 apple users 2254 2006-05-20 13:47 tt.html
    从第二个字符起rw-是说用户apple有读、写权,没有运行权,接着的r--表示用户组users只有读权限,没有运行权,最后的r--指其他人 (others)只有读权限,没有写权和运行权。这是系统默认设置,我可以改写tt.htm,同组的人和其他人只有权读,没人有权运行,因为只是一个 html文件,不必运行。这在Novell的directory services之前很先进。
    读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1。所以,上面的例子中的rw-r--r--用数字表示成644。
    反过来说777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限。
    再多说一句。我用chmod o-r tt.htm命令改权限,o-r是others的权限中减掉读。结果是
    -rw-r----- 1 bu users 2254 2006-05-20 13:47 tt.htm
    如果用命令chmod 777 tt.htm,结果是
    -rwxrwxrwx 1 bu users 2254 2006-05-20 13:47 tt.htm
    任何人都有读、写、运行三项权限。

---------------------------------------------
指令名称 : 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的权限

linux chmod

阅读数 40

linux chmod

阅读数 157

Linux chmod

阅读数 311

linux chmod

阅读数 2

Linux chmod

阅读数 493

没有更多推荐了,返回首页