权限查看命令
ls -l: rwxrwxrwx
- 左三位: 定义user(owner)的权限
- 中三位: 定义group的权限
- 右三位: 定义other的权限
进程对文件的访问权限应用模型:
进程的属主与文件的属主是否相同:如果相同,则应用属主权限,否则,则检查进程的属主是否属于文件的属组,如果是,则应用属组权限: 否则,就只能应用other的权限
权限
r:read, w:write, x:excute
文件:
r: 可获取文件的数据
w: 可修改文件的数据
x: 可将此文件运行为进程
目录:
r:可使用ls命令获取其下所有文件的列表
w:可修改此目录下的文件列表,即创建或删除文件
x:可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息
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
练习: rw-rw-r--, rwxrwx-x, rwxr-x---, rw-------
权限管理命令
chmod命令: 用户仅能修改属主为自己的文件权限
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...
三类用户
u: 属主
g: 属组
o: 其它
a: 所有
(1) chmod [OPTION]... MODE[,MODE]... FILE...
MODE表示法:
赋权表示法: 直接操作一类用户的所有权限位rwx:
u= g= o= a=
授权表示法:直接操作一类用户的一个权限位r,w,x: u+, u-, g+, g-, o+,o-
+w只对属主有效
八进制权限为:777, 666 (一定有三位)
3)引用权限: chmod [OPTION]... --reference = RFILE FILE...
选项:
-R, --recursive:递归
chmod -R go= skel/
从属关系管理命令: chown chgrp
chown -R root.root /file
chown -R --reference=/tmp/moosefs/ /tmp/skel/
注意:改属主属组仅管理员可改
umask 文件权限反向掩码
文件:666-umask
目录:777-umask
文件为666去减表示文件默认不能有执行权限,如果减了后得出的结果有执行权限,则需要加1
umask 027 umask 023
666-027=640 666-023=644
777-027=750 666-027=640
umask仅对当前shell进程有效
install命令:
install命令用来复制文件同时设置文件属性
install [OPTION]... SOURCE DEST (1st format) 单源复制
install [OPTION]... SOURCE... DIRECTORY (2nd format) 多源复制
install -d [OPTION]... DIRECTORY... (3rd format) 创建目录
常用选项:
-m: 设置权限
-o: 设置属主
-g:设置属组
install -d hello 直接创建一个hello目录, 只有-d选项来创建目录
mktemp
创建临时目录
mktemp [OPTION] name.XXXX XXXX为随机位数,至少三个
myfile=$(mktemp /tmp/mytmp.xxxxxxxx)
echo $myfile
结果: /tmp/mytmp.GTMDDASD
常用选项:
-d: 创建目录
-u: 看上去可以,但其实没创建, 用来做测试用
mktmp会将创建的临时文件名直接返回,因此,可直接通过命令引用保存起来