浅谈Linux用户权限管理之三(文件与权限的设定)

发布时间:2017-2-26 6:56:58 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"浅谈Linux用户权限管理之三(文件与权限的设定)",主要涉及到浅谈Linux用户权限管理之三(文件与权限的设定)方面的内容,对于浅谈Linux用户权限管理之三(文件与权限的设定)感兴趣的同学可以参考一下。

     标签:Linux 用户权限管理 文件与权限的设定 休闲 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ixdba.blog.51cto.com/2895551/531799 所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行等,在linux下,每个用户都具有不同的权限,普通用户只能在自己的主目录下进行写操作,而在主目录之外,普通用户只能进行查找、读取操作,如何处理好文件权限和用户之间的关系,是本节讲述的重点。 一 查看文件的权限属性 使用ls命令就可以查看文件的以及目录的权限信息,不带任何参数的ls命令只显示文件名称,通过“ls –al”可以显示文件或者目录的权限信息,看下面的输出: [[email protected] 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权限分解,如下图所示   接着对每个部分解释如下:  文档类型部分: 当为“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.第二列显示的是文档的连结数,这个连结数就是硬链接的概念,即多少个文件指向同一个索引节点,举例如下: [[email protected] ~]#ls -al -rw-r--r--   1 root root 60151 Oct 25 01:01 install.log [[email protected] ~]#ln install.log  install.log1 [[email protected] ~]#ls –al  install.log -rw-r--r--   2 root root 60151 Oct 25 01:01 install.log [[email protected] ~]#ln install.log  install.log2 [[email protected] ~]#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组。文件所属的用户和组是可以更改的,通过chown命令就可以修改文档的用户属性。 4.第四列显示的是文档的大小,默认显示的是以bytes为单位,但是也可以通过命令的参数修改显示的单位,例如可以通过“ls -sh”组合人性化的显示文档的大小。对于目录,通常只显示文件系统默认block的大小。 5.第五列显示文档最后一次的修改日期,通常以月、日、时、分的方式显示,如果文档修改时间距离现在已经很远了,会使用月、日、年的方式显示。 6.第六列显示的是文档名称,linux下以“.”开头的文件是隐藏文件,同理以“.”开头的目录是隐藏目录,隐藏文档只有通过ls命令的“-a”选项才能显示。 例如上面的.createtablespace.pl文件就是一个隐藏文件。 二 利用chown改变属主和属组 chown就是change owner的意思,主要作用就是改变文件或者目录的所有者,而所有者包含用户和用户组,其实chown就是对文件所属的用户和用户组进行的一系列设置。 chown使用的一般语法为: [[email protected] ~]#chown [-R] 用户名称 文件或目录 [[email protected] ~]#chown [-R] 用户名称:用户组组名称 文件或目录 参数说明: -R : 进行递归式的权限更改,也就是将目录下的所有文件、子目录都更新成为指定的用户组权限。常常用于变更某一目录的情况。 注意,在执行操作前,确保指定的用户以及用户组在系统中是存在的。 例子1:修改隐藏文件“.createtablespace.pl”的所属用户为oracle,所属的用户组为oinstall,操作如下: [[email protected] ~]#chown oracle:oinstall .createtablespace.pl [[email protected] ~]#ls -al  .createtablespace.pl -rwxr-xr-x   1 oracle   oinstall      3939 Mar 20  2008 createtablespace.pl 注意,这里要确保oracle用户和oinstall组已经存在。 例子2:修改oradata目录以及目录下的所有文件的所属用户为root,用户组为dba组,  [[email protected] ~]#chown -R root:dba oradata drwxr-xr--   3 root dba   4096 Oct 30  2006 oradata 三 利用chmod改变访问权限 chmod用于改变文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的字符设定法;另一种是包含数字的数字设定法。 1. 字符设定法 使用语法为: chmod [who] [+ | - | =] [mode] 文件名 命令中各选项的含义如下:  who表示操作对象,可以是下面字母中的任何一个或者它们的组合。  u 表示“用户(user)”,即文件或目录的所有者。  g 表示“用户组(group)”,即文件或目录所属的用户组。  o 表示“其他(others)用户”。  a 表示“所有(all)用户”。它是系统默认值。  操作符号含义如下:  “+”表示添加某个权限。  “-”表示取消某个权限。  “=”表示赋予给定的权限,同时取消文档以前的所有权限。  mode表示可以执行的权限,可以是“r“(只读)、“w”(可写)和“x”(可执行),以及它们的组合。  文件名可以是以空格分开的文件列表,支持通配符。 2.举例  修改install.log文件,使其所有者具有所有权限,用户组和其它用户具有只读权限: [[email protected] ~]# ls -al install.log -rw------  1 root root 60151 Oct 17 16:11 install.log [[email protected] ~]# chmod u=rwx,g+r,o+r install.log    [[email protected] ~]# ls -al install.log             -rwxr--r--  1 root root 60151 Oct 17 16:11 install.log  修改/etc/fstab文件的权限,使其所有者具有读写权限,用户组和其它用户没有任何权限: [[email protected] ~]# ll /etc/fstab          -rwxr--r--  1 root root 1150 Oct 23 09:30 /etc/fstab [[email protected] ~]# chmod u-x,g-r,o-r /etc/fstab      [[email protected] ~]# ll /etc/fstab                -rw-------  1 root root 1150 Oct 23 09:30 /etc/fstab 3.数字设定法 首先了解一下用数字表示属性的含义,0表示没有任何权限,1表示有可执行权限,与上面字符表示法中的“x”有相同的含义。2表示有可写权限,与“w”对应,4表示有可读权限,对应与“r“。 如果想让文件的属主拥有读和写的权限,可以通过4(可读)+2(可写)=6(可读可写)的方式来实现,那么用数字6就表示拥有读写权限。 使用语法: chmod [属主权限的数字组合] [用户组权限的数字组合] [其它用户权限的数字组合] 文件名 下图展示了数字设定法的实现原理:   上图数字设定法含义剖析 从图中可以清晰的看出,“755”组合的代表含义,第一个“7”显示了文件所有者的权限,是通过4(r)+2(w)+1(x)=7(rwx)而得到的。第二个“5”显示了文件所属组的权限,是通过4(r)+0(-)+1(x)=5(rx)而得到的,同理最后一个“5”也有类似的含义。 举例: 某个文件mysqltuner.pl的默认权限为600,即“-rw-------”,表示只有此文件的所有者(User)拥有读写权限,其它用户(Others)和组(Group)没有对此文件访问的任何权限。 首先修改此文件的权限为644,即“-rw-r--r--”,表示此文件的所有者(User)拥有读写权限,而其它用户(Others)和组(Group)仅仅拥有读的权限,操作如下: [[email protected] ~]$ ls -al mysqltuner.pl -rw------- 1 linux1 linux1 38063 Oct 26 07:49 mysqltuner.pl [[email protected] ~]$ chmod 644  mysqltuner.pl [[email protected] ~]$ 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)拥有对此文件的读和执行权限。 [[email protected] ~]$ chmod 755  mysqltuner.pl [[email protected] ~]$ ls -al mysqltuner.pl     -rwxr-xr-x 1 linux1 linux1 38063 Oct 26 07:49 mysqltuner.pl 本文出自 “技术成就梦想” 博客,请务必保留此出处http://ixdba.blog.51cto.com/2895551/531799

上一篇:C++基础学习系列-1-字符串的读取和显示
下一篇:Java 观察者模式的浅析

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。