在 Ubuntu Linux 中用源码文件安装软件时常常都会用到chmod命令来更改文件的权限使其在安装时有执行的权限。因为 Ubuntu Linux 默认不能用root帐户来登陆因此在用chmod命令来更改文件的权限时每每须要结合sudo命令来使用,若是你对sudo命令还不太了解,请先看看本站 的《sudo命令详解》 php
chmod linux
Linux/Ubuntu 系统中文件调用的权限分为三级:文件拥有者(u)、群组(g)、其余(o)。用chmod就能够更改文件的权限。chmod是一个至关灵活的命令,对同一个文件的权限的修改能够用多种风格的命令格式来实现。 ubuntu
◆方式一: ui
语法格式: spa
chmod [-vR] mode 文件名 |
参数说明: .net
mode 权限设置字串,格式为[ugoa] [+-=] [rwx] code
u 表示文件的拥有者 server
g 表示与此文件拥有者属于一个组群的人 对象
o 表示其余人 递归
a 表示包含以上三者即文件拥有者(u)、群组(g)、其余(o)
+ 表示增长权限
- 表示取消权限
= 表示惟一设置权限
r 表示有读取的权限
w 表示有写入的权限
x 表示有执行的权限
-v 显示权限改变的详细资料
-R 表示对当前目录下的全部文件和子目录进行相同的权限更改
例:
咱们要将当前目录下ownlinux这个文件的权限修为全部用户拥有该文件的读取、写入、执行的权限。在这里就须要结合sudo命令来使用,若是你对sudo命令还不太了解,请先看看本站的《sudo命令详解》
ownlinux@server :/var/www$ sudo chmod a+rwx ownlinux [sudo] password for ownlinux: (此时输入你的密码) |
或者使用
ownlinux@server :/var/www$ sudo chmod ugo+rwx ownlinux [sudo] password for ownlinux: (此时输入你的密码) |
命令不同,但执行后的效果是同样的。
◆方式二:
语法格式:
chmod [-vR] [No] 文件名 |
参数说明:
No 三位表明相应权限的数字
-v 显示权限改变的详细资料
-R 表示对当前目录下的全部文件和子目录进行相同的权限更改
可能这种方式对于初学者来讲有必定的难度,但这种方法学会后在更改文件权限就变得很是的简单。相信经过个人介绍你们会掌握种方法的:)
首先了解一下读取(r)、写入(w)、执行(x)相应的数字编号,以下图所示
若是你记住了上图所示的数字和对应的权限就往下边看
刚才已经说过了,[No]参数 是三位表明相应权限的数字。从左向右,第一位数学表明文件拥有者(u)的权限、群组(g)的权限、其余(o)的权限。每个数字就对应该级用户拥有的权限即为rwx相应的数字之和。这样说可能你们不是很明白,我画了一张表帮助你们了解
如上图能够看出来若是是全部用户拥有该文件的读取、写入、执行的权限就是拥有者(u)的权限(4+2+1=7)群组(g)的权限(4+2+1=7) 其余(o)的权限(4+2+1=7即为777。注意:若是没有读取的权限则”r”相应的数字编号就为”0″,写入(w)、执行(x)同理。
例:
就用刚才方式一的例子,咱们要将当前目录下ownlinux这个文件的权限修为全部用户拥有该文件的读取(r)、写入(w)、执行(x)的权限。回顾一下方式一的命令格式。
ownlinux@server :/var/www$ sudo chmod a+rwx ownlinux [sudo] password for ownlinux: (此时输入你的密码) |
方式二的命令
ownlinux@server :/var/www$ sudo chmod 777 ownlinux [sudo] password for ownlinux: (此时输入你的密码) |
能够看出使用方式二的命令格式简洁明了
若是要让当前目录下ownlinux这个文件的权限修为该文件的拥有者(u)有该文件的读取(r)、写入(w)、执行(x)的权限,群组(g)和其余(o)的用户只有读取(r)和执行(x)的权限,运行如下命令:
ownlinux@server :/var/www$ sudo chmod 755 ownlinux [sudo] password for ownlinux: (此时输入你的密码) |
相信经过个人介绍你们都已经对chmod这个命令有必定的了解了吧。我以为方式二的命令风格一但了解了就很容易掌握,并且方式二的命令风格简单明了。
感谢来自Ownlinux.cn:Linux/Ubuntu chmod命令详解使用格式和方法的稿件
以上为改变用户
改变群组的命令是
超级用户
chgrp [选项] 组 文件 或 chgrp [选项] --reference=参考文件 文件
将每一个<文件>的所属组设定为<组>。
-c, --changes :像 --verbose,但只在有更改时才显示结果。 --dereference:会影响符号连接所指示的对象,而非符号连接自己。 -h, --no-dereference:会影响符号连接自己,而非符号连接所指示的目的地(当系统支持更改符号连接的全部者,此选项才有效)。 -f, --silent, --quiet:去除大部分的错误信息。 --reference=参考文件:使用<参考文件>的所属组,而非指定的<组>。 -R, --recursive:递归处理全部的文件及子目录。 -v, --verbose:处理任何文件都会显示信息。
该命令改变指定指定文件所属的用户组。其中group能够是用户组ID,也能够是/etc/group文件中用户组的组名。<br />文件名是以空格分开的要改变属组的文件列表,支持通配符。若是用户不是该文件的属主或超级用户,则不能改变该文件的组。
改变/opt/local /book/及其子目录下的全部文件的属组为book,命令以下: $ chgrp - R book /opt/local /book
最后是改变文件用户
(2) chown 功能:改变文件拥有者 格式:chown [参数]<用户名><文件名> 参数:-R:递归改变目录的拥有者 -f:不显示拥有者的详细信息 实例:1)# chown user f1 2)# chown -R user1 /d1 (3)umask 功能:设置权限掩码(决定新建文件的权限) 格式:umask 权限值(超级用户默认为022,普通用户默认为002) 实例:# umask 044 计算公式:目录:777-umask