ls -l
rwxrwxrwx:
先匹配属主,再匹配属组,最后如果都不满足,就是other权限
r: readable 读
w: writable 写
x: excutable 执行
-------------------------------------------------
对于文件来言:
r:可获取文件的数据
w:可修改文件的数据
x:可将此文件发起运行为进程,默认情况下,文件不应该
有执行权限
---------------------------------------------------
对于目录来言:
r:可以使用ls来获取其下的所有文件列表,但是不能获取
详细信息(ls -l)
w:可修改此目录下的文件列表,即创建或者删除文件
x:可cd至此目录中,且可使用ls -l 来获取所有文件的详
细属性信息,一般默认都有
mode:rwxrwxrwx
ownership: user, group
权限组合机制:
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
权限管理命令
chmod:用户只能修改属主为自己的那些文件的权限
---------------------------------------
三类用户:
u:属主
g:属组
o:其他
a:所有
----------------------------------------
chmod [OPTION]... MODE[,MODE]... FILE...
(1) MODE表示法:
赋权表示法:直接操作一类用户的所有权限位
u=,g=,o=
u=
ug=
……
授权表示法:直接操作一类用户的一个权限位
g+,g-
u+,u-
o+,o-
a+,a-(某些情况下也可以直接省略a,但是有
时候可能会出错)
[root@localhost ~]# chmod u-x fstab
[root@localhost ~]# chmod ug+x fstab
[root@localhost ~]# chmod u=r fstab
[root@localhost ~]# chmod u-x,g-r fstab
chmod [OPTION]... OCTAL-MODE FILE...
八进制权限必须三部分都要写全
[root@localhost ~]# chmod 660 fstab
[root@localhost ~]# ll fstab
-rw-rw---- 1 root root 501 6月 19 14:06 fstab
chmod [OPTION]... --reference=RFILE FILE...
引用型修改
[root@localhost ~]# ls -l /var/log/messages
-rw------- 1 root root 1214142 6月 19 14:20 /var/log/messages
[root@localhost ~]# chmod --reference=/var/log/messages fstab
[root@localhost ~]# ll fstab
-rw------- 1 root root 501 6月 19 14:06 fstab
--------------------------------------
选项:
-R,--recursive:递归修改,一般用在授权表示法中用,用来修改目录的权
限时,同时适用于其下的文件
chown:仅管理员能够使用
------------------------------------
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
------------------------------------
选项:
-R,--recursive:递归修改
[root@localhost ~]# chown -R myroot skel/
[root@localhost ~]# chown -R myroot:mygrp skel/
[root@localhost ~]# chown -R :mygrp skel/
[root@localhost ~]# chown -R myroot.mygrp skel/
chgrp:更改属组,仅管理员能够使用
chgrp - change group ownership
思考题
用户对目录有写权限,但对目录下的文件没有写权限时,能否修改此文件内容?能否删除此文件?
第一个不能:
----------------- 目录的w:
----------------- w:可修改此目录下的文件列表,即创建或者删除文件
第二个可以
umask:文件权限的反向掩码,遮罩码
文件创建时的默认权限
666-umask
文件默认不能拥有执行权限,如果减得的结果中有执行权
限,则将其+1
目录创建时的默认权限
777-umask
查看与修改umask(仅对当前shell进程有效)
[root@localhost ~]# umask
0022
[root@localhost ~]# umask 027
install:不能复制目录
install - copy files and set attributes
------------------------
单源复制
install [OPTION]... [-T] SOURCE DEST
多源复制
install [OPTION]... SOURCE... DIRECTORY
多源复制
install [OPTION]... -t DIRECTORY SOURCE...
创建目录
install [OPTION]... -d DIRECTORY...
------------------------
-m,--mode=MODE:设定目标文件权限,如果不指定,默认为755
-o,--owner=OWNER:设定目标文件属主
-g,--group=GROUP:设定目标文件的属组
mktemp:
mktemp - create a temporary file or directory
-------------
mktemp [OPTION]... [TEMPLATE]
[root@localhost ~]# mktemp /tmp/mytmp.XXXX
/tmp/mytmp.4uNv
[root@localhost ~]# mktemp /tmp/mytmp.XXXX
/tmp/mytmp.YaDm
----------------
常用选项:
-d:创建临时目录
-u:假创建,只是输出创建后的名称,而不是真正创建一个临时文件
-u, --dry-run
do not create anything; merely print a name (unsafe)
注意:mktemp会将创建的临时文件名直接返回,因此,可直接通过命令引用保存起来