chmod命令、chown命令、umask值和隐藏权限

chmod命令(change mode)

使用 ls -l 可以看到文件或目录的权限。权限一共有9位,分为3段,分别代表拥有者权限、拥有组权限和其他人权限。每一段都有3位,分别是 r(读)、w(写)和 x(执行)。若没有相应的权限,则使用 - 代替。

每种权限的意义:

r:对于目录来说,允许列出目录的内容。(ls)

对于文件来说,允许查看文件内容。(cat、more、less、head、tail、tac)

w:对于目录来说,允许在其下创建删除文件。(mkdir、touch、rm、cp、mv)

对于文件来说,允许编辑其内容。(vi、vim)

x:对于目录来说,允许进入目录或以长格式显示目录。(cd、ls -l)

对于文件来说,允许执行。(脚本需要x权限)

权限的数字表示法:r=4,w=2,x=1。

chmod xyz 文件或目录名:更改文件的权限。(xyz表示数字,x代表拥有者权限,y代表拥有组权限,z代表其他人权限)

权限的字符表示法:u(拥有者权限)、g(拥有组权限)、o(其他人权限)、a(全部,相当于ugo)。

chmod u=?,g=?,o=? 文件或目录名:更改文件权限。(?代表相应权限,若什么权限都没有,则使用- 代替。若拥有者和拥有组权限一样,则可以直接合并写成ug=?。若u、g、o都一样,则可以直接写成a=?)

此外,我们还可以针对u、g、o和a,增加或减少它们的某个权限。

chmod u+?,g-?,o+? 文件或目录名

ls -l 看到的第一列的最后面一位的 . 代表受selinux制约,如果关闭selinux则没有这个 . 。

永久关闭selinux需要进入配置文件 /etc/selinux/config。

chmod只对当前目录或文件生效,不会对子目录或文件产生影响。

chmod -R :递归更改权限。(更改当前目录以及所有子目录或子文件的权限)

chown命令(change owner)

chown 拥有者 目录或文件:更改目录或文件的拥有者。

chgrp 拥有组 目录或文件:更改目录或文件的拥有组。

chown 拥有者:拥有组 文件或目录:更改文件或目录的拥有者和拥有组。(同时修改)

chown :拥有组 文件或目录:更改文件或目录的拥有组。(相当于chgrp命令)

chown -R:递归更改目录及子目录的拥有者(组)。

只有root用户可以更改文件的拥有者和拥有组。

umask值

umask值用于设置用户在创建文件或目录时的默认权限,当我们在系统中创建目录或文件时,目录或文件所具有的默认权限就是由umask值决定的。

umask :查看当前用户的umask值。一共有四位,第1位用于定义特殊权限,我们一般不予考虑。与一般权限有关的是后3位数字,所以一般使用后三位。

umask 数字:设置umask值。(临时生效,若想永久有效,则需要修改/etc/bashrc)

目录的预设权限是777,文件的预设权限是666(文件一般没有x权限)。

root用户的默认umask值是022,所以root用户新建目录或者文件的默认权限为:

目录:rwxrwxrwx(777) - ----w--w-(022) = rwxr-xr-x(755)

文件:rw-rw-rw-(666) - ----w--w-(022) = rw-r--r--(644)

普通用户的默认umask值为002,所以普通用户新建目录或者文件的默认权限为:

目录:rwxrwxrwx(777) - -------w-(002) = rwxrwxr-x(775)

文件:rw-rw-rw-(666) - -------w-(002) = rw-rw-r--(664)

计算默认权限不能直接使用数字做减法,有时候可能会出错。比如说umask值为003,如果直接做减法,那么文件的默认权限为666-003=663。而通过真实计算得到:rw-rw-rw-(666) - -------wx(003) = rw-rw-r--(664),所以最好还是转化为权限位来计算默认权限而不是直接用数字做减法。

隐藏权限

chattr :设置文件或目录的隐藏属性。

lsattr :查看文件或目录的隐藏属性。

对于文件来说:

i权限:不能被修改、删除、移动(改名)、更改时间戳、更改普通权限,可以查看、复制。

chattr +i 文件名:给文件设置i权限。

chattr -i 文件名:去掉文件的i权限。

若一个文件被设置了i权限,则使用vi修改它之后无法保存退出,只能q!退出。但是当前目录下会自动生成一个同名的文件(后缀多了一个~),这是缓存文件,如果正常编辑之后wq保存退出,那么这个缓存文件就会覆盖原文件,这里无法正常保存退出,所以这个缓存文件就不会覆盖原文件。

a权限:只能追加文件内容,不能修改、删除、移动(改名)、更改普通权限,可以复制、查看、更改时间戳。

对于目录来说:

lsattr 目录名:查看当前目录底下所有子目录或子文件的隐藏权限。

lsattr -d 目录名:查看目录本身的隐藏权限。

i权限:不能删除(自己和子目录)、移动(改名)(自己和子目录)、在里面创建文件或目录、更改普通权限(自己)、更改时间戳(自己)。可以在子目录中创建文件或者编辑子文件的内容、更改子目录或文件的权限以及时间戳。

a权限:不能删除(自己和子目录)、移动(改名)(自己和子目录)、更改普通权限(自己)。可以在里面创建文件或目录、在子目录中创建文件或者编辑子文件的内容、更改子目录或文件的权限以及时间戳、更改自己的时间戳。

原文地址:http://blog.51cto.com/12272471/2092232

时间: 2024-10-02 11:34:22

chmod命令、chown命令、umask值和隐藏权限的相关文章

2.14 文件和目录权限chmod 2.15 更改所有者和所属组chown 2.16 umask 2.17 隐藏权限lsattr/chattr

2.14 文件和目录权限chmod 2.15 更改所有者和所属组chown 2.16 umask 2.17 隐藏权限lsattr/chattr 2.14 文件和目录权限chmod chmod 权限 r=4 w=2 x=1  rwx=7  rw=6 --x=1 rw-r--r--=644 rw-r-xr-x=655 chmod 这个.意味着这个文件受制于selinux 如果selinux 开启,创建的文件或者目录 第一列最后一位就会有个点 ,如果关闭selinux setenforce 0 暂时关

chmod和chown命令的用法

一.chown 命令 用途:更改文件的所有者或组.命令由单词change owner组合而成. 使用示例: 1,更改文件的所有者: chown jim program.c 文件 program.c 的所有者更改为 jim.作为所有者,jim 可以使用 chmod 命令允许或拒绝其他用户访问 program.c. 2,更改目录的所有者: chown -R john:build /tmp/src 将目录 /tmp/src 中所有文件的所有者和组更改为用户 john 和组 build - R 递归式地

linux命令--chmod命令&chgrp命令&chown命令

chmod命令是用来更改文件或者文件夹权限的命令 使用方法为 chmod [who] [+ | - | =] [mode] 文件名 其中mode的方法如下: 数字与字符对应关系如下: r=4,w=2,x=1若要rwx属性则4+2+1=7若要rw-属性则4+2=6:若要r-x属性则4+1=7. 其中who权限组的关系如下: u :目录或者文件的当前的用户g :目录或者文件的当前的群组o :除了目录或者文件的当前用户或群组之外的用户或者群组a :所有的用户及群组 例子1  表示给当前用户,当前群组增

chmod和chown命令详细用法

Linux下数字表示文件的操作权限(777,755,..) Linux下,查看某路径下用(ls -l)查看所有文件的详细属性列表时,会看到文件的操作权限,类似"drwxr-xr-x"的字符串. 这串字符可以分成4段理解,结构为"d + 文件所有者操作权限 + 文件所有者所在组操作权限 + 其余人的操作权限": 1,第一段:例子中字母"d",表示文件所在目录 2,第二段:例子中字符串"rwx",表示文件所有者对此文件的操作权限

chmod、chown、umask、chattr、lsattr命令举例

一. 文件和目录权限chmod -rw-r--r--  1 root    root        222 Jul 16 20:55 baidu.png drwxr-xr-x  2 root    root       4096 May 12 18:51 dir-2017-05-12 rw- r-x r-x (所有者) (所属组) (其他人) r:读 4 w:写 2 x:执行 1 rw-r-xr-x : 655 chmod 700 2.txt 更改文件和目录权限 权限后面的"." 是系

chmod,chgrp,chown命令 修改文件权限

参考地址:http://www.cnblogs.com/avril/archive/2010/03/23/1692809.html linux系统的文件和目录属性都有访问许可权限. 文件或目录的访问权限分为只读.只写和可执行三种.其中这三种权限还对用户进行区分,分别是文件或目录拥有者.同用户组用户及其他用户. 如: 一个文件或目录有十位属性,分别是: 1--文件是目录还是纯文件.若是目录的话此位为d,否则为- 2~4--文件拥有者的读.写及可执行权限.r为可读,w为可写,x为可执行. 5~7--

让你真正了解chmod和chown命令的用法

问题导读:1.chown的英语含义是什么?2.chmod英语含义是什么?3.chown改变的是什么权限?4.chmod改变的是什么权限? 这两个对于初学者很容易混肴,这里ch,其实是change的简写,它们的含义分别是:chown->change own改变所有者chmod->change mod(mod不知道是否为简写)改变文件权限 一.chown 命令用途:更改文件的所有者或组.命令由单词change owner组合而成.使用示例:1,更改文件的所有者: chown jim program

文件或目录权限chmod 更改所有者和所属组chown 什么是umask怎么使用 隐藏权限l

文件或目录权限chmodls -l 查看文件权限,从-后面数9位数代表的就是文件的权限,3个位一组,前三位代表所有者权限,中三位代表所属组权限,后三位代表其他用户权限·r表示可读,w表示可写,x表示可执行,-表示不可用·r代表数字4,w代表数字2,x代表数字1·例如权限是rw-r--r--权限就等于rw/r/r =4+2/4/4 =644·chmod 修改权限chmod+权限+文件名,就是修改权限例如现在shuaiyangyang这个文件的权限是755·我们把他修改为777chmod 777 s

linux更改文件所有者命令chown命令的使用困惑

[[email protected]:practice] ls -lrt total 12 -rwxrwxrwx 1 berry berry 84 Dec 16 10:20 f1.txt -rwxrwxrwx 1 berry berry 206 Dec 16 10:51 f2.txt -rwxrwxrwx 1 berry berry 372 Dec 16 14:26 f3.txt [[email protected]:practice] chown guest:guest f1.txt chow