目录
权限掩码
文件的默认权限为0666
文件夹的默认权限为0777
掩码的作用是用户在创建文件/文件夹时从文件的默认权限中去除掩码中的权限
umask
输出0002
umask -S
输出u=rwx,g=rwx,o=rx
umask 0111
临时生效,作用于当前shell后续新建的文件/文件夹
echo “umask 0111” >> /etc/profile
在shell启动之初执行umask 0111
大多数的Linux系统的默认掩码为022
创建文件的权限为:0666-0022=0644
创建文件夹的权限为:0777-0022=0755
查看权限
ls -la
全部文件
ls -ld
全部文件夹
ls -lR
递归
ls -ltr
时间小到大
ls -lSr
大小小到大
更新权限
chgrp [-hR] <group> <file>
改变文件所属组chown [-hR] <owner>[:<group>] <file>
改变文件所属用户chmod <mode>[,<mode>]* <file list>
、chmod <octal-mode> <file list>
改变文件权限命令是change mode
的缩写,<file list>=<file>[ <file>]*
标志 | 全称 | 值 | 2^n | 备注 |
---|---|---|---|---|
r | read | 4 | 2^2 | 可读 |
w | write | 2 | 2^1 | 可写 |
x | execute | 1 | 2^0 | 可执行(文件夹可进入) |
目标 | 备注 |
---|---|
u | owner user |
g | owner group |
o | others |
a | a相当于ugo |
命令 | 说明 |
---|---|
chmod a+r file | 给file的所有用户增加读权限 |
chmod a-x file | 删除file的所有用户的执行权限 |
chmod a+rw file | 给file的所有用户增加读写权限 |
chmod +rwx file | 给file的所有用户增加读写执行权限 |
chmod u=rw,go= file | 对file的所有者设置读写权限,清空该用户组和其他用户对file的所有权限(空格代表无权限) |
chmod -R u+r,go-r docs | 对目录docs和其子目录层次结构中的所有文件给用户增加读权限,而对用户组和其他用户删除读权限 |
chmod 664 file | 对file的所有者和用户组设置读写权限, 为其其他用户设置读权限 |
chmod 0755 file | 相当于u=rwx (4+2+1),go=rx (4+1 & 4+1)。0 没有特殊模式 |
chmod 4755 file | 4设置了设置用户ID位,剩下的相当于 u=rwx (4+2+1),go=rx (4+1 & 4+1) |
find path/ -type d -exec chmod a-x {} ; | 删除可执行权限对path/以及其所有的目录(不包括文件)的所有用户,使用‘-type f'匹配文件 |
find path/ -type d -exec chmod a+x {} ; | 允许所有用户浏览或通过目录path |
踩过的坑
cp
复制内容包括权限chmod 600 .ssh; chmod 600 .ssh/authorized_keys
配置免密登陆时,文件夹权限为700,文件权限必须为600- 超级管理员root uid=0 gid=0 userID groupID 命令
id <user>
可以查看gid、uid