Linux | 权限 | umask和chmod

573 阅读2分钟

权限掩码

文件的默认权限为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


参考:Linux中umask深入理解 - 魏传柳


查看权限

ls -la全部文件

file

ls -ld全部文件夹

ls -lR递归

ls -ltr时间小到大

ls -lSr大小小到大


更新权限

change命令

  • 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备注
rread42^2可读
wwrite22^1可写
xexecute12^0可执行(文件夹可进入)

目标备注
uowner user
gowner group
oothers
aa相当于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 file4设置了设置用户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

参考:chmod - 维基百科,自由的百科全书


踩过的坑

  • cp复制内容包括权限
  • cdmod 600 ~/.ssh/authorized_keys 配置免密登陆时,该文件权限必须为600 超级管理员root uid=0 gid=0 userID groupID

本文由博客一文多发平台 OpenWrite 发布!