权限这管理命令:chmod
所在路径:/bin/chmod
执行权限:所有用户
功能描述:改变文件或者目录权限
用户分成三类:
u:user所有者
g:group所属组
o:other其他人
权限也分成三类:
r:read读
w:write写
x:exe执行
权限一般有9个字符
例如:
rw- r-- r--:
前三个代表所有者(user)的权限,在这里表示所有者读写的权限
接着代表所属组(group)的权限,在这里表示所属组读的权限
最后代表其他人的权限,在这里表示其他人有读的权限。
更改权限只有所有者和管理员root才能更改
如果想给所有者加上执行的权限,执行命令(用root或者所有者进入):
chomd u+s 文件名
如果想去掉所属组的读的权限:
chomd g-r 文件名
还可以用等号授予权限:
chomd g=rwx文件名
加号授予权限,减号去掉权限,等号直接授予权限不用考虑之前的权限。
可以同时执行管理权限:
chomd u-r,o+w文件名
权限用数字表示:
r---4
w--2
x---1
rwxrw-r--:
7 6 4
532代表:r-x-wx-w-
用数字改变权限:
chmod 640 文件名
这样就将文件权限改成了rw-r-----
-R:递归修改
如果想改变权限并且目录下所有权限都改变用R
chmod -R 777 /tmp/a
将a目录下所有权限更改为rwxrwxrwx例如存在/tmp/a/b
此时b的权限也为rwxrwxrwx
删除文件是对这个文件所在的目录有w权限才能删除
rwx真正的属性
文件 目录
r 可以查看文件内容 可以列出目录的内容
w 可以修改文件内容 可以在目录中创建、删除文件
X 可以执行文件 可以进入目录
rx一般成对出现
权限管理命令:chown
所在路径:/bin/chown
执行权限:所有用户
功能描述:改变文件或者目录的所有者
例子:$ chown huangpingyi helloworld
改变文件helloworld的权限为huangpingyi
chmod只能是root或者所有者,而chown只有root可以操作
例如 hello文件是由huangpingyi创建,那么hello文件的所有者。如果想改变它的所有者用huangpingyi更改会报错。只能用管理员(root)更改。
权限管理命令:chgrp
所在路径:/bin/chgrp
执行权限:所有用户
功能描述:改变文件或者目录的所有组
范例:$ chgrp friends hello
改变文件hello的所属组为friends
权限管理命令:umask
所在路径:Shell内置命令
执行权限:所有用户
功能描述:显示,设置文件的缺省(默认)权限
范例:
比如 hello文件的权限为rwxr-xr-x
在hello路径下,使用:
$umask -S
就会显示:
u=rwx,g=rx,o=rx
在hello文件路径下创建目录:mkdir lamp
就会看见
ls -ld lamp
出现的权限会是:
rwxr-xr-x
和umask -S看见的结果一样的
再在这个路径下新建一个文本文件:
touch haha
查看文本文件的权限就会发现权限为:
rw-r--r--
缺省创建的文件都缺少x权限
在liunx新建文件都会把可执行权限去掉
直接执行umask
出现0022
0代表特殊权限
022代表正常权限
用777-022就得到真正的权限755
用umask更改权限:
直接执行:umask 023
执行umask -S查看得到我们想要的权限:
u=rwx,g=rx,o=r
小结:linux默认权限755,在新建一个文件的时候会有个默认的权限,这个权限是通过umask来定义的缺省的文件,我们可以用chmod来改变这个文件的权限(只有管理员和root),chown来改变文件的所有者(只有root),chgrp来改变文件所属组。