高效管理 Linux 文件权限:技巧与方法

在Linux文件中,一切皆文件,对于文件来说,用户分为三类:属主(u-user)、属组(g-group)和其他用户(o-other),权限分为三种:读(r-read)、写(w-write)、执行(x-execute),本文将详细的介绍权限系统和相关操作。(本文将以Ubuntu示例)

drwxr-x---  4 ubuntu ubuntu 4096 Aug  5 11:46 ubuntu/

权限 :drwxr-x---

链接计数 : 4

文件所有者 : ubuntu

文件所属组 : ubuntu

文件大小 : 4096

文件创建和修改的时间 : Aug  5 11:46

文件名 : ubuntu/

设置文件所有者 

修改属主

root@ubuntu:/home# ll link1
-rw-r--r--  2 root   root     14 Aug  6 09:55 link1
root@ubuntu:/home# chown ubuntu link1
root@ubuntu:/home# ll link1
-rw-r--r--  2 ubuntu root     14 Aug  6 09:55 link1

 修改属组

root@ubuntu:/home# chown :ubuntu link1
root@ubuntu:/home# ll link1
-rw-r--r--  2 ubuntu ubuntu   14 Aug  6 09:55 link1

同时修改属主和属组 

 root@ubuntu:/home# chown root:root link1
root@ubuntu:/home# ll link1
-rw-r--r--  2 root   root     14 Aug  6 09:55 link1

设置文件所属组

修改属组

root@ubuntu:/home# chgrp ubuntu link1
root@ubuntu:/home# ll link1
-rw-r--r--  2 root   ubuntu   14 Aug  6 09:55 link1

文件权限 

权限作用

权限文件目录
r可查看文件内容可查看目录中的文件名,但无法获取元数据内容
w可修改文件内容可在目录中创建、删除文件
x可执行文件,启动一个进程可查看目录中的文件名、文件内容,以及元数据内容

修改文件权限

字符角色
u属主(owner)
g属组(group)
o其他用户(other)
a包含以上三种角色(all)
字符含义
+增加权限
-删除权限
=保留指定权限,直接覆盖
字符数字表示(八进制)
r4
w3
x1

# 常用写法

root@ubuntu:/home# chmod a= f1
root@ubuntu:/home# chmod u+x f2
root@ubuntu:/home# chmod g-r f3
root@ubuntu:/home# chmod ug=rx f4
root@ubuntu:/home# chmod 666 f5
root@ubuntu:/home# ll f*
---------- 1 root root 0 Aug  6 12:08 f1
-rwxr--r-- 1 root root 0 Aug  6 12:08 f2*
-rw----r-- 1 root root 0 Aug  6 12:08 f3
-r-xr-xr-- 1 root root 0 Aug  6 12:08 f4*
-rw-rw-rw- 1 root root 0 Aug  6 12:08 f5

 思考 

执行 cp /etc/issue /data/dir/ 所需要的最小权限是什么?

首先,cp 命令文件需要有执行的权限。--- x

其次,/etc 目录需要有执行的权限才能够进入目录。--- x

接着,/etc/issue 文件需要有读取的权限才能够进行复制文件内容操作。--- r

再次,/data 目录同样需要执行的权限才能够进入目录。--- x

最后,/data/dir 目录需要有执行写入的权限才能够创建目录并将复制的数据写入文件中。--- w,x

要注意的,是,执行文件分为二进制文件和可执行文本文件,可执行文本文件需要可读可执行才能够执行(w,x),例如Shell脚本、Python脚本等。

umask 默认权限 

umask值会间接影响新建目录与文件的权限,新建文件的权限等于666-umask值(如果结果的执行权限为奇数则结果+1,也就是说,新建文件永远都不会有执行权限),新建目录的权限等于777-umask值。

查看umask值

 root@ubuntu:~# umask
0022

 修改umask值

在某些情况下,可能需要临时修改 umask 值以适应特定任务。例如,在创建一组文件时,需要特定的权限设置。永久修改需要写入相关配置文件中。

root@ubuntu:/home# umask 002
root@ubuntu:/home# umask
0002

# 查看默认文件权限

root@ubuntu:/home# umask -S
u=rwx,g=rwx,o=rx
root@ubuntu:/home# touch f1
root@ubuntu:/home# ll f1
-rw-rw-r-- 1 root root 0 Aug  7 12:17 f1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值