Linux学习之修改文件权限以及目录权限

小背景

在Linux中安装软件或者对文件进行操作得时候,经常会遇到权限不足这种情况,以前都是粗暴得用root用户进行文件操作,但在实际情况中,这样做无异于引狼入室,安全性极低。因此在这里就记录一下。

linux权限简介

在Linux中用户等可以被授予的文件的权限有:

  • r:读权限,读取文件内容(cat more head tail)
  • w:写权限,编辑、新增、修改文件内容(vi echo) ,但是不包含删除文件
  • x:执行权限,可执行

其中,这三个权限在Linux中可以用三个数字来表示,由于在二进制中第一位是1的话表示的是1,第二位是1的话表示的是2,第三位则为4,因此三个不同权限分别为4,2,1.r ->4 ; w->2 ; x->1;。而在Linux中常用三个权限的组合来表示所有的权限,举个栗子:下图中,在home文件夹下有wwwlogs这样一个文件夹,drwxrwxrwx.就是不同所有者的不同权限,首先d表示的是该文件是一个目录,第一个rwx表示的是所有者root的权限是读、写和执行,第二个rwx表示的是所属组root的权限为读写和执行,第三个rwx表示的是其他用户的权限为读写和执行。因此,他们的权限我们可以用777来表示,其中7表示的是4+2+1,每个权限都包含了。
在这里插入图片描述

在Linux中文件和目录的权限有区别,对于文件而言其最高权限是执行,因为对于Linux安全而言,如果黑客攻击服务器将写好的攻击文件上传到服务器上面,只有具有执行权限才可以让攻击文件生效;对于目录而言最高权限就是写,因为在目录中的文件就相当于其自身的内容,我们改变目录中的文件名或者删除文件都是对于目录的写操作,而删除对于服务器来说也是相当重要的。

linux权限修改的命令用法
  1. chmod

    该命令是change the permissions mode of a file 的缩写,其具体用法为:
    chmod XXX(权限的数字组合) 文件的具体位置以及名称
    下面是一个例子:首先在sun目录下,输入命令ll长显示文件的相关信息,其中123目录的权限为:755。
    在这里插入图片描述
    通过chmod命令修改123的权限为700,chmod 700 123之后显示结果为:
    在这里插入图片描述
    但是,这样的修改权限会修改所有其他用户的权限,安全性也不高,因此我们引入下列文件权限修改命令。

  2. chown(change owner) 用户名 文件名:修改文件的所有者

  3. chgrp(change group) 用户名 文件名:修改文件的所属组

  4. chown 所有者:所属组 文件名:同时修改其权限 所有者和所有组

后续: 文件的默认权限
  • windows权限会继承,但是Linux不会这样,和上级目录没有关系。
  • umask 查看默认权限: 0022:第一位是文件的特殊权限,022:文件的默认权限
  • 文件的默认权限是:文件默认最大权限(666) 和 umask权限,不能拿数字直接减,但是默认权限减去umask权限的修改,即权限值 666- 022 = 644。
  • 目录的默认权限是:目录默认最大权限(777) 和 umask权限相减,和上述一样;
  • 如果想要修改umask值得话,可以通过umask 0XXX(想要修改的权限数值) 这个命令来临时修改,也可以通过profile文件来永久修改。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值