Linux系统文件与目录权限管理

时间:2023-03-09 00:13:59
Linux系统文件与目录权限管理

Linux文件目录权限管理

一、Linux文件属性及权限

1、Linux文件及目录权限及属性说明

(1)权限及属性说明

Linux系统文件与目录权限管理

(2)文件权限说明

Linux系统文件与目录权限管理

  三种权限说明:r 读  read

   w 写  write

    x 执行 excute

2、修改文件属主及属组

(1)利用chown修改文件的属主及属组

用法:

    chown 用户名 dayi123 修改文件的属主

chown 用户名:组名 dayi123  修改文件的属主和属组

chown 用户名.组名 dayi123  修改文件的属主和属组

chown       .组名 dayi123  修改文件的属组

chown       :组名 dayi123  修改文件的属组

参数:-R 用户名:组名 目录 递归修改目录的权限以及目录下所有的文件的权限

例:修改文件dayi123的属主为test,属组为dayi123

chown test:dayi123 dayi123

(2)使用chgrp修改文件的属组

例:修改文件dayi123的属组为test

chgrp test dayi123

3、修改文件及目录的权限

(1)文件与目录的权限说明

1)文件权限:

r去看文件里面内容的权限

w 可以修改文件的内容

x 二进制程序以及脚本需要发起系统调用 去运行一个结果2)目录权限:

2)目录权限

r 是否可以查看目录里面的内容  有r权限的话 可以使用ls -l

w 在目录里面是否可以创建文件或者目录和是否可以删除文件或者目录

x 进入目录权限

(2)、改变文件或目录的权限:

1)用法:chown [参数] 权限 文件或目录

常用参数:-R:递归处理,将指定目录下的所有文件及子目录一并处理;

2)利用数字的形式改变文件权限:

三种权限所代表的的数字分别为:r:4 w:2 x:1

修改方法为:chmod xxx(分别代表三种权限值) 文件名称或者目录名称

例:修改文件dayi123的权限为rwxr-xr-x

chmod 755 dayi123

例:修改文件dayi123的权限为rwx------

chmod 700 dayi123

3)用符号改变文件权限

符号类型改变文件权限,执行格式:

命令

用户

改变权限符号

权限

chmod

u(属主)

+

-

=

r

w

x

文件或目录

g (属组)

o(其他人)

a(所有人)

例:设置文件dayi123.txt权限为rwxrwxrwx

chmod a=rwx dayi123.txt

例:将文件dayi123.txt权限设置为rwxr-xr-x

chmod g-w,o-w dayi123.txt

例:将文件install.log权限设置为rwxr-xr—

chmod a=rwx,g=rx,o=r install.log

例:去掉文件install.log属组的执行权限及其他人的读权限

chmod g-x,a-r install.log

(3)文件权限掩码umask

1)作用:设置限制新建文件权限的掩码。当新文件被创建时,其最初的权限由文件创建掩码决定。

2)用法: umask  查看系统默认的掩码

umask  以字符的形式显示当前系统的掩码

umask u=, g=w, o=rwx  设置掩码为027(与实际权限相反)临时生效,若需要永久生效需要修改配置文件/etc/bashrc 文件(全局生效) ~/.bashrc (仅对当前用户生效)

二、Linux文件系统的特殊权限SUID、SGID、SBIT

1、SUID权限

(1)功能:

1)只有可执行的二进制程序才能设定SUID权限

2)命令执行者要对该程序拥有x(执行)的权限

3)命令执行者在执行该程序时获得该程序文件属主的身份

4)setuid权限只在该程序执行的过程中有效

(2)系统中常见的suid权限

1)passwd命令拥有suid权限,所以普通用户可以修改自己的密码

2)cat命令没有suid权限,所以普通用户不能查看/etc/passed文件

(3)SETUID权限的设定与取消

1)给文件设定SUID权限(4代表SUID)

chmod 4755 dayi123.txt

chmod u+s dayi123.txt

2) 取消SUID全新啊

chmod 755 dayi123.txt

chmod u-s dayi123.txt

2、SGID权限

(1)功能:

1)只有可执行的二进制程序才能设置SGID权限

2)命令执行者要对改程序拥有x(执行)的权限

3)命令执行者在执行程序的时候,组身份升级为该程序文件的属组

4)SETGID权限只能在该程序执行过程中有效

(2)对目录的作用:

1)普通用户对此目录拥有r和x权限,才能进入此目录

2)普通用户在此目录中的有效组会变成此目录的属组

3)若普通用户对此目录拥有w权限时,新建的文件的默认属组时这个属组

(3)设定与取消SetGid

1)设定sgid:

chmod 2755 dayi123

chmod g+s dayi123

2)取消sgid

chmod 755 dayi123

chmod g-s dayi123

3、黏滞位sticky

(1)黏滞位的作用:

1)黏滞位只对目录有效

2)目录赋予了黏滞位, root可以删除所有文件,普通用户只能删除自己建立的文件,不能删除其他用户建立的文件

(2)设置与取消黏滞位

1)设置黏滞位:

Chmod 1755 dayi123(目录名)

Chmod o+t dayi123(目录名)

2)取消黏滞位

Chmod 755 dayi123(目录名)

Chmod o-t dayi123(目录名)

三、文件的ACL权限

1、ACL 作用

2、查看与设定ACL权限

(1)查看acl权限

Getfacl 文件名

例如:查看/data/Operation目录acl权限

[root@localhost data]# getfacl /data/Operation/

getfacl: Removing leading '/' from absolute path names

# file: data/Operation/

# owner: root

# group: root

user::rwx

user:Test:r--

user:Program:r--

user:Operation:r--

group::r-x

mask::r-x

other::r-x

(2)设定ACL权限

1)语法 setfacl [参数] 文件名

2)参数:-m 设定acl权限

-x 删除指定的acl权限

-b 删除所有的acl权限

-d 设定默认的aclq权限

-k 删除默认的acl权限

-R 递归设定acl权限

3)给用户设定acl权限

setfacl –m u: setfacl -m u:Operation:r /data/Operation/

4)给用户组设定acl权限

setfacl –m u: setfacl -m g:dayi123:rwx /data/Operation/