Linux 文件普通权限_011
一、文件权限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的更多相关文章
- Linux文件的权限与属性
由于以前学习Linux的时候没有做比较全面的总结笔记,而且平时大部分工作都在windows上进行,所以关于Linux的一些知识点有所遗忘.近期难得空闲,翻阅书籍,学习<鸟哥的Linux私房菜&g ...
- Linux学习之十五-Linux文件特殊权限和附加权限
Linux文件特殊权限和附加权限 1.特殊权限suid 范围:只能针对二进制命令文件 作用:让普通用户拥有二进制命令文件所有者的权限 举例1:普通用户使用passwd命令修改密码 cat /etc/s ...
- Linux文件/目录权限设置命令:chmod
文件/目录权限设置命令:chmod 这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限.该命令有两种用法: 用包含字母和操作符表达式的文字设定法 其语法格式为:chmod [w ...
- Linux文件普通权限
1.文件所有者,所属用户组,其他用户1)文件所有者:创建文件的用户2)所属用户组:文件属于哪个用户组3)其他用户:不是文件所有者,不属于文件所属用户组的用户,称为其他用户 2.Linux文件权限我们切 ...
- linux文件访问权限(像rw-r--rw-是什么意思)
Linux的文件访问权限分为 读.写.执行三种 r:可读(4) w:可写(2)对目录来说则可新建文件 x:可执行(1)对目录来说则可进入该目录 可用 ls -l 查看文件 像上图的-rw-r--rw- ...
- Linux 文件特殊权限 SUID SGID SBIT
文件除了常规的权限r, w, x 还有一些特殊的权限,s与t权限,具体的用处如下 1 SetUID 当s 这个标志出现在文件所有者的x权限上时, 例如/usr/bin/passwd, [root@or ...
- Linux 文件特殊权限_013
***Linux 系统文件除了9位基本权限,还有额外3位特殊权限,分别是SUID(setuid),SGID(setgid),SBIT(sticky bit) 一.Linux 系统文件3位特殊权限位说明 ...
- linux文件基本权限-基本权限的修改
基本权限的修改 当我们在linux或unix系统的terminal输入"ls -l"命令时,将输出文件的详细信息.第一列,如“drwxr-xr-x”就是文件的权限信息. yinti ...
- [apue] linux 文件访问权限那些事儿
前言 说到 linux 上的文件权限,其实我们在说两个实体,一是文件,二是进程.一个进程能不能访问一个文件,其实由三部分内容决定: 文件的所有者.所在的组: 文件对所有者.组用户.其它用户设置的权限访 ...
随机推荐
- linux 常用命令解压压缩
tar -zxvf filename.tar.gz // 解包 tar -xvf filename.tar // 解包 tar -zcvf filename.tar.gz target // 制作ta ...
- c++语言的设计和演化---在线函数
开始的c++语言中引入inline函数的目的是处理一些实时的情况,而普通的函数调用的开销无法被接受. 起初是在类的声明中定义inline函数,也只支持成员函数,后来才支持非成员函数:
- 3ds max学习笔记-- 动画
栗子:若要使茶壶从a点运动到b点,是需要动画实现的:动画与传统意义的移动不同,与时间是存在关系的: 时间线,时间滑条: [时间配置]按钮: 弹出面板: 动画时间轴默认时间是从0帧开始100结束:总长度 ...
- Android探索之旅 | AIDL原理和实例讲解
轉載自http://www.jianshu.com/p/ef86f682a8f9 -- 作者 谢恩铭 转载请注明出处 前言 为使应用程序之间能够彼此通信,Android提供了IPC (Inter Pr ...
- 关于js的函数
1.获取内容的兼容函数 /* * 一: 获取内容的兼容函数 * setText(obj, str) * 思路: * 1.首先判断浏览器: * 2.如果是IE浏览器,就用innerText: * 3.如 ...
- Aizu0121 Seven Puzzle(bfs+康托展开)
https://vjudge.net/problem/Aizu-0121 比八数码要水的多,bfs. 但是做的时候我把康托展开记错了,wa了好几次. 附上康托展开博客详解:https://blog.c ...
- Java Web 清除缓存
res.setHeader("Cache-Control", "no-cache"); res.setHeader("Pragma", &q ...
- 用SublimeText当Unity Shader的编辑器
用Visual Studio写shader实在蛋疼,那可能就会有人要问了,为啥不用插件可视化制作shader呢?因为我是新手,新手还是老老实实敲代码,慢慢来- 所以试着在网上找找,有没有类似的插件或者 ...
- java后台服务器启动脚本
最近由于经常在项目上线或者调试中启动服务,由于要设置环境变量这些,所以为了方便写了个启动脚本,希望能够帮助大家,也算是给自己做个小笔记: example_project_start.sh: # /bi ...
- fashion datasets图像检索实践project
Using Siamese Networks and Pre-Trained Convolutional Neural Networks (CNNs) for Fashion Similarity M ...