linux如何授予临时文件权限,linux中用户对文件的权限

一、文件权限的意义及查看方法

1.文件权限存在的意义:是系统最底层安全设定方法之一,是保证文件可以被可用的用户做相应的使用

2.文件权限查看

如图:

3caff6e1454fe0e6ef1aea9c6b030355.png

写法及含义

ls  -l   文件      (可查看文件的属性与权限等数据)

ls  -ld  目录     (可查看目录本身的属性与权限等数据 )

ll         文件      (相当于ls -l 的用法)

ll    -d    目录     (相当于ls  -ld 的用法)

二、文件权限的读取

在查看文件权限时会出现例如下面的内容

-   |rw-rw-r--| 1 |root| root| 0 | Jul 21 09:18 | file

[1]    [2]        [3] [4]    [5]     [6]           [7]         [8]

注:  -   |rw-rw-r--| 1 |root| root| 0 | Jul 21 09:18 | file   的含义

【1】  表示文件的类型

有以下几种:

-    表示空文件或文本

d    表示目录

l    软链接   (连接文本)

s     套接字    (数据接口文件)

b      块设备     (设备文件里面的可供存储的接口设备)

c      字符设备

【2】文件的权限

如    rw-    rw-     r--

(1)(2)(3)

(1)[u]  代表文件所有者对文件的使用权限

(2)[g]   代表文件所有组对文件的使用权限

(3)[o]   代表其他人对文件的使用权限

【3】对文件:文件硬链链接个数  (文件内容被记录的次数)

对目录:目录中子目录的个数

【4】文件的所有者

【5】文件的所有组

【6】对文件:文件的大小

对目录:目录中子文件元数据大小

注: 元数据(matedate可以理解为文件的属性)

【7】文件的内容被修改的时间

三、如何改变文件的所有者和所有组

1.chown   改变文件的所有者

方式:

chown      username   file/dir      表示改变文件或目录的所有者

566561f9fd29cb8f0c65749f225efec0.png

chown      user.group file/dir   表示同时改变文件或目录的所有者和所有组

d56b36825e7944891d4856271c5b8e9a.png

chown -R   user.group  dir  (可以连目录下的所有子目录或文件都同时更改文件所有者)

2.chgrp    改变文件的所有组

方式:

chgrp     group       file/dir    改变文件或目录的所有组

chgrp -R  group        dir(可以连目录下的所有子目录或文件都同时更改文件所有组)

e6b0b658731e1668509a44c698564261.png

四、如何改变文件的权限

1.对权限的理解

r   可读(read)

对文件:是否可以查看文件中的内容

对目录:是否查看目录中有什么子文件或者子目录

w   可写(write)

对文件:是否可以改变文件里面记录的字符

对目录:是否可以对目录中子目录或子文件的元数据进行更改

x  可执行(execute)

对文件:是否可以通过文件名称调用文件内记录的程序

对目录:是否可以进入目录

2.权限更改方式

(1)符号类型改变文件权限

如下表所示:

chmod

u

g

0

+

-

=

r

w

x

文件或目录

例如:给文件的所有者加上 x 权限     即可使用  chmod   u+x   文件

给文件的所有组去掉 r 权限      即可使用  chmod    g-r    文件

其他人对文件有 rx 权限            即可使用  chmod 0=rx  文件

操作如下图:

f57e8c75223d5233062fd5e5f4ecbdb1.png

去掉全部人对文件的 r 权限       即可使用   chmod   -r   文件

同时给文件的所有者与所有组都去掉 r 权限           即可使用 chmod  ug-r   文件

给文件的所有者去掉 r 权限,所有组加上 x 权限    即可使用   chmod u-r,g+x  文件

操作如下图:

6252aea6a1edd31378e319319593fe07.png

(2)数字类型改变文件权限

rwx 的权限数分别为:r =4 , w=2, x=1

算法:如 r-xr----x   [u]=4+0+1=5,[g]=4+0+0=4, [o]=0+0+1=1

用法: chmod 541 file1  表示将这个文件的权限改为 r-xr----x

如图所示:

25c8ff6a755d120aa804c6a651d3ed54.png

五、文件默认权限(umask)

1.临时更改umask (当重新打开一个shell时会自动恢复成默认)

当umask 为077 时,创建的文件权限是777-077-111=600

5c8d3f23e79b48cfff97e4c083c2157f.png

2.永久更改umask

一共分为三步:

(1)更改系统配置文件的 umask

1082e06ee31a22d5d18c139aabf1f14b.png

(2)更改shell配置文件的umask

be6dba389dcafb1f874b45bde69d2511.png

(3)立即让更改生效

source /etc/profile  , source /etc/bashrc

如图:

416178ec76c3e013dea0ff9c66ee2910.png

注:普通用户的 umask 002

超级用户的 umask 022

根据自己的用户身份去执行相应的操作

六、特殊权限

1.suid     冒险位

(1)作用

只针对与二进制可执行文件

本权限仅在执行该程序的过程中有效

执行者将具有该程序所有者的权限

(2)  设定方式

chmod u+s file /dir  或  chmod 4xxx file/dir

在没设定冒险位之前先 执行 watch  并查看其进程的所有者为 root

684882d1f4803e086888fbeb99984dae.png

修改/bin/watch 的所有者,设定冒险位,执行watch ,查看其进程的所有者改为 student

12fae9e9af8408c9e4222875668e7f0c.png

2.sgid       强制位

(1)作用

对文件:只针对二进制可执行文件,当文件上有sgid时任何执行此文件产成的进程都属于文件的组

对目录:当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组

(2)设定方式

chmod g+s file /dir  或  chnod 2xxx file/dir

对文件:

用 ls 对 /bin/watch 进行查看,执行 watch -n 1 date  命令 ,使用 ps ax -o comm.user,group | grep watch 查看 进程,可以发现 watch 进程的所有组属于 root

2e0474075fbec4cbc3cbcfaefaa445ef.png

修改 /bin/watch 的所有组为 student ,并且设置强制位,再次执行 watch ,使用 ps 对其进程进行查看,所有组变为 student

59f9637fab5f7e16ca6b1f91033c9071.png

d48c6c275e2f401c9d357ad3d631e584.png

对目录:

在/mnt下创建 noah 目录,并查看其所有组属于 root

426dd7b1241a46646cb0a24572969e49.png

将目录中其他人的权限加上 w ,用普通用户在 noah 下进行操作,查看目录的所有组改为 普通用户

2abe9bd5f37eec11a2ae155eb0215714.png

对目录设定强制位权限,并查看 目录权限, 其中出现 s 表示设定成功  再次进入普通用户,对/mnt进行操作

d7847abbe68d739f2ac25b2452d21e28.png

3.sticky     粘制位

(1)作用

只针对目录生效,当一个目录上有sticky权限时,在这个目录中的文件只能被文件的所有者删除

(2)设定方式

chmod 0+t  dir 或  chmod 1xxx dir

有以下步骤:

先建立一个 /cute 目录,在这个目录下创建 三个 文件,并查看文件权限。

190f12f84a10efb366266cb4649ba540.png

将 目录及其里面的文件权限全改为 777

3e6a81ee7e717837c7bb6b529ac8678d.pngu

在设置粘滞位之前切换到普通用户,对/cute下的文件进行操作,发现可以执行。

e0b8a31e777d5c635b90b0e467a05b5e.png

使用 chmod 1777  /cute 设置粘滞位  可以发现 /cute 权限后面的 x 变成了 t 即表示设置成功。

fdcdaffbe3429ea6ed113c4a4e97168f.png

再次切换到普通用户,对/cute进行操作,发现被拒绝。

8575c12ef5ef1243de3e6c0ea0f987b1.png

七、acl 的使用

1.acl 的作用

让特定的用户对特定的文件拥有特定的权限

2.acl 的设置技巧

getfacl : 可以查看某个文件或目录的 acl 设置项目

setfacl : 可以设置某个文件或目录的 acl

(1)setfacl 命令用法

setfacl -m u:username:rwx file   设定username对file拥有rwx权限

d6707bb5283b43351f163b648537873c.png

16f000703e9652f29a61b04a842aeb37.png

setfacl -m g:group:rwz  file     设定group 组成员对file拥有rwx权限

35cca8f7951cd015626d60761d7de07a.png

setfacl -x u:username   file     从cal列表中删除username

350b60a00ca016e761983eef0c4aa68d.png

setfacl -b file                  关闭file上的acl列表

222dbc6fd4e163ab23c00e76ddc46ece.png

(2)getfacl 命令用法

5582b1ac030b268540d9ec894b527dea.png

#file :  file                文件名称

#owner: root                 文件所有者

#group: root                 文件所有组

user: :rw-                  文件所有者的权限

user:wstos:rwx              指定用户的权限

group: :r--                 文件所有组的权限

mask: :rwx                  能赋予用户的最大权力伐值

0ther: :r--                 其他人的权限

3.mask 值

mask 标示能生效的权力值,当用 chmod 减少开启 acl 的文件权限时 mask 值会发生变化

chmod g-w westos

如果要恢复mask值使用:setfacl -m m:rw westos

4.acl 的默认权限设定

acl 默认权限只针对目录设定

acl权限只针对设定完成之后建立的文件或目录生效,而已经存在的文件是不会继续默认权限

操作如下:

先创建一个目录 /westos ,在/westos下创建 文件 ,切换成普通用户,对这个文件进行操作,发现权限被拒绝。

2fc877d5226bd8a56d7b5b2e27116c71.png

设定/westos的默认权限,在/westos下创建一个目录 noah 和 一个文件 file1

db139d9b922281152a4bb8bf3f47487b.png

切换到普通用户,对设定默认权限的 /westos/file 进行操作,发现被拒绝。

9ddadc208f4a2c2eea454053142b84bc.png

对 设定默认权限后的 /westos/noah 和 /westos/file1 进行操作,发现可以操作。

0c66c3b4d530e1c448124dc6869e82c4.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值