一、文件权限10个字符对应类型和权限

二、Linux普通文件和Linux目录读、写、执行权限说明

标注:Linux 中的文件名是存在于父目录的block里面,并指向这个文件的inode节点

1、linux 普通文件读、写、执行权限说明

权限

描述

范例

可读 r

表示具有读取文件内容的权限

范例1

可写 w

表示具有新增、修改文件内容的权限

1、如果没有r,那么vi会提示无法编辑(可强制编辑),echo 可以重定向或追加

2、特别提示,删除(修改文件名等)的权限是受父目录的权限控制,和文件本身权限无关

范例2

可执行 x

表示具有执行文件的权限

1、文件本身要能够执行

2、普通用户同时还需具备r的权限才能

3、root 只要有x的权限就能执行

win 32下可执行文件 *.exe *.bat *.com

linux  下可执行文件 *.sh  *.py  *.perl等

范例3

2、linux 目录的读、写、执行权限说明

权限

描述

范例

可读 r

表示具有浏览目录下面文件及子目录的权限,即 ls   dir

1、如果没有x权限,不能进到目录里,即无法cd dir

2、如果没有x权限,ls 列表时可以看到所有文件名,但是会提示无权访问目录下文件

3、如果ls -l 列表,所有的属性会带有问号,也会提示无权访问目录下文件。但可以

看到所有文件名。

范例4

可写 w

表示具有增加、删除或修改目录内文件名(一般指文件名)的权限(需要x权限配合使用)

范例5

可执行 x

表示具有进入目录的权限,例如 cd dir

但是没有r无法列表文件及目录,没有w无法新建和删除

范例6

三、环境模拟实践

chmod  (change mode)   改变文件或目录权限的命令

chmod命令可以通过两种方法设置权限,第一种是权限字母和操作符表达式,第二种是数字方法(八进制),推荐使用数字方法。

第一种方法:文件权限对应的数字方法(八进制)表示

chmod   [数字组合]    文件名

第二种方法:权限字母和操作符表达式

chmod  [用户类型] [+|-|=]  [字符权限]  文件名

权限字母

功能

权限

备注说明

u (user)

+  增加

-      减少

=  设置

r   读操作

w  写操作

x  执行操作

-      无权限

+  添加某个权限

-  取消某个权限

=  取消其它所有权限赋予给定的权限

g (group)

o (others)

a (all)

模拟测试准备:

1、创建一个用户组 incahome(主人的家庭,即用户组)

2、创建三个用户

oldboy  (主人,即用户)

oldgirl  (主人的家人,即用户)

3、test  (其他人,即用户)

创建一个目录oldboy 并且目录里创建一个文件 test.sh

模拟操作:

[root@oldboy ~]# groupadd incahome   ##创建一个用户组

[root@oldboy ~]# useradd oldboy -g incahome   ##创建一个用户并分配到指定的incahome用户组,如果oldboy用户存在需使用usermod修改用户组命令

[root@oldboy ~]# useradd oldgirl

[root@oldboy ~]# usermod -g incahome oldgirl  ##修改用户oldgirl所属用户组 用户必须已创建

[root@oldboy ~]# id oldboy  ##查看oldoyb UID和GID

uid=500(oldboy) gid=500(oldboy) groups=500(oldboy)

[root@oldboy ~]# id oldgirl

uid=501(oldgirl) gid=502(incahome) groups=502(incahome)

[root@oldboy ~]# useradd test

[root@oldboy ~]# id test

uid=502(test) gid=503(test) groups=503(test)

##创建oldboy目录,并在oldboy目录下创建一个文件test.sh

[root@oldboy ~]# mkdir /oldboy

[root@oldboy ~]# ls -ld /oldboy/

drwxr-xr-x 2 root root 4096 Dec  1 16:30 /oldboy/

[root@oldboy ~]# echo "echo oldboylinux" > /oldboy/test.sh

[root@oldboy ~]# ls -l /oldboy/test.sh

-rw-r--r-- 1 root root 17 Dec  1 16:33 /oldboy/test.sh

[root@oldboy ~]# chmod +x /oldboy/test.sh

[root@oldboy ~]# ls -l /oldboy/test.sh

-rwxr-xr-x 1 root root 17 Dec  1 16:33 /oldboy/test.sh

[root@oldboy ~]# chown oldboy.incahome /oldboy/test.sh   ##修改文件所属主和属组

[root@oldboy ~]# chown oldboy.incahome /oldboy/

[root@oldboy ~]# ls -l /oldboy/test.sh

-rwxr-xr-x 1 oldboy incahome 32 Dec  3 10:36 /oldboy/test.sh

[root@oldboy ~]# ls -ld /oldboy/

drwxr-xr-- 2 oldboy incahome 4096 Dec  4 17:01 /oldboy/

范例1:

[root@oldboy ~]# ls -l /oldboy/test.sh

-rwxr-xr-x 1 oldboy incahome 32 Dec  3 10:36 /oldboy/test.sh

[root@oldboy ~]# chmod 740 /oldboy/test.sh

[root@oldboy ~]# ls -l /oldboy/test.sh

-rwxr----- 1 oldboy incahome 17 Dec  4 17:01 /oldboy/test.sh

[root@oldboy ~]# su - oldgirl

[oldgirl@oldboy ~]$ cat /oldboy/test.sh

echo oldboylinux

[oldgirl@oldboy ~]$ /oldboy/test.sh

-bash: /oldboy/test.sh: Permission denied

[oldgirl@oldboy ~]$ rm -f /oldboy/test.sh

rm: cannot remove `/oldboy/test.sh': Permission denied

[oldgirl@oldboy ~]$ su - test

Password:

[test@oldboy ~]$ cat /oldboy/test.sh

cat: /oldboy/test.sh: Permission denied

[test@oldboy ~]$ /oldboy/test.sh

-bash: /oldboy/test.sh: Permission denied

[test@oldboy ~]$ rm  /oldboy/test.sh

rm: cannot remove `/oldboy/test.sh': Permission denied

范例2:

[root@oldboy ~]# chmod 762 /oldboy/test.sh

[root@oldboy ~]# ls -l /oldboy/test.sh

-rwxrw--w- 1 oldboy incahome 17 Dec  4 17:01 /oldboy/test.sh

[oldgirl@oldboy ~]$ ls -ld /oldboy/

drwxr-xr-x 2 root root 4096 Dec  4 17:01 /oldboy/

[oldgirl@oldboy ~]$ rm /oldboy/test.sh     ##文件名存在于oldboy目录的block里

rm: cannot remove `/oldboy/test.sh': Permission denied

[oldgirl@oldboy ~]$ echo "testdata" >> /oldboy/test.sh

[oldgirl@oldboy ~]$ cat /oldboy/test.sh

echo oldboylinux

testdata

[oldgirl@oldboy ~]$ su - test

Password:

[test@oldboy ~]$ rm /oldboy/test.sh

rm: cannot remove `/oldboy/test.sh': Permission denied

[test@oldboy ~]$ echo "othersdata" >> /oldboy/test.sh

[test@oldboy ~]$ cat /oldboy/test.sh

cat: /oldboy/test.sh: Permission denied

范例3:

[root@oldboy ~]# ls -l /oldboy/test.sh

-rwxr-x--x 1 oldboy incahome 17 Dec  4 17:47 /oldboy/test.sh

[root@oldboy ~]# su - oldgirl

[oldgirl@oldboy ~]$ cat /oldboy/test.sh

echo oldboylinux

[oldgirl@oldboy ~]$ /oldboy/test.sh

oldboylinux

[oldgirl@oldboy ~]$ su - test

Password:

[test@oldboy ~]$ cat /oldboy/test.sh

cat: /oldboy/test.sh: Permission denied

[test@oldboy ~]$ /oldboy/test.sh

bash: /oldboy/test.sh: Permission denied

范例4:

[root@oldboy ~]# chmod 754 /oldboy/

[root@oldboy ~]# ls -ld /oldboy/

drwxr-xr-- 2 oldboy incahome 4096 Dec  4 17:01 /oldboy/

[root@oldboy ~]# su - oldgirl

[oldgirl@oldboy ~]$ cd /oldboy/

[oldgirl@oldboy oldboy]$ ls /oldboy/

abc.txt  test.sh

[oldgirl@oldboy oldboy]$ ls -l /oldboy/

total 4

-rw-r--r-- 1 oldgirl incahome  0 Dec  3 10:41 abc.txt

-rwxr-x--x 1 oldboy  incahome 17 Dec  4 17:47 test.sh

[oldgirl@oldboy oldboy]$ su - test

Password:

[test@oldboy ~]$ cd /oldboy/

-bash: cd: /oldboy/: Permission denied

[test@oldboy ~]$ ls /oldboy/

ls: cannot access /oldboy/test.sh: Permission denied

ls: cannot access /oldboy/abc.txt: Permission denied

abc.txt  test.sh

[test@oldboy ~]$ ls -l /oldboy/

ls: cannot access /oldboy/test.sh: Permission denied

ls: cannot access /oldboy/abc.txt: Permission denied

total 0

-????????? ? ? ? ?            ? abc.txt

-????????? ? ? ? ?            ? test.sh

范例5:

[root@oldboy ~]# chmod 777 /oldboy/test.sh /oldboy/file.txt

[root@oldboy ~]# chmod 731 /oldboy/

[root@oldboy ~]# ls -ld /oldboy/

drwx-wx--x 2 oldboy incahome 4096 Dec  4 18:05 /oldboy/

[root@oldboy ~]# ls -l /oldboy/

total 8

-rwxrwxrwx 1 root   root      9 Dec  4 18:05 file.txt

-rwxrwxrwx 1 oldboy incahome 17 Dec  4 17:47 test.sh

[root@oldboy ~]# su - oldgirl

[oldgirl@oldboy ~]$ rm /oldboy/file.txt

[oldgirl@oldboy ~]$ ls -l /oldboy/

ls: cannot open directory /oldboy/: Permission denied

[oldgirl@oldboy ~]$ exit

logout

[root@oldboy ~]# ls -l /oldboy/

total 4

-rwxrwxrwx 1 oldboy incahome 17 Dec  4 17:47 test.sh

[root@oldboy ~]# su - test

[test@oldboy ~]$ rm /oldboy/test.sh

rm: cannot remove `/oldboy/test.sh': Permission denied

范例6:

[root@oldboy ~]# chmod 716 /oldboy/

[root@oldboy ~]# ls -ld /oldboy/

drwx--xrw- 2 oldboy incahome 4096 Dec  4 18:11 /oldboy/

[root@oldboy ~]# su - oldgirl

[oldgirl@oldboy ~]$ cd /oldboy/

[oldgirl@oldboy oldboy]$ pwd

/oldboy

[oldgirl@oldboy oldboy]$ su - test

Password:

[test@oldboy ~]$ cd /oldboy/

-bash: cd: /oldboy/: Permission denied

[test@oldboy ~]$ ls -l /oldboy/

ls: cannot access /oldboy/test.sh: Permission denied

total 0

-????????? ? ? ? ?            ? test.sh

Linux 文件普通权限_011的更多相关文章

  1. Linux文件的权限与属性

    由于以前学习Linux的时候没有做比较全面的总结笔记,而且平时大部分工作都在windows上进行,所以关于Linux的一些知识点有所遗忘.近期难得空闲,翻阅书籍,学习<鸟哥的Linux私房菜&g ...

  2. Linux学习之十五-Linux文件特殊权限和附加权限

    Linux文件特殊权限和附加权限 1.特殊权限suid 范围:只能针对二进制命令文件 作用:让普通用户拥有二进制命令文件所有者的权限 举例1:普通用户使用passwd命令修改密码 cat /etc/s ...

  3. Linux文件/目录权限设置命令:chmod

    文件/目录权限设置命令:chmod 这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限.该命令有两种用法: 用包含字母和操作符表达式的文字设定法 其语法格式为:chmod [w ...

  4. Linux文件普通权限

    1.文件所有者,所属用户组,其他用户1)文件所有者:创建文件的用户2)所属用户组:文件属于哪个用户组3)其他用户:不是文件所有者,不属于文件所属用户组的用户,称为其他用户 2.Linux文件权限我们切 ...

  5. linux文件访问权限(像rw-r--rw-是什么意思)

    Linux的文件访问权限分为 读.写.执行三种 r:可读(4) w:可写(2)对目录来说则可新建文件 x:可执行(1)对目录来说则可进入该目录 可用 ls -l 查看文件 像上图的-rw-r--rw- ...

  6. Linux 文件特殊权限 SUID SGID SBIT

    文件除了常规的权限r, w, x 还有一些特殊的权限,s与t权限,具体的用处如下 1 SetUID 当s 这个标志出现在文件所有者的x权限上时, 例如/usr/bin/passwd, [root@or ...

  7. Linux 文件特殊权限_013

    ***Linux 系统文件除了9位基本权限,还有额外3位特殊权限,分别是SUID(setuid),SGID(setgid),SBIT(sticky bit) 一.Linux 系统文件3位特殊权限位说明 ...

  8. linux文件基本权限-基本权限的修改

    基本权限的修改 当我们在linux或unix系统的terminal输入"ls -l"命令时,将输出文件的详细信息.第一列,如“drwxr-xr-x”就是文件的权限信息. yinti ...

  9. [apue] linux 文件访问权限那些事儿

    前言 说到 linux 上的文件权限,其实我们在说两个实体,一是文件,二是进程.一个进程能不能访问一个文件,其实由三部分内容决定: 文件的所有者.所在的组: 文件对所有者.组用户.其它用户设置的权限访 ...

随机推荐

  1. [ZOJ1482]Partitions

    [ZOJ1482]Partitions 题目大意: 给定一个\(n\times n(n\le3000)\)的\(\texttt 0/\texttt1\)矩阵,求去掉所有的\(1\)以后,矩阵被分成几个 ...

  2. CentOS7.5 搭建ElasticSearch6.4.2 + Kibana6.4.2 环境

    本文目录: 1.创建用户 2.授权sudo 3.下载ElasticSearch.Kibana 3.1 创建目录 3.2 下载文件 4.配置Elasticsearch 5.配置Kibana 参考资料: ...

  3. BZOJ4095 : [Usaco2013 Dec]The Bessie Shuffle

    首先将排列和整个序列以及询问都反过来,问题变成给定一个位置$x$,问它经过若干轮置换后会到达哪个位置. 每次置换之后窗口都会往右滑动一个,因此其实真实置换是$p[i]-1$. 对于每个询问,求出轮数, ...

  4. C++程序设计方法2:基本语法2

    对象赋值-赋值运算符重载 赋值运算符函数是在类中定义的特殊的成员函数 典型的实现方式: ClassName& operator=(const ClassName &right) { i ...

  5. js计算总页数

    前端js取余是a%b 取除数parseInt(a / b) /** * 总页数@param(总条数,每页总条数) */ function pageTotal(rowCount, pageSize) { ...

  6. 关于java异常处理的自我学习

    算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeAr ...

  7. 多个string数组组装成一个List<Object>

    最近遇到一个问题,数据库里面的数据存了一个多图字段和一个图片对应的排序,然后输出的时候需要按排序处理下. 当然,最容易想到的办法是遍历,然后添加,这次不想玩这么低级的代码,而且类似的需求项目中有好几个 ...

  8. OBDII Interface Project Source Code

    http://www.oocities.org/sstandfast/OBDII.htm 1 // File: VPWM.jal // Author: Shawn Standfast // Versi ...

  9. ABAP WB01 BDC ”No batch input data for screen & &“ ”没有屏幕 & & 的批输入数据“

    公司今年计划大批扩建门店,需要自动化维护相关主数据,其中就有一步通过调用 WB01的BDC录屏来自动创建地点,前台跑没有问题,但后台JOB死活不行,屏幕是以前同事录好的,只能硬着头皮修改. 后台任务日 ...

  10. C# Parallel.Invoke 实现

    Parallel.Invoke应该是Parallel几个方法中最简单的一个了,我们来看看它的实现,为了方法大家理解,我尽量保留源码中的注释: public static class Parallel ...