1 权限管理命令(chmod)
change the permissions mode of files
命令所在路径:
/bin/chmod
语法:
chmod [{ugoa}{+-=}{rwx}] [文件或目录]
// a表示all,给所有人同时多个授权,使用
,
隔开
[mode=421] [文件或目录]
权限的数字表示:r--4,w--2,x--1
-R
:递归修改 有时候改了父目录,子目录权限是不变的,这个时候可以递归修改
rwx
权限解析:
对于文件来说
- r:读权限
cat/more/less/head/tail
- w:写权限
vim
- x:执行
script command
对于目录来说:
- r:读权限,可以列出目录中的内容
ls
- w:可以在目录中创建、删除文件
touch/mkdir/rmdir/rm
- 注意:如果目录权限是可以创建、删除,即便目录下得文件权限只读,也是可以在该目录下创建、删除该文件的。
- 对文件有写权限,只是可以修改文件的内容,并不是删除该文件
- x:可以进入目录
所以Linux中,rx权限基本是同时存在的,因为查看目录,必须要先能进去目录
4.3.2 其他权限管理命令
1. chown(改变文件或目录的所有者)
语法:chown [用户] [文件或者目录]
chown xinghy test.txt
:改变文件test.txt
的所有者为xinghy
- 改变文件所有者,只有root用户有这样的操作
chown [用户]:[所属组] [文件或者目录]
2. chgrp(改变所属组)
chgrp [用户组] [文件或目录]
3. umask(显示、设置文件的缺省权限)
umask [-S]
:-S
以rwx形式显示新建文件缺省权限
- 但是,用touch创建的文件却少了x执行权限,在Linux默认中,所有新建的文件权限,都不能有可执行权限
因为大多数的病毒、木马都是可执行的。基于安全性考虑,默认新建的文件,是不能具有可执行权限的。而目录的可执行权限,是指可以进入到该目录中。
- 直接使用
umask
0:特殊权限
022:— -w- -w-
其实不使用-S,Linux是使用逻辑异或的方式来计算出来权限的。
777:rwx rwx rwx
022: — -w- -w-
-------------------------
755: rwx r-x r-x 目录
- 如果想要更改默认权限,就用异或运算,算出来umask这个值就行 ,比如运算结果是077,那么直接
umask 077
即可