3.Linux用户权限管理之三(文件与权限的设定)
用户权限管理之三(文件与权限的设定)
所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行等,在linux下,每个用户都具有不同的权限,普通用户只能在自己的主目录下进行写操作,而在主目录之外,普通用户只能进行查找、读取操作,如何处理好文件权限和用户之间的关系,是本节讲述的重点。
一查看文件的权限属性使用ls命令就可以查看文件的以及目录的权限信息,不带任何参数的ls命令只显示文件名称,通过“ls –al”可以显示文件或者目录的权限信息,看下面的输出:
[root@localhost oracle]# ls -al
total 92
drwxr-xr-x 3 oracle oinstall 4096 Oct 30 2006 admin
drwxr-xr-x 2 oracle oinstall 4096 Oct 23 18:22 bin
-rwxr-xr-x 1 root root 3939 Mar 20 2008 .createtablespace.pl
drwxr-xr-x 3 oracle oinstall 4096 Oct 30 2006 flash_recovery_area
drwxr-xr-x 2 oracle oinstall 4096 Jun 25 15:18 install
drwx------ 2 oracle oinstall 16384 Jun 25 01:10 lost+found
drwxr-xr-- 3 oracle oinstall 4096 Oct 30 2008 oradata
drwxr-xr-x 6 oracle oinstall 4096 Oct 30 2006 oraInventory
drwxr-xr-x 3 oracle dba 4096 Oct 28 2006 product
为了能更详细的介绍上面输出中每个属性的含义,下图列出了oradata文档每列代表的含义:
下面通过具体的实例讲述每列代表的含义。
1.第一列显示文档类型与执行权限,有十个字符组成,分为4个部分,下面将文档oradata权限分解,如下图所示
下面通过具体的实例讲述每列代表的含义。
1.第一列显示文档类型与执行权限,有十个字符组成,分为4个部分,下面将文档oradata权限分解,如下图所示接着对每个部分解释如下:
文档类型部分:
当为“d”时,表示目录;当为“l”时表示软链接;当为“-”时表示文件;当为“c”时表示串行端口字符设备文件;当为“b”时表示可供存储的块设备文件。由此可知,oradata是一个目录。
在接下来的三个部分中,三个字符为一组,每个字符的含义为:“r”表示只读,即read;“w”表示可写,即write;“x”表示可执行,即execute;“-”表示无此权限,即为空。 User部分:
第二部分是对文档所有者(user)权限的设定,“rwx”表示用户对oradata目录有读、写和执行的所有权限。Group部分:
第三部分是对文档所属用户组(group)权限的设定,“r-x”表示用户组对oradata目录有读和执行的权限,但是没有写的权限。
Others部分:第四部分是对文档拥有者之外的其它用户权限的设定,“r--”表示其它用户或用户组对oradata目录只有读的权限。文档的操作权限是可以指定和更改的,通过chmod命令即可更改文件或者目录的权限,这个将在下节讲述。
2.第二列显示的是文档的连结数,这个连结数就是硬链接的概念,即多少个文件指向同一个索引节点,
举例如下:
[root@localhost ~]#ls -al
-rw-r--r-- 1 root root 60151 Oct 25 01:01 install.log
[root@localhost ~]#ln install.log install.log1
[root@localhost ~]#ls
–
al install.log
-rw-r--r-- 2 root root 60151 Oct 25 01:01 install.log
[root@localhost ~]#ln install.log install.log2
[root@localhost ~]#ls
–
al install.log
-rw-r--r-- 3 root root 60151 Oct 25 01:01 install.log
从上面可以看出,
install.log
文件原始的连结数是1,然后做了两个硬链接操作,install.log文件的连接数变为3,这就是连接数的含义。
3.第三列显示了文档所属的用户和用户组,也就是文档是属于哪个用户以及哪个用户组所有,例如上面的oradata目录,所属的用户为oracle,所属的组为oinstall组。文件所属使用语法:chmod [属主权限的数字组合] [用户组权限的数字组合] [其它用户权限的数字组合] 文件名下图展示了数字设定法的实现原理:
上图数字设定法含义剖析从图中可以清晰的看出,“755”组合的代表含义,第一个“7”显示了文件所有者的权限,是通过4(r)+2(w)+1(x)=(rwx)而得到的。第二个“5”显示了文件所属组的权限,是通过4(r)+0-)+1(x)=5(rx)而得到的,同理最后一个“5”也有类似的含义。举例:
某个文件mysqltuner.pl的默认权限为600,即“-rw-------”,表示只有此文件的所有者(User
)拥有读写权限,其它用户(Others)和组(Group)没有对此文件访问的任何权限。
首先修改此文件的权限为644,即“-rw-r--r--”,表示此文件的所有者(User)拥有读写权限,而其它用户(Others)和组(Group)仅仅拥有读的权限,操作如下:
[linux1@localhost ~]$ ls -al mysqltuner.pl
-rw------- 1 linux1 linux1 38063 Oct 26 07:49 mysqltuner.pl
[linux1@localhost ~]$ chmod 644 mysqltuner.pl
[linux1@localhost ~]$ ls -al mysqltuner.pl
-rw-r--r-- 1 linux1 linux1 38063 Oct 26 07:49 mysqltuner.pl
然后接着修改mysqltuner.pl文件的权限为755,即“-rwxr-xr-x”,表示此文件的所有者(User)拥有读写执行权限,而其它用户(Others)和组(Group)拥有对此文件的读和执行权限。
[linux1@localhost ~]$ chmod 755 mysqltuner.pl
[linux1@localhost ~]$ ls -al mysqltuner.pl
-rwxr-xr-x 1 linux1 linux1 38063 Oct 26 07:49 mysqltuner.pl
- Linux中的完美截图工具:Deepin-ScreenShot
- ASM 翻译系列第二十弹:ASM Internal ASM file number 7
- Linux:awk命令详解
- 给已安装的Linux新增Swap交换分区
- ASM 翻译系列第二十一弹:ASM Attributes Directory
- Linux:sed命令详解
- ASM 翻译系列第二十二弹:ASM Internal ASM file number 8
- Ghost安装Win7/XP后自动恢复IP的批处理
- ASM 翻译系列第二十三弹:ASM Internal ASM files number 12 and 254
- Shell脚本的简单排错法及调试程序bashdb
- ASM 翻译系列第二十四弹:ASM Internal ASM files number 10 and 11
- Redhat设置NFS挂载的简单步骤
- WordPress后台首页显示RSS错误的解决办法
- ASM 翻译系列第十九弹:ASM Internal ASM Continuing Operations Directory
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SQL使用(一):如何使用SQL语句去查询第二高的值
- OpenCV加载图片显示对应类型(位深度)方法
- 小程序快速入门教程(登录注册、开发工具、文件及结构介绍)
- 面试题-统计字符出现最大次数
- pytorch中文语言模型bert预训练代码
- React环境搭建
- leetcode - 旋转数组的最小数字
- 笔记101 | 文件的压缩与解压笔记
- 诸葛亮vs司马懿,排序算法大战谁能笑到最后?
- Centos密钥登陆,解决云服务器被尝试登陆问题
- Fair Scheduler到Capacity Scheduler 转换工具
- 这可能是把SpringBoot配置文件讲解的最详细的文章了
- 抛出这8个问题,检验一下你到底会不会ThreadLocal,来摸个底~
- 最近合肥降雨不断,给自己做一个天气情况微信定时推送吧
- 【适合收藏】为了多点时间陪女朋友,我向BAT大佬跪求了这15条JS技巧