linux权限及其归属管理
linux权限及归属管理_权限管理

  1. 第一位:-/d:确认是文件/目录
  2. 后面都是三位一体:属主,属组,其他人,权限``
  3. 访问权限:
    (1)读权限r:允许查看文件内容
    (2)写权限w:允许修改文件内容
    (2)可执行x:允许运行程序(一般需要自己手动添加)
  4. ls -l 名字:查看归属,前面属主,后面属组
  5. 前面的字母及七进制表示:
    linux权限及归属管理_权限管理_02

755是目录默认权限
644是文件默认权限 (x权限一般只能手动)
文件和目录的满权限都是777

命令

  1. 设置或目录权限chmod
  • 格式:
    chomd -R ugoa +-=rwx 参数
    chomd -R nnn 参数
  • 选项:
    -R:表示以递归的方式设置目录及其下目录及文件的权限
    u:属主
    g:属组
    o:其他人
    a:所有人
    +:添加
    -:删除
    =:重置
chmod ugo+r file1.txt #将档案 file1.txt 设为所有人皆可读取
chmod ug+w,o-w file1.txt file2.txt  #将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入
#此外chmod也可以用数字来表示权限如 chmod 777 file
#语法为:chmod abc file
#其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
#若要rwx属性则4+2+1=7;
#若要rw-属性则4+2=6;
#若要r-x属性则4+1=7。
#范例:
chmod a=rwx file 
chmod 777 file 
chmod ug=rwx,o=x file 
chmod 771 file 
#效果相同
#若用chmod 4755 filename可使此程序具有root的权限.
#指令名称 : chown 
#使用权限 : root 
#使用方式 : 
chmod [-cfhvR] [--help] [--version] user[] file... 
  1. chown命令:chown将指定文件的拥有者改为指定的用户或组
  • 格式
    chown [选项]... [所有者][:[组]] 文件...
  • 命令参数
    -c:显示更改部分信息
chown root:nginx test/ #将test/更改为属主root,属组nginx
chown root: test/ #将test/全部更改为root
chown :root #将test/属组更改为root 
  1. umask命令:默认访问权限
    对于文件和目录来说, 最大的权限其实都是777,但是执行权限对于文件来说,很可怕,而对目录来说执行权限是个基本权限。所以默认目录的最大权限是777,而文件的默认最大权限就是666。
    对于root用户的umask=022这个来说,777权限二进制码就是(111)(111)(111),022权限二进制码为(000)(010)(010)。
  • 所有权限二进制的1:代表有这个权限
  • umask二进制1:代表要去掉这个权限,不管你原来有没有权限,你最终一定没有这个权限。
  • umask二进制的0:代表我不关心对应位的权限,你原来有权限就有权限,没有就没有, 我不影响你。
    一般为0000四位,需要改变的就是后面三位,表示rwx
umask 777
0777
  1. ACL权限设置:
    一个针对文件/目录的访问控制列表。它在UGO权限管理的基础上为文件系统提供一个额外的、更灵活的权限管理机制。
  • 针对用户和组设置权限
sudo tune2fs -l /dev/sda1 |grep "Default mount options:"
Default mount options:                 user_xattr    acl
  • 我们可以使用setfacl和getfacl命令来设置或观察文件/目录的acl权限。
    setfacl:
setfacl [-bkRd] [{-m|-x} acl参数] 文件/目录名
-m :配置后面的 acl 参数给文件/目录使用,不可与 -x 合用;
-x :删除后续的 acl 参数,不可与 -m 合用;
-b :移除所有的 ACL 配置参数;
-k :移除默认的 ACL 参数;
-R :递归配置 acl;
-d :配置“默认 acl 参数”,只对目录有效,在该目录新建的数据会引用此默认值;

getfacl:查看目录或文件的信息

getfacl 文件/目录名
getfacl -x 删除权限

linux权限及归属管理_递归_03

  • 使用chmod暂时提高权限
    chmod 777 文件 暂时提高权限,
    其他用户也可以使用权限对非本用户内容进行操作