比如rwxr-xr-x linux中正是这9个权限位来控制文件属主(User)、属组(Group)、其他用户(Other)基础权限。

用户对资源来说, 有三种角色
  User(u): 属主用户(文件所有者)
  Group(g): 属组用户(包含组成员)
  Other(o): 匿名用户(其他人)

//一个用户访问文件流程如下
  1. 判断用户是否为文件的所有者,如果是,按所有者的权限进行访问
  2. 判断是否为文件的所有组成员,如果是,就按组的权限去访问
  3. 最终用户就是文件的其他的人,按其他人的权限去访问

rwx, rwx, r-x
User Group Other

权限与属主属组

文件权限对应表

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

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

权限修改命令chmod

chmod   //修改文件目录权限rwx  -R级联修改

mkdir dir       //建立目录
touch dir/file //建立文件 示例1:
chmod dir/ //修改dir目录权限为777
chmod u+rwx,g+rwx,o+rwx 示例2:
chmod dir/file //修改file文件权限为666
chmod u+rw,g+rw,o+rw 示例3: chmod -R dir/ //修改目录及子目录权限

属主属组修改命令chown

chown   //更改属主以及属组 -R:级联修改

mkdir dir               //创建目录
touch dir/file_test //创建文件
mkdir dir/dir_test //创建目录 示例1:
chown bin dir/ //修改所属主为bin
ll -d dir/ //检查属主
drwxr-xr-x bin root 7月 : dir/ 示例2:
chown .adm dir/ //修改所属组为adm
ll -d dir/ //检查属组
drwxr-xr-x bin adm 7月 : dir/ 示例3:
chown -R root.root dir/ //递归修改目录及目录下的所有文件属主和属组

基础权限设置案例

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

文件权限与目录权限说明

)    文件权限
r 代表文件可读
w 代表文件可编辑修改
x 代表文件可执行
通常情况下,文件至少要有r权限。例如,只有w权限,文件除了通过重定向方式外,是无法编辑的。 ) 目录权限
r 代表目录可读,即可查看该目录
w 代表目录可编辑修改,即目录下的文件可以改名、删除等(文件名信息存放在目录block中)
x 代表目录可执行,即代表可进入该目录
通常情况下,目录至少要有x权限,即至少能进入该目录 ) 其他说明
文件的删除、创建、重命名需要至少有该文件所在目录的wx权限 ) Linux访问文件过程
例如:访问/a/b.txt
① 访问/的inode
② 通过/的inode找到/的block
③ 访问/的block,并且在/的block中找到a目录的名字与inode号码
④ 访问/a的inode
⑤ 通过/a的inode找到/a的block
⑥ 访问/a的block,并且在/a的block中找到b.txt文件的名字与inode号码
⑦ 访问/a/b.txt的inode
⑧ 访问/a/b.txt的block,访问文件内容
其中步骤③⑥⑧过程涉及权限,即通过inode访问block过程涉及权限。

默认权限

)    文件的默认权限是644,目录的默认权限是755

)    通过umask来控制默认权限,umask默认值为022

)    默认权限计算方法
      文件的默认最大权限是666,目录的默认最大权限是777,用默认最大权限减去umask值可得到文件、目录的默认权限,如果文件的结果为奇数,需要+。
      例如:修改umask为033后,新建文件的默认权限为644,新建目录的默认权限为744。 ) 修改默认权限
      临时修改:umask
      永久修改:编辑/etc/profile

权限测试实例

## 创建环境:
[root@Test01 ~]# useradd oldboy
[root@Test01 ~]# mkdir -p /oldboy/oldboydir
[root@Test01 ~]# chown oldboy.oldboy /oldboy/oldboydir
[root@Test01 ~]# cd /oldboy/oldboydir
[root@Test01 oldboydir]# touch {..}.txt
[root@Test01 oldboydir]# ls -la
total
drwxr-xr-x oldboy oldboy Jun : .
drwxr-xr-x root root Jun : ..
-rw-r--r-- root root Jun : .txt
-rw-r--r-- root root Jun : .txt
-rw-r--r-- root root Jun : .txt
-rw-r--r-- root root Jun : .txt
-rw-r--r-- root root Jun : .txt ## 修改为oldboydir目录为只读权限
[root@Test01 oldboydir]# ll -d
drwxr-xr-x oldboy oldboy Jun : .
[root@Test01 oldboydir]# chmod u=r .
[root@Test01 oldboydir]# ll -d
dr--r-xr-x oldboy oldboy Jun : . ## 在oldboy用户下,查看oldboydir目录
[oldboy@Test01 oldboy]$ ls -l /oldboy/oldboydir/
ls: cannot access /oldboy/oldboydir/.txt: Permission denied
ls: cannot access /oldboy/oldboydir/.txt: Permission denied
ls: cannot access /oldboy/oldboydir/.txt: Permission denied
ls: cannot access /oldboy/oldboydir/.txt: Permission denied
ls: cannot access /oldboy/oldboydir/.txt: Permission denied
total
-????????? ? ? ? ? ? .txt
-????????? ? ? ? ? ? .txt
-????????? ? ? ? ? ? .txt
-????????? ? ? ? ? ? .txt
-????????? ? ? ? ? ? .txt

总结:

. 目录的x权限决定用户是否能进入目录,同时x权限可以显示目录中文件属性信息
. 如果只有r权限,则目录中文件属性信息不能显示,会出现以上情况
. 在目录中对文件进行创建、删除和重命名需要有目录的w权限
. 因此对于目录来说,默认权限是755

rwx对文件的影响

读取权限(r)
文件只有r权限: 具有读取\阅读文件内容权限
1.能使用查看类命令cat、head、tail、less、more
2.不能复制、不能移动、不能编辑,不能删除

写入权限(w)
如果文件只有w权限: 具有新增、修改文件内容的权限
1.使用vim编辑会提示权限拒绝, 但可强制保存,会覆盖文件的所有内容
2.使用echo、cat命令重定向或追加重定向技术可以往文件内写入数据
3.不能复制、不能移动、不能删除,(删除需要看上级目录w的权限)

执行权限(x)
文件只有x权限,具有执行文件的权限。
//注意: 普通用户需要有r权限,管理员不需要
1.不能执行、查看、编辑、复制、移动、删除

权限小结:

文件rw权限, 可以查看和编辑文件内容
文件rx权限, 只能查看和执行文件、不能编辑、复制、移动、删除
目录rx权限, 允许浏览目录内文件以及子目录、并允许在目录内新建文件, 不允许创建、删除文件和目录

注意事项:

文件, x权限小心给予,建议赋予r或rw即可
目录, w权限小心给予,建议无特殊需求赋予rx即可

linux用户权限 -> 系统基本权限的更多相关文章

  1. Linux - 用户管理与文件权限

    目录 Linux - 用户管理与文件权限 创建普通用户 切换用户 userdel删除用户 sudo 命令 文件与目录权限 Linux权限的解读 目录权限 查看用户权限的命令 文件权限 修改权限的命令 ...

  2. Linux 用户管理 与 文件权限

    Linux 用户管理 与 文件权限 用户组操作 1.groupadd命令 groupadd [-g -o] gid group 各个选项具体含义如下: -g:指定新建用户组的GID号,该GID号必须唯 ...

  3. linux用户管理和文件权限

    linux用户管理和文件权限 新建用户:useradd ftpuser      useradd -g gxx userxx修改密码:passwd ftpuser新增用户组:# groupadd gr ...

  4. linux用户权限 -> 系统特殊权限

    set_uid 运行一个命令的时候,相当于这个命令的所有者,而不是执行者的身份. suid的授权方法 suid 权限字符s(S),用户位置上的x位上设置. 授权方法: passwd chmod u+s ...

  5. Linux用户体系和文件权限总结

    一.           Linux系统用户和用户组相关文件 1.  /etc/passwd文件 这个passwd文件是Linux用户信息文件.文件格式说明如下: root:x:0:0:root:/r ...

  6. linux用户身份和文件权限

    1.用户身份与能力 root管理员是linux 的超级用户,他拥有系统的所有权,能够管理系统的各项功能,如添加/删除用户,启动/关闭服务进程,开启/禁用硬件设备…… "Linux系统中的管理 ...

  7. Linux 用户身份与进程权限

    在学习 Linux 系统权限相关的主题时,我们首先关注的基本都是文件的 ugo 权限.ugo 权限信息是文件的属性,它指明了用户与文件之间的关系.但是真正操作文件的却是进程,也就是说用户所拥有的文件访 ...

  8. 笔记:Linux用户管理(补充)、权限管理、内存管理、网络管理、渗透常用命令

    一.用户管理(补充) 添加用户:useradd [选项] 用户名 useradd -u 5000 -g demogroup -G root -d /home/demo -s /bin/bash dem ...

  9. Linux用户身份与文件权限学习笔记

    用户身份 管理员UID为0:系统的管理员用户 系统用户UID为1~999:服务程序会有独立的系统用户负责运行:防止被黑客入侵进行提权,并有效控制被破坏的范围 普通用户UID从1000开始:是由管理员创 ...

随机推荐

  1. 51nod 1471 小S的兴趣 | 分块 链表

    51nod 1471 小S的兴趣 题面 小S喜欢有趣的事.但是,每个人的兴趣都是独特的.小S热衷于自问自答.有一天,小S想出了一个问题. 有一个包含n个正整数的数组a和针对这个数组的几个问题.这些问题 ...

  2. 【agc019C】Fountain Walk

    Portal --> agc019C Description 有一个\(10^8*10^8\)的网格图,一格距离为\(100\),第\(x\)条竖线和第\(y\)条横线的交点记为\((x,y)\ ...

  3. 团体程序设计天梯赛 L2-006. 树的遍历 L2-011. 玩转二叉树

    L2-006. 树的遍历 #include <stdio.h> #include <stdlib.h> #include <string.h> #include & ...

  4. 【OpenCV】角点检测:Harris角点及Shi-Tomasi角点检测

    角点 特征检测与匹配是Computer Vision 应用总重要的一部分,这需要寻找图像之间的特征建立对应关系.点,也就是图像中的特殊位置,是很常用的一类特征,点的局部特征也可以叫做“关键特征点”(k ...

  5. Visual Studio 2013打开项目出现“未安装项目的目标框架”提示

    问题描述: windows 10 系统里用Visual Studio 2013打开项目,提示如下: 说项目的.NET Framework version=v4.5,系统里没装,让将项目的框架从v4.5 ...

  6. Nginx反向代理websocket配置实例

    最近有一个需求,就是需要使用 nginx 反向代理 websocket,经过查找一番资料,目前已经测试通过,本文只做一个记录 复制代码 代码如下: 注: 看官方文档说 Nginx 在 1.3 以后的版 ...

  7. Go_20: Golang 中 time 包的使用

    time包中包括两类时间:时间点(某一时刻)和时常(某一段时间) 1. 时间常量(时间格式化) const ( ANSIC = "Mon Jan _2 15:04:05 2006" ...

  8. 自定义UITableViewCell的方法

    1.纯XIB/storyboard自定义.对应一个Controller的storyboard上拖拽出一个自定义Cell,并加上ReuseIdentifitor 2.纯代码自定义,通过在contentV ...

  9. memset函数使用详解

    1.void *memset(void *s,int c,size_t n) 总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c. 2.例子#include void main(){cha ...

  10. mysql 复制表数据,表结构的3种方法

    什么时候我们会用到复制表?例如:我现在对一张表进行操作,但是怕误删数据,所以在同一个数据库中建一个表结构一样,表数据也一样的表,以作备份.如果用mysqldump比较麻烦,备份.MYD,.MYI这样的 ...