Linux权限基础

四种权限大类

基本权限

特殊权限

隐藏权限

file ACL权限

三种基本权限

r(read)

读是基本权限,没有读权限其他的一切操作都会被限制

读 4

w(write)

写 2

x(exceute)

执行 1

文件权限案例

dr-xr-xr-x. 5 root root 4096 9月 19 17:37 boot

数字表示权限-555

文件的权限一共有9个字符,3个为一对

第一对 r-x

文件所有者对此文件所拥有的权限

读 执行

第二对 r-x

文件所属组对此文件所拥有的权限

读 执行

第三对 r-x

其他用户对此文件拥有的权限

读 执行

基本权限命令

chmod 改变文件的访问权限

命令语法
chmod [options] mode file... 命令选项
-R 递归设置权限,针对目录有效 mode 谁给什么权限
u(所有者) g(所属组) o(其他人) a(所有人) + - =
chmod u=rwx a
chmode a+rw b
权限 r 读 w 写 x 执行 数字权限
r 读 4
w 写 2
x 执行 1 一般使用这个数字权限简单方便
chmod 760 abc

chown 修改文件或文件夹所有者和组

命令语法
chown [options] user [:group] file... 命令选项
-R 递归设置,针对文件夹 chown 新所有者 文件名
chown 新的所有者.新的所属组 文件名 -R 递归修改 文件夹里面也有文件 chown zx125 zx1.txt

chgrp 改变文件或文件夹的所属组

命令语法
chgrp [选项] 组文件... 命令选项
-R 递归设置权限,针对目录有效 chgrp 新所有组 文件名
chown .新的所属组 文件名 chgrp zx125 zx1.txt

权限对于文件的作用

r:可读
w:可写[可写不代表可以删除,删除一个文件的前提是对文件所在的目录有写的权限]
x:可执行

权限对于文件夹的作用

r:可读(可用ls查看目录内容)
w:可写[可在目录内创建+删除+重命名文件或目录]
x:可执行[可以进入目录]

特殊权限

其实在文件三大权限之前还隐藏了一个特殊权限

SUID(Set UID) 4

1.只对二进制程序有效

2.首先执行者对于程序要有X的权限,那么它就拥有文件所有者的权限

3.权限只在文件运行时有效,执行完毕就不再拥有所有者的权限

chmod 4777 ****
直接能获取文件所有者的权限 suid 4 当一个二进制文件拥有SUID权限后,当其他用户执行该二进制文件的时候,该二进制文件就会以他所有者的权限去执行

SGID 2

1.使用者对此目录要有xw权限,才可以修改此目录

2.使用者修改后,此目录下新建的子文件夹或者子文件继承父文件夹的属组

#原先目录权限
drwxrwxr-x. 2 zx125 zx125 6 9月 25 00:06 zx
chmod 2766 zx
#修改后
drwxrwSrw-. 2 zx125 zx125 6 9月 25 00:06 zx 以root账户在zx里面新建a b c三个文件,并查看权限
-rw-r--r--. 1 root zx125 0 9月 25 00:09 a
-rw-r--r--. 1 root zx125 0 9月 25 00:09 b
-rw-r--r--. 1 root zx125 0 9月 25 00:09 c

SBIT 1

1.如果对某个目录赋予粘连位,那么其他账号只能在在此文件下操作自己的文件,没有权限去动别人的文件

chmod 1777 zx_home

drwxrwxrwt. 4 root  root    32 9月  25 00:25 zx_home

如果给文件夹 赋予粘连位  则该文件夹下的文件或文件夹只能由所有者及ROOT删除

ACL权限

文件权限的订制

setfacl

setfacl [选项] file...

命令选项
-m 修改acl
-x 删除acl
-b 删除所有acl
-k 删除默认的acl
-R 递归 setfacl -m user:zx125:rwx root

getfacl

getfacl 查看文件权限

命令语法
getfacl file... getfacl root
# file: root
# owner: root
# group: root
user::rw-
user:zx125:rwx
group::---
mask::rwx
other::---

隐藏权限

chattr [+-=][ASacdistu] 文件或文件名
命令选项:
+ : 增加某个特殊参数,其他原本存在的参数不动。
- : 删除某个特殊参数,其他原本存在的参数不动。
= : 设置一定,且仅有后面接的参数
#针对频繁的读写操作
A : 当设置了A属性时,这个文件(或目录)的存取时间atime(access)将不可被修改,可避免例如手提电脑有磁盘I/O错误的情况发生。
#数据实时写入硬盘,不在内存逗留,防止数据断电消失
S : 这个功能有点类似sync。就是将数据同步写入磁盘中。可以有效地避免数据流失。
a : 设置a之后,这个文件将只能增加数据,而不能删除,只有root才能设置这个属性。
c : 这个属性设置之后,将会自动将此文件“压缩”,在读取的时候将会自动解压缩,但在存储的时候,将会先进行压缩后再存储(对于大文件有用)。
d : 当执行dump(备份)程序的时候,设置d属性将可使该文件(或目录)具有转储功效。
i : i的作用很大。它可以让一个文件“不能被删除、改名、设置连接,也无法写入或新增数据”。对于系统安全性有相当大的帮助。
j : 当使用ext3文件系统格式时,设置j属性将会使文件在写入时先记录在journal中。但是,当文件系统设置参数为data=journalled时,由于已经设置日志了,所以这个属性无效。
s : 当文件设置了s参数时,它将会从这个硬盘空间完全删除。
u : 与s相反,当使用u来设置文件时,则数据内容其实还存在磁盘中,可以用来还原删除.
注意:这个属性设置上,比较常见的是a与i的设置值,而且很多设置值必须要root才能设置。

Linux权限基础的更多相关文章

  1. Linux 权限基础说明

      1 权限位说明 Linux文件或目录的权限位是由个9个权限位来控制的,每三位为一组,它们分别是文件属主(owner/user)读.写.执行,用户组(Group)的读.写.执行以及(Other)其他 ...

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

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

  3. Linux入门基础(三):Linux用户及权限基础

    用户基础 用户和组 每个用户都拥有一个userid 每个用户都属于一个主组,属于一个或多个附属组 每个组拥有一个groupid 每个进程以一个用户身份运行,受该用户可访问资源限制 每个可登陆用户拥有一 ...

  4. Linux入门-5 用户及权限基础

    1. Linux用户基础 用户 相关文件 查看登录的用户 添加用户 修改用户信息 删除用户 组 2. Linux权限机制 权限 UGO 修改文件所属用户和组 修改权限 3. Linux权限扩展 默认权 ...

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

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

  6. Shell基础:Linux权限管理

    Linux权限基本概念 查看系统(文件夹/文件)权限: ls -l =>d/-   xxx xxx xxx.  num  owner  group  size   date  filename ...

  7. Linux入门基础 #8:Linux拓展权限

    本文出自   http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...

  8. Linux实战教学笔记06:Linux系统基础优化

    第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...

  9. Linux实战教学笔记04:Linux命令基础

    第四节:Linux命令基础 标签(空格分隔):Linux实战教学笔记 第1章 认识操作环境 root:当前登陆的用户名 @分隔符 chensiqi:主机名 -:当前路径位置 用户的提示符 1.1 Li ...

随机推荐

  1. ArcGIS Engine连接ArcSDE SQL Server(获得所有SDE图层)

    ArcSDE是ESRI公司推出的基于SDE技术的空间数据库解决方案,它是在现有的关系或对象关系型数据库管理系统的基础上进行应用扩展,可以将空间数据和非空间数据存储在目前绝大多数商用DBMS中,享受商用 ...

  2. Django学习day2——Django安装与环境配置

    安装 Django 文章中python版本为3.65 这里以windows7为例,在pip目录下运行pip install Django就能安装django最新版本(本文为django2.2版本) 也 ...

  3. OpenCV图像处理以及人脸识别

    OpenCV基础 OpenCV是一个开源的计算机视觉库.提供了很多图像处理常用的工具 批注:本文所有图片数据都在我的GitHub仓库 读取图片并显示 import numpy as np import ...

  4. Pandas 筛选操作

    # 导入相关库 import numpy as np import pandas as pd 在数据处理过程中,经常会遇到要筛选不同要求的数据.通过 Pandas 可以轻松时间,这一篇我们来看下如何使 ...

  5. 使用ASP.NET Core 3.x 构建 RESTful API - 2. 什么是RESTful API

    1. 使用ASP.NET Core 3.x 构建 RESTful API - 1.准备工作 什么是REST REST一词最早是在2000年,由Roy Fielding在他的博士论文<Archit ...

  6. permu 莫队 总结

    由于每次询问静态区间里完整值域段的最大大小 貌似很好用莫队转移,所以考虑怎么转移 当给它扩展一个数时,就是给值域添加了一个值 这个值可能已经存在,也可能是新的 有的神仙做法是维护了一个并查集,然而我这 ...

  7. Java实现不遍历数组求和

    package com.jts.t1; /** * 不遍历数组求和 * 方法省略异常检查 */ public class Demo1 { public static void main(String[ ...

  8. jquery jssdk分享报错解决方法

    jssdk分享报错解决方法 一般都是参数传错了

  9. 一次shardingjdbc踩坑引起的胡思乱想

    项目里面的一个分表用到了sharding-jdbc 当时纠结过是用mycat还是用sharding-jdbc的, 但是最终还是用了sharding-jdbc, 原因如下: 1. mycat比较重, 相 ...

  10. a 标签添加 onclick 事件

    a 标签添加 onclick 事件 <a href="javascript:void(0);" οnclick="js_method()">点击&l ...