权限管理番外(1)
1、chmod(change the permissions mode of a file)改变文件或目录权限
- chmod [{ugo}{+-=}{rwx}] [文件或目录]
- chmod [mode=421] [文件或目录]番外(2)
- chmod u+x file **增加权限
- chmod g-r file **减少权限
- chmod o=rw file **授权,不管之前是什么权限,现在就是rw
- chmod 754 file
2、chown(change file ownership) 改变文件或目录的所有者
- chown [用户] [文件或目录]
- chown nobody file
3、chgrp(change file group ownership)改变文件或目录的所属组
- chgrp [用户组] [文件或目录]
- chgrp adm file
4、umask 显示、设置文件的缺省权限番外(3)
- umask -S 以rwx形式显示新建文件或目录缺省权限
- umask
- umask -S
番外
**(1)文件和目录的权限具体指的是什么(或者说不同的权限代表我们可以做什么样的操作)?
- | r 读权限 | w 写权限 | x 执行权限 |
---|---|---|---|
文件 | cat、more、head、tail | echo、vi 只代表可修改,并不包括创建删除 | 执行命令、脚本等 |
目录 | ls | touch、mkdir、rm 可以在目录里创建删除文件 | cd |
思考:目录 dir 的权限为 drwxr-xr-x,文件 file 的权限为 -rwxrwxrwx,那么所属组 g 是否可以删除文件 file?
答案:不能,不知道为什么的话就好好琢磨一下上面的表格吧
(2)chmod 754 file
- 一个数字代表一个角色
- r=4;w=2;x=1,计算机的思维
(3)umask
- 创建目录的默认权限 0022
- 0-特殊权限位番外(4)
- 022-用户权限位,权限掩码值(也就是umask是从权限中“拿走”相应的位)
权限掩码值计算:
777 - 022 = 755
- 创建文件的默认权限 0022
- 0-特殊权限位
- 022-用户权限位,权限掩码值
权限掩码值计算:
666 - 022 = 644
- 为什么掩码值相同权限不同?
- linux权限规则:
缺省创建的文件不能授予可执行x权限,可屏蔽木马病毒等 - 常用umask值与权限
- linux权限规则:
umask值 | 文件 | 目录 |
---|---|---|
022 | 644 | 755 |
027 | 640 | 750 |
002 | 664 | 775 |
006 | 660 | 771 |
007 | 660 | 770 |
(4)特殊权限位
有以下几种权限:
解析 | SetUID | SetGID | 黏着位t |
---|---|---|---|
使用 | u+s | g+s | o+t |
代表数值 | 4 | 2 | 1 |
含义 | 若一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序所有者的身份(root)执行 | 所属组 | 如果一个权限为777的目录设置了黏着位,每个用户都可以在这个目录下创建文件,但是只可以删除自己是所有者的文件 |