linux中,权限的学习是必不可少的,不论是作为一名运维工程师或者是单一的管理者,学习好linux中的权限控制,你就可以保护好自己的隐私同时规划好你所管理的一切。

权限的学习是很多的,不要认为自己已经把自己的隐私保护的很好,漏洞总是有的,侧面的攻击往往是难以防守的。所以大家跟我一起学习一下基础的权限控制,在后面也会有更多关于权限控制的知识点分享出来。谢谢各位的关注和支持!

开班第九天:

今天的课程大纲:

  1. linux系统中文件目录的基本权限控制

  2. 如何来修改默认的生成权限

  3. 三种特殊的权限(s,s,t)

里面我基本讲了一些概念性问题,还有特殊的一些,应用方面很多,我不可能讲完,这些都还是需要在实践中慢慢充实的。

详细讲解:

  • linux系统中文件目录的基本权限控制

提到权限问题,我们最先需要知道的是什么,没错就是如何查看权限。这里讲两个方法:

①stat+文件名,其中我们看到的644就是该文件的权限

②ls -l +文件名,这个显示的信息就包括文件的权限

首先我们应该了解一下权限rwx代表什么意思,r表示read,读;w表示write,写;r表示execute,执行。

其次我们要了解一下权限的构成:使用ls -l来得到的,第一位"-"先不看,直接看后面的九位,rw-r--r--,分成三个三个的看,分别是rw-,r--,r--。分别代表这个文件的拥有者、所属组和其他对这个文件的权限,统称UGO权限,另外我们把rwx分别以421表示,常见的权限有777、755、644等。

我们知道linux系统中有文件的权限和目录的权限,

1.文件的权限

对于文件的权限,我们首先要知道的是如何改变这个文件的权限,使用命令chmod u/g/0+r/w/x 文件名,表示对文件增加或减少r/w/x权限针对于拥有者、所属组、其他。如果是想对所有的都赋权限,那么使用chmod a=rwx 文件名,来改变权限。不过我们常用chmod 777 文件,以数字的形式来进行赋权限。这里说一下文件被执行x的前提是拥有读的权限r。

2.目录的权限

对于目录的权限,我们使用ls
-ld 目录名,来查看目录的权限。可以看到第一位变成了d,表示目录:dir

rwx对于目录来说,意义是不一样的:r表示列出目录的内容ls,w表示在目录中创建,删除,重命名文件,x表示cd到目录里。要看一个用户是否对文件有写的权限,要看这个用户对文件所在目录是否有x(cd)权限。

chmod从文件或者目录层面上改变用户或者组对它的权限,chown和chgrp从用户或者组的层面上改变对它的权限(chown和chgrp只有root用户才能执行)。

  • 如何来修改默认的生成权限

什么时候生成的默认权限?我们创建一个文件和创建一个目录,都会有一个初始的权限,那么这个权限是怎么设置的。

umask限制了用户创建文件或者目录的默认权限。我们执行umask。

可以看到root用户的umask为0022,第一位不看,为002。002三个分别表示user,group,other没有的权限,2表示other没有w写的权限,0表示都有。

此外还要了解的是,针对文件,初始的权限:666-022=644权限,即rw-r--r--。针对于目录,初始的权限:777-022=755,即rwxr-xr-x。

我们可以直接执行umask+数字来改变umask的值,来控制初始的权限。

  • 三种特殊的权限(s,s,t)

linux中有三种特殊的权限,sst,分别代表setuid,setgid,stick
bit。满权限为rwxrwxrwx,第一个s代表user对应rwx中的x,第二个s代表group对应rwx中的x,第三个t代表other对应rwx中的x。

①setuid 给一个二进制程序 passwd之类的添加一个s权限,chmod
u+s /usr/bin/passwd 表示其他用户可以以root(拥有者)的身份去执行passwd命令,本来passwd是修改/etc/passwd文件的,其他用户是修改不了,现在可以

②setgid要针对于二进制程序和目录dir来说。setgid
给一个二进制程序 效果跟setuid一样,以root(所属组)身份去执行touch mkdir之类的命令,这样创建的文件所属组就是root了,chmod g+s /bin/touch。setgid给dir添加s权限,表示A用户在B目录中创建的文件的所属组会变成B目录的所属组,继承。 chmod
g+s /dir。

总结:

权限的控制有很多应用,这个要灵活运用,三种特殊权限需要理解,用的方面不多,但是要要知道这一点。

Linux学习总结(14)——Linux权限控制的更多相关文章

  1. Linux学习笔记14-权限基础

    权限基础 权限:操作系统限制对资源访问的机制,一般分为读.写.执行.每个文件都拥有特定权限,通过所属用户及所属组来限制哪些用户.组可以对特定文件进行什么样的操作. 每个进程都是以某个用户的身份运行,进 ...

  2. Linux学习之文件属性chattr权限与sudo权限(十二)

    Linux学习之文件属性chattr权限与sudo权限 文件属性chattr Linux文件的隐藏属性在保护系统文件的安全性上非常重要,是防止误操作的,对root用户也同样有效.chattr命令只能在 ...

  3. Linux学习之文件特殊权限详解(SetUID、SetGID、Sticky BIT)(十一)

    Linux学习之文件特殊权限详解(SetUID.SetGID.Sticky BIT) 目录 SetUID SetGID Sticky BIT SetUID SetUID简介 只有可以执行的二进制程序和 ...

  4. Linux学习之二-Linux系统的目录结构

    Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...

  5. Linux学习心得之 Linux下ant安装与使用

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下ant安装与使用 1. 前言2. ant安装3. 简单的a ...

  6. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  7. linux学习书籍推荐linux学习书籍推荐

    引用地址:http://www.cnblogs.com/notepi/archive/2013/06/15/3137103.html Linux 学习书目推荐 Linux基础 1.<Linux与 ...

  8. linux 学习-用户&群组&权限

    Linux用户&群组&权限  ⦁ Linux安全性模型   1)Linux使用User和Group控制使用者对文件的存取权限   2)用户使用账号和口令登录Linux   3) ...

  9. Linux学习笔记14——使用fcntl实现文件锁定

    期末考试快要来了,Linux学习进度一下拉下来许多.今天学习的是文件锁定,在Linux中,实现文件锁定的方法很多,例如fcntl和lockf.下面主要是fcntl的调用. fcntl函数的原型是:in ...

  10. Linux学习笔记之Linux添加/删除用户和用户组

    本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数. 1.建用户: adduser phpq //新建phpq用户 passwd phpq //给phpq用户设置密码 2.建工作组 g ...

随机推荐

  1. 基础——(4)D Latch(D锁存器)

    S-R Latch Put a inverter there: Invertor的组成: tie both of the inputs together加上一个nor gate 就能组成一个inver ...

  2. laravel报错:Unable to detect application namespace.

    使用报错:Unable to detect application namespace. 是conposer.json格式不对

  3. HDU-2955 Robberies 浮点数01背包 自变量和因变量位置互换

    题目链接:https://cn.vjudge.net/problem/HDU-2955 题意 突然想找几个银行抢钱. 给出各银行的钱数和被抓的概率,以及能容忍的最大被抓概率. 问他最多能抢到多少钱? ...

  4. vue自定义组件并使用

    以下是使用自己写的一个简单的文件上传框为例 1.自定义组件结构(一个js文件,一个vue文件),最好单独放一个文件 2.upload.vue 内容 其中,action是父组件传递给子组件的参数,使用p ...

  5. 安装NexT主题

    Hexo 安装主题的方式非常简单,只需要将主题文件拷贝至站点目录的 themes 目录下, 然后修改下配置文件即可. 下载主题包 在终端窗口下,定位到 Hexo 站点目录下.使用 Git checko ...

  6. [Python Test] Use pytest fixtures to reduce duplicated code across unit tests

    In this lesson, you will learn how to implement pytest fixtures. Many unit tests have the same resou ...

  7. [LeetCOde][Java] Best Time to Buy and Sell Stock III

    题目: Say you have an array for which the ith element is the price of a given stock on day i. Design a ...

  8. zzulioj--1600--直线与圆(简单数学几何)

     1600: 直线与圆 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 360  Solved: 73 SubmitStatusWeb Board ...

  9. nyoj--233--Sort it (水题)

    Sort it 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 You want to processe a sequence of n distinct integer ...

  10. 5.Git使用详细教程

    转自:https://www.cnblogs.com/seven-ahz/p/7712125.html 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的 ...