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 

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏cloudskyme

开源权限系统sshpermissions

第一章 引言 1.1 编写目的 使用easyui+ssh2+shiro的权限管理系统,粒度可细化到按钮及菜单级别。目前是第一个稳定版本,可实现基本的权限控制功能...

44980
来自专栏北京马哥教育

Linux中五个你可能不了解的killall选项

糖豆贴心提醒,本文阅读时间8分钟 引言 Linux的命令行提供很多命令来杀死进程。 比如,你可以向“kill”命令传递一个PID来杀死进程;“pkill”命令...

38060
来自专栏老付的网络博客

IIS执行原理

HTTP.SYS是TCP之上的一个网络驱动程序,因此,HTTP.SYS不再属于IIS(这里说的IIS都是IIS6.0+版本,下文如果不特殊指明,默认为IIS6....

17720
来自专栏静默虚空的博客

Tomcat 快速入门

Tomcat 快速入门 版本说明 本文使用 Tomcat 版本为 Tomcat 8.5.24。 Tomcat 8.5 要求 JDK 版本为 1.7 以上。...

38250
来自专栏游戏杂谈

Node + Express + Mysql的CMS小结

因为之前用过上述的组合完成过很多系统,而这一次是为了实现一个帮助系统的静态网页发布。因为很久不写,重点说遇到的几个坑:

13920
来自专栏linux运维学习

linux学习第八篇:文件或目录权限chmod,更改所有者和所属组chown,umask,隐藏权限lsattr_chattr

文件或目录权限chmod 三种基本权限 R           读         数值表示为4 W           写         数值表示为2 X ...

21380
来自专栏Jerry的SAP技术分享

SpringBoot应用和PostgreSQL数据库部署到Kubernetes上的一个例子

上述Service的yaml文件里每个字段,在Kubernetes的API文档里有详细说明。

11300
来自专栏北京马哥教育

Varnish 4.0 实战

简介 Varnish 是一款高性能且开源的反向代理服务器和 HTTP 加速器,其采用全新的软件体系机构,和现在的硬件体系紧密配合,与传统的 squid 相比,v...

43940
来自专栏容器云生态

linux的内存清理相关知识!

1.清理前内存使用情况  free -m 2.开始清理   echo 1 > /proc/sys/vm/drop_caches 3.清理后内存使用情况  f...

29780
来自专栏青玉伏案

Windows下Go语言的环境搭建

在本地搭建了一个开发GO语言的开发环境,给大家分享一下用go语言写的第一个hello world的过程,希望对大家有所帮助。 1.想写GO语言首先得下载go语言...

235100

扫码关注云+社区

领取腾讯云代金券