Linux之文件权限

Linux之文件权限

介绍Linux文件权限的概念以及操作


文件权限

Linux为每个文件都维护了一组文件权限,权限分为三种:读、写、执行。对于不同的文件类型,权限含义不同,如下

  • 普通文件(非目录):读权限允许用户读取该文件,写权限允许用户写该文件,执行权限允许用户执行该文件。对于不可执行的文件来说,执行权限没有用。权限可以结合使用,例如,修改文件需要读写权限,允许脚本需要读和执行。

  • 目录:读权限允许用户读取目录中的文件名,写权限允许用户修改目录,执行权限允许用户搜索目录。

还有一个特殊的权限setuid,它可以让普通用户以root权限,例如passwd程序。

root用户可以无视权限


查看文件权限

使用命令ls -l可以查看文件的权限,输出示例如下

total 8
drwxr-xr-x 2 root root 4096 Jan 12 21:56 blank
-rw-r–r-- 1 root root 8 Jan 12 21:43 temp3

其中第一个字符右边的9个字符就是文件权限,每3个一组,分别表示属主、组成员、其他用户的读、写、执行权限

  • r:读权限
  • w:写权限
  • x:执行权限
  • -:没有该位置的权限

例如:rwxr-xr-x说明文件属主有读、写、执行权限,组成员有读和执行权限,其他用户有读和执行权限。


在Linux中,每个用户都属于一个主组,还可以属于多个辅组。可以使用id来查看自己属于哪个组。id命令的输出如下

uid=0(root) gid=0(root) groups=0(root)

但是目前组用的不太多,所以通常组的权限和其他用户是一样的。


修改文件权限chmod

Linux使用三位数字来表示一个文件的完整权限,这三个数字称为文件模式,简称模式

文件模式使用二进制来表示,有权限为1,没权限为0

例如对于权限rwx r-x r--,可以表示为111 101 100,将其转为十进制得到754754就是这个文件的模式。

当修改文件权限时,可以使用命令chmod,语法为

chmod mode file…

其中mode为要修改成的文件模式,file为要修改的文件,例如

chmod 751 blank temp3

新文件的权限

Linux根据文件类型的不同,会有不同的文件初始模式:

  • 不可执行普通文件:666
  • 可执行普通文件:777
  • 目录:777

当Linux在创建文件时,会将初始模式-用户掩码作为新文件的权限。

例如,你的用户掩码是022,那创建可执行普通文件时,模式为755,即除自己外其他用户没有写权限。

修改和查看用户掩码可以使用命令umask,语法为

umask [mode]

其中mode为要修改成的用户掩码,例如 umask 077,这是最保险的掩码,其他用户没有任何权限(除了root用户)

使用无参的umask可以查看自己当前的用户掩码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值