Linux用户组管理及用户权限4
权限管理:
ls -l
rwxrwxrwx:
左三位:定义user(owner)的权限
中三位:定义group的权限
右三位:定义other的权限
进程安全上下文:
进程对文件的访问权限应用模型:
进程的属主与文件的属主是否相同,如果相同,则应用属主权限;否则,检查进程的属主是否属于文件的属组,如果是,则应用属组权限;如果不是,就只能应用other的权限
权限有:
r:read 读取
w:write 写入
x:excute 执行
对文件的权限:
r:可获取文件的数据
w:可修改文件的数据
x:可将此文件运行为进程
对目录的权限:
r:可使用ls命令获取其上下的所有文件列表
w:可修改此目录下的文件列表,即可创建或删除文件
x:可cd至此目录中,把这个目录作为工作目录,且可使用ls -l 来获取所有文件的详细属性信息
mode:rwxrwxrwx
ownership:user,group
权限组合机制:
--- 000 0
--x 001 1
-w- 010 2
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
权限管理命令:
chmod命令:
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...
三类用户:
u:属主
g:属组
o:其它
a:所有
MODE 表示法有赋权表示法和授权表示法
赋权表示法:直接操作一类用户的所有权限位rwx
u=
g=
o=
a=
授权表示法:直接操作一类用户的一个权限位r,w,x
u+ u-
g+ g-
o+ o-
a+ a-
从属关系管理命令:chown,chgrp
chown命令:
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
选项:
-R 递归更改属主,属组
可同时修改属主属组,chown root:group File
如果写成 chown :group File,表示只更改属组,不更改属主
chgrp命令:
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
思考:用户对目录有写权限,但对目录下的文件没有写权限,能否修改此文件内容?能否删除此文件?
不可以修改文件内容,但可以删除文件
注意:仅管理员权限可以更改属主、属组权限
umask:文件的权限反向掩码,遮罩码
创建文件时:
666-umask
创建目录时:
777-umask
注意:之所以文件用666去减,表示文件默认不能拥有执行权限,如果减得的结果中有执行权限,则需要将其加1
umask:023
666-023=644
777-023=754
umask命令:
umask:查看当前umask
umask MASK:设置umask
注意:此类设定仅对当前shell进程有效
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命令用于建立暂存文件。
mktemp建立的一个暂存文件,供shell script使用
mktemp - create a temporary file or directory
Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive 'X's in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.
mktemp [OPTION]... [TEMPLATE]
常用选项:
-d, --directory 创建临时目录,要求目录名也要有三个xxx以上
参数:
-q 执行时若发生错误,不会显示任何信息。
-u 暂存文件会在mktemp结束前先行删除。
[文件名参数] 文件名参数必须是以"自订名称.XXXXXX"的格式
注意:mktemp会将创建的临时文件名直接返回,因此,可直接通过命令引用保存起来