inux权限管理—基本权限

Linux权限管理—基本权限

一、权限的基本概述

1.什么是权限?

权限是针对某些文件或者进程,对用户进行限制

2.为什么要有权限?

因为在公司中,服务器可能就那么几台,但是运维可能有多个,我们多个运维要登录同一台服务器,那么不可能只有一个root用户,我们需要根据运维的等级,来分配用户权限。

3.权限与用户的关系?

Linux中的文件或目录的权限和用户及用户组关联很大,Linux中每个文件或目录都有一组共9个基础权限位,每三个字符被分为一组,他们分别是属主权限位(占三个字符)、属组权限位(占三个字符)、其他用户权限位(占三个字符)
比如rwxr-xr-x linux中正是这9个权限位来控制文件属主(User)、属组(Group)、其他用户(Other)基础权限。

每种身份,又对应了3种权限:r(readable)、w(writeable)、x(excutable)

  1. 目录示例:
  2. drwxr-xr-x. 2 root root 6 Jul 2 00:29 abc
  3. 文件类型 文件属主权限位 属组权限位 其他用户权限位 硬链接数 文件的属主(所属用户)
  4. d rwx r-x r-x 2 root
  5. 文件的属组(所属用户组) 文件的大小(文件中的字节数) 文件的修改时间 文件名
  6. root 6 Jul 1 02:00 abc
  7. 注意:
  8. 普通文件: -
  9. 软链接文件: 1
  10. socket,套接字: s
  11. 块设备: c
  12. 目录 d

用户对资源来说,有三种角色:

  1. User(u): 属主用户(文件所有者)
  2. Group(g): 属组用户(包含组成员)
  3. Other(o): 其他用户
  4. 一个用户访问文件流程如下:
  5. 判断用户是否为文件的所有者,如果是,按所有者的权限进行访问
  6. 判断是否为文件的所有组成员,如果是,就按组的权限去访问
  7. 最终用户就是文件的其他的人,按其他人的权限去访问

4.权限中的rwx分别代表什么含义?

当我们使用ls -l查看一个文件的详细属性时,能看到每个文件都有一个9位基本权限位
比如:rwxr-xr-x其中每三位字符为一组,分别表示属主权限位,属组权限位,其他用户权限位。

字母 含义 对应权限
r(read) 读取权限 4
w(write) 写入权限 2
x(execute) 执行权限 1
-(没有权限) 没有权限 0

如果权限位不可读、不可写、不可执行,则用-来表示.

5.权限设置示例:

  1. [root@centos7 ~]# mkdir aaa #创建目录
  2. [root@centos7 ~]# touch bbb.txt #创建文件
  3. [root@centos7 ~]# ll
  4. drwxr-xr-x. 2 root root 6 Jul 2 00:47 aaa #目录权限
  5. -rw-r--r--. 1 root root 0 Jul 2 00:48 bbb.txt #文件权限

二、权限修改命令chmod

1. +:增加权限

2. -:删除权限

3. =:设置权限

  1. 创建文件:
  2. [root@centos7 ~]# touch ccc
  3. #查看文件,文件权限默认为644
  4. [root@centos7 ~]# ll ccc
  5. -rw-r--r--. 1 root root 0 Jul 2 01:06 ccc
  6. #a=rwx 修改权限
  7. [root@centos7 ~]# chmod a=rwx ccc
  8. #查看权限,权限为777
  9. [root@centos7 ~]# ll ccc
  10. -rwxrwxrwx. 1 root root 0 Jul 2 00:54 ccc
  11. #修改权限为000
  12. [root@centos7 ~]# chmod 000 ccc
  13. [root@centos7 ~]# ll ccc
  14. ----------. 1 root root 0 Jul 2 00:54 ccc
  15. #增加权限:
  16. [root@centos7 ~]# chmod a+rwx ccc
  17. [root@centos7 ~]# ll ccc
  18. -rwxrwxrwx. 1 root root 0 Jul 2 00:54 ccc
  19. #减少权限:
  20. [root@centos7 ~]# chmod a-rwx ccc
  21. [root@centos7 ~]# ll ccc
  22. ----------. 1 root root 0 Jul 2 00:54 ccc

4.number数字方式

  1. mkdir dir #建立目录
  2. touch dir/file #建立文件
  3. 示例1
  4. chmod 777 dir/ #修改dir目录权限为777
  5. chmod u+rwx,g+rwx,o+rwx
  6. 示例2
  7. chmod 666 dir/file #修改file文件权限为666
  8. chmod u+rw,g+rw,o+rw
  9. 示例3
  10. -R 把目录连带目录下的目录和文件同时一起修改:
  11. chmod -R 766 dir/ #修改目录及子目录权限

三、基础权限设置案例

权限 对文件的影响 对目录的影响
读取权限(r) 具有读取/阅读文件内容权限 具有浏览目录及子目录文件
写入权限(w) 具有新增、修改文件内容的权限 具有增加和删除目录内文件
执行权限(x) 具有执行文件的权限 具有访问目录的内容(取决于目录中文件权限)

1.文件权限实验案例:

  1. [root@centos7 ~]# echo "date" >> ddd
  2. [root@centos7 ~]# ll ddd
  3. -rw-r--r--. 1 root root 5 Jul 2 01:17 ddd
  4. [root@centos7 ~]# echo 123 >> /opt/eee
  5. [root@centos7 ~]# su - gjy
  6. Last login: Tue Jul 2 02:26:54 CST 2019 on pts/0
  7. [gjy@centos7 ~]$ cat /opt/eee
  8. 123
  9. 注意:
  10. 1.su - username ,进入到普通用户,只可以对其他目录进行查看,cenos7 普通用户不能查看root目录下的文件内容。centos6里面是可以的。
  11. 2.验证执行权限的时候,不要使用. sh,直接敲文件名。如果有执行权限,直接敲文件名,就可以执行。

2.rwx 对文件的影响(只对文件内容有影响)

  1. 文件只有r权限: 具有读取\阅读文件内容权限
  2. 1.能使用查看类命令catheadtaillessmore
  3. 2.不能复制、不能移动、不能编辑,不能删除
  4. 写入权限(w
  5. 如果文件只有w权限: 具有新增、修改文件内容的权限
  6. 1.使用vim编辑会提示权限拒绝, 但可强制保存,会覆盖文件的所有内容
  7. 2.使用echocat命令重定向或追加重定向技术可以往文件内写入数据
  8. 3.不能复制、不能移动、不能删除,(删除需要看上级目录w的权限)
  9. 执行权限(x
  10. 文件只有x权限,具有执行文件的权限。
  11. //注意: 普通用户需要有r权限,管理员不需要
  12. 1.不能执行、查看、编辑、复制、移动、删除

3.rwx 对目录的影响

  1. 目录只有r权限: 具有浏览目录及子目录权限
  2. 不能进入目录
  3. 1.能使用ls命令浏览目录及子目录, 同时会提示权限拒绝
  4. 2.能使用ls -l命令浏览目录及子目录, 会带问号,同时只能看到文件名
  5. 总结: 目录只有r权限,仅仅只能浏览内的文件名,无其他操作权限
  6. 写入权限(w
  7. 单纯的w权限没有任何意义。
  8. 如果目录只有w权限: 具有增加、删除或修改目录内文件名权限(需要x配合)
  9. //注意: 如果目录有w权限, 可以在目录内创建文件, 删除文件(跟文件本身权限无关)
  10. 不能进入目录、不能复制目录、不能删除目录、不能移动目录
  11. 执行权限(x
  12. 目录只有x权限
  13. 1.只能进入目录
  14. 2.其他什么都做不了

注意:权限必须组合使用

4.权限小结:

  1. 1.文件rw权限, 可以查看和编辑文件内容
  2. 2.文件rx权限, 只能查看和执行文件、不能编辑、复制、移动、删除
  3. 3.目录rx权限, 允许浏览目录内文件以及子目录、并允许在目录内新建文件, 不允许创建、删除文件和目录
  4. 4.文件, x权限小心给予,建议赋予rrw即可
  5. 5.目录, w权限小心给予,建议无特殊需求赋予rx即可

5.权限与属主属组

chown: Linux中用来改变某个文件属主的命令, 如漫画中所示, 将某个"资源"(门)的访问权限给予别人。(卖房)
chmod: Linux中用来改变某个文件的访问模式的命令, 如漫画中所示, chmod 777会将大门敞开, 谁都可以进出。(租房)

实验

1.创建andy,tom用户为oldboy组, 用户统一使用password为密码
2.要求oldboy组的成员可以访问/home/oldboy目录, 并且可以在目录下创建,删除文件, 在目录下andy创建的文件可以让tom修改.

四、属主属组修改命令chown

  1. chown //更改属主以及属组 -R:递归修改
  2. mkdir dir //创建目录
  3. touch dir/file_test //创建文件
  4. mkdir dir/dir_test //创建目录
  5. 示例1
  6. chown bin dir/ //修改所属主为bin
  7. ll -d dir/ //检查属主
  8. drwxr-xr-x 2 bin root 4096 7 22 00:50 dir/
  9. 示例2
  10. chown .adm dir/ //修改所属组为adm
  11. ll -d dir/ //检查属组
  12. drwxr-xr-x 2 bin adm 4096 7 22 00:50 dir/
  13. 示例3
  14. chown -R root.root dir/ //递归修改目录及目录下的所有文件属主和属组

linux-权限管理相关的更多相关文章

  1. Linux系列教程(十六)——Linux权限管理之ACL权限

    通过前面的两篇博客我们介绍了Linux系统的用户管理,Linux用户和用户组管理之相关配置文件 讲解了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow ...

  2. 【Linux】 Linux权限管理与特殊权限

    Linux权限管理 权限管理这方面,非常清楚地记得刚开始实习那会儿是仔细研究过的,不知道为什么没有笔记留痕..除了一些基本的知识点早就忘光了,无奈只好从头开始学习一遍.. ■ 基本权限知识 这部分实在 ...

  3. Linux基础知识之用户和用户组以及 Linux 权限管理

    已经开始接触Linux用户管理,用户组管理,以及权限管理这几个逼格满满的关键字.这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时候看到这些名词总是下意识的跳过不敢看 ...

  4. Linux权限管理之ACL权限

    注:转载自:https://www.cnblogs.com/ysocean/p/7801329.html 目录 1.什么是 ACL 权限? 2.查看分区 ACL 权限是否开启:dump2fs ①.查看 ...

  5. [Linux 003]——用户和用户组以及 Linux 权限管理(一)

    嗬!没想到吧!学习 Linux 的第三天,我们已经开始接触用户管理,用户组管理,以及权限管理这几个逼格满满的关键字.这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时 ...

  6. 用户和用户组以及 Linux 权限管理

    1.从 /etc/passwd 说起 前面的基本命令学习中,我们介绍了使用 passwd 命令可以修改用户密码.对于操作系统来说,用户名和密码是存放在哪里的呢?我们都知道一个站点的用户名和密码是存放在 ...

  7. Linux权限管理(用户、组、文件管理)

    一. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 1. 文件查看类命令cat,tac, head, tail, more, less, ls ,file: -ls : l ...

  8. Linux—权限管理

    Linux 权限管理 1.权限简介 Linux权限是操作系统用来限制对资源访问的机制,权限一般分为读.写.执行.系统中每个文件都拥有特定的权限:属主.属组以及其他人,通过这样的机制来限制哪些用户或用户 ...

  9. linux权限管理-特殊权限

    目录 linux权限管理-特殊权限 一,特殊权限 Linux权限属性chattr概述 linux进程掩码umask linux权限管理-特殊权限 一,特殊权限 1.suid(4000) SetUID( ...

  10. linux权限管理-基本权限

    目录 linux权限管理-基本权限 权限修改命令chmod linux权限管理-基本权限 权限 针对某些文件和进程,对用户进行限制 权限与用户的关系 rwx rwx r-x User Group Ot ...

随机推荐

  1. getchar、scanf以及缓冲区的概念

      1.getchar()是stdio.h中的库函数,它的作用是从stdin流中读入一个字符,也就是说,如果stdin有数据的话不用输入它就可以直接读取了.       getch()和getche( ...

  2. Git如何将本地test分支设置跟踪origin/test分支

    前提条件: 有一个远程仓库其中只有一个master分支,然后我把它clone到本地 1.新建一个本地分支test, 2.然后把它push到远程仓库(git push origin test) 3.本地 ...

  3. UVA - 1451 Average (斜率优化)

    题意:由01组成的长度为n的子串,AT由0表示,GC由1表示,求一段长度大于等于L且GC率最高的子串的起始终止坐标,若GC率相同,取长度较小,若长度相同,取起始坐标最小. 分析: 1.一个子串(i+1 ...

  4. js实现二叉查找树

    二叉树的特点:   像一颗树一样,从顶端往下延伸,最顶端的为根节点,每个节点下面子节点的数不超过两个,没有任何子节点的节点被称为叶子节点, 除了根节点和叶子节点的被称为中间节点. 二叉查找树: 每个节 ...

  5. 使用pip install jupyter报错处理办法及修改Jupyter默认加载路径的方法

    1.配置python环境之后想使用Jupyter,网上查看可以使用pip install Jupyter安装,执行命令行后正常安装,安装到一半以后报错,如图1.2 图1 图2 2.发现是安装过程中安装 ...

  6. 略坑的C#自动回收机制

    说起这个坑货,要说说折腾了好久的bug,项目对方需要在32位系统上使用,C#加载图像扔给C++处理再返回.所以想好了,C#这边加载图像开好内存扔给C++,各自开的内存各自释放. 所以,在32位系统上出 ...

  7. 《动手学深度学习》系列笔记—— 1.2 Softmax回归与分类模型

    目录 softmax的基本概念 交叉熵损失函数 模型训练和预测 获取Fashion-MNIST训练集和读取数据 get dataset softmax从零开始的实现 获取训练集数据和测试集数据 模型参 ...

  8. 162-PHP 文本替换函数str_replace(三)

    <?php $str='Hello world!'; //定义源字符串 $search=array('o','l','w'); //定义将被替换的字符数组 $replace='O'; //定义替 ...

  9. 132-PHP子类和父类同名函数的调用

    <?php class father{ //定义father类 public function cook(){ return '烹饪'; } } class son extends father ...

  10. 《新标准C++程序设计》3.9-3.10(C++学习笔记11)

    一.C++程序到C程序的翻译 程序示例分析: C++: class CCar { public: int price; void SetPrice (int p); }; void CCar::Set ...