Linux 下 chmod 777 修改权限

Posted JFS_Study

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 下 chmod 777 修改权限相关的知识,希望对你有一定的参考价值。

一、rwxrwxrwx 777

Unix/Linux 的操作系统,每个文件(文件夹也被看作是文件)都按读、写、运行设定权限。例如用ls -l命令列文件表时,得到如下输出:
-rw-r–r-- 1 mchopin users 2254 2006-05-20 13:47 uu.htm

  • 从第二个字符起rw-是说用户 mchopin 有读、写权限,没有运行权限。
  • 接着的r–表示用户组 users 只有读权限,没有运行权限。
  • 最后的r–指其他人 others 只有读权限,没有写和运行权限。

这是系统默认设置,可以改写 uu.htm,同组的人和其他人只有权读,没人有权运行,因为只是一个 html 文件,不必运行。这在 Novell 的 directory services 之前很先进。
读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1。所以,上面的例子中的rw-r--r--用数字表示成644。
反过来说 777 就是 rwxrwxrwx,意思是该登录用户(可以用命令id查看)所在的组和其他人都有最高权限。

chmod o-r uu.htm改权限,o-r 是 others 的权限中减掉读。结果是
-rw-r----- 1 bu users 2254 2006-05-20 13:47 uu.htm
如果用chmod 777 uu.htm,结果是
-rwxrwxrwx 1 bu users 2254 2006-05-20 13:47 uu.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:显示版本

三、示例

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

①将档案 file.txt 设为所有人皆可读取chmod ugo+r file.txt
②将档案 file.txt 设为所有人皆可读取chmod a+r file.txt
③将档案 file.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入chmod ug+w,o-w file.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的权限。
chmod a=rwx filechmod 777 file效果相同。
chmod ug=rwx,o=x filechmod 771 file效果相同。
⑩若用chmod 4755 filename可使此程式具有 root 的权限。

以上是关于Linux 下 chmod 777 修改权限的主要内容,如果未能解决你的问题,请参考以下文章

Linux 下 chmod 777 修改权限

linux修改文件及文件夹读写权限

Linux权限详解(chmod、600、644、666、700、711、755、777、4755、6755、7755)

linux下修改文件夹权限提示chmod: 更改xx 的权限: 只读文件系统

chmod 777 修改权限

Linux无法增加执行权限,使用chmod 777 XXX后无效