CentOS系统管理_基本权限和归属的详解

  CentOS系统管理_基本权限和归属的详解

Linux系统管理_基本权限和归属-Redhat Enterprise 5

  文件和目录在linux系统中是最为重要的,经常使用root用户登录系统可能没感觉,一旦使用普通用户的时候,就会发现权限这个很棘手的问题,最近一段时间在学习关于文件和目录的权限,想了一下,可以从这四个方面来总结一下:

  一基本权限和归属关系

  二,文件和目录的权限

  三,权限的设置:chmod,umask,mkdir -m

  四,文件和目录的所有者和所属组:chown,chgrp

  扩展:

  Linux系统管理_附加控制权限:

  Linux系统管理_用户和用户组:

  Linux系统管理_ACL访问控制:

  一 :基本权限和归属关系

  1,访问权限:

  -读取:允许查看内容-read

  -写入:允许修改内容-write

  -可执行:允许运行和切换-excute

  注:可执行权限对于目录来说,对应的位置有x权限,意为是否可进入该目录;

  而对于文件来说,有x权限,意为该文件可执行,如程序(命令)的所有者权限中都有x权限。

  2,归属关系:

  -属主:拥有此文件或目录的用户-user

  -属组:拥有此文件或目录的组-group

  -其他用户:除属主、属组以外的用户-other

  最终权限:访问权限和归属关系共同决定最终权限

  二:文件和目录的权限

  [root@localhost/]# ll -d /etc/passwd /boot/

  drwxr-xr-x4rootroot1024 2013-07-10 /boot/ //目录

  -rw-r--r--1rootroot 1681 02-17 10:23 /etc/passwd //文件

  1 2 3 4 5 6 7 8

  第一段:d代表该目标为目录,-代表该目标位文件

  第二段:rwxr-xr-x :文件和目录的权限位

  注:一共九位,前三位为user(所有者)的权限,中间三位为group(所属组)的权限,最后三位为other(其他用户)的权限。

  其中r用数字标示为4,w为2,x为1

  第三段:对于文件来说,为硬链接数;

  对于目录来说,为该目录下有多少个目录,其中包括隐藏目录“.”和“..”。

  第四段:为属主,即文件或目录的所有者

  第五段:为所属组

  第六段:文件的大小,默认情况下单位为bit(字节)

  第七段:为最后修改的时间

  第八段:文件或目录的名称

  三:设置基本权限:chmod、umask和mkdir -m

  1,chmod命令

  -格式:chmod [ugoa] [+ - =][rwx] 文件/目录

  chmod [nnn] 文件/目录(n代表权限的数字形式)

  常用选项:-R :递归更改权限

  - -reference=:以指定文件或目录做模板(这个不重要)

  示例:

  1,修改Desktop的相关属性,分别使用字符权限和数字权限进行设置

  [root@localhost ~]#ll -d Desktop/

  drwxr-xr-x 3 rootroot 4096 02-16 03:40 Desktop/

  [root@localhost ~]#chmod g+w,o-rx Desktop/

  [root@localhost ~]#ll -d Desktop/

  drwxrwx--- 3 rootroot 4096 02-16 03:40 Desktop/

  [root@localhost ~]#chmod 755 Desktop/

  [root@localhost ~]#ll -d Desktop/

  drwxr-xr-x 3 rootroot 4096 02-16 03:40 Desktop/

  2,创建一个可执行文件,并赋予所有者x权限

  [root@localhost ~]#echo "echo Hello World" > test.sh

  [root@localhost ~]#ll -lh test.sh

  -rw-r--r-- 1 rootroot 17 02-18 21:12 test.sh

  [root@localhost ~]# chmod +x test.sh //+x默认为所有者添加该权限

  [root@localhost ~]#ll -lh test.sh

  -rwxr-xr-x 1 rootroot 17 02-18 21:12 test.sh

  [root@localhost ~]#./test.sh

  Hello World

  [root@localhost ~]#

  2,umask命令:新建文件或目录的默认权限

  -一般文件默认不给x执行权限

  -其他取决于umask设置

  -umask值可以进行设置(为临时,umask 0027即讲umask值设置为0027,可使用umask查看)

  注1:由于文件默认不给x权限,所以创建一个新文件的最大权限为666,创建一个目录的最大权限为777。

  注2: umask默认值为022(- - -- w-- w -),也就是说:

  新建一个文件时缺省权限为:

  为rw - rw - rw - 和- - -- w --w - 的差,即为rw - r - - r - -;即为644(注:不能用777或666减去022)

  新建一个目录时缺省权限为:

  为rwx rwx rwx 和- - -- w --w - 的差,即为rwx r - x r - x;即为755

  示例:

  [root@localhost ~]# umask

  0022

  [root@localhost ~]# mkdir mulu1

  [root@localhost ~]# touch file1.txt

  [root@localhost ~]# ll -d mulu1/ file1.txt

  -rw-r--r--1 root root 0 02-18 21:22 file1.txt //默认文件权限为644

  drwxr-xr-x2 root root 4096 02-18 21:21 mulu1/ //默认目录权限为755

  [root@localhost ~]# umask 0027 //将umask值设置为0027

  [root@localhost ~]# umask

  0027 //修改之后umask值为0027

  [root@localhost ~]# mkdir mulu2 //修改umask值后再次创建目录

  [root@localhost ~]# touch file2.txt //修改umask值后再次创建文件

  [root@localhost ~]# ll -d mulu2/ file2.txt

  -rw-r-----1 root root 0 02-18 21:28 file2.txt

  drwxr-x---2 root root 4096 02-18 21:28 mulu2/

  [root@localhost ~]#

  可以看到umask值设置为0027之后,那么创建的目录和文件的权限方面other用户将不再拥有任何权限。

  3,mkdir -m

  mkdir为创建一个目录,-m参数可以直接指定即将创建目录的权限

  mkdir

  四,文件和目录的所有者和所属组:chown,chgrp

  1,chown:设置文件或目录的归属关系

  -格式:chown 属主 文件或目录 //修改文件或目录的所有者

  chown :属组 文件或目录 //修改文件或目录的所属组

  chown 属主:属组 文件或目录 //修改文件或目录的所有者和所属组

  -R选项:递归修改权限

  - -reference选项:以指定目录或文件作为模板(作为了解)

  示例:

  首先修改file1.txt的权限

  然后以file1.txt为模板修改file2.txt文件的权限所有者和所属用户组。

  [root@localhost ~]# touch file1.txt

  [root@localhost ~]# touch file2.txt

  [root@localhost ~]# ll file*

  -rw-r--r-- 1 rootroot 0 02-18 21:43 file1.txt

  -rw-r--r-- 1 rootroot 0 02-18 21:43 file2.txt

  [root@localhost ~]# useradd user1

  [root@localhost ~]# chown user1:user1 file1.txt //修改file1.txt所有者为user1

  //所属组为user1

  [root@localhost ~]# ll file*

  -rw-r--r-- 1 user1user1 0 02-18 21:43 file1.txt

  -rw-r--r-- 1root root 0 02-18 21:43 file2.txt

  [root@localhost ~]# chown --reference file1.txt file2.txt //file2.txt将会复制file1.txt的属性

  [root@localhost ~]# ll file*

  -rw-r--r--1 user1 user1 0 02-18 21:43 file1.txt

  -rw-r--r--1 user1 user1 0 02-18 21:43 file2.txt //所有者和所属组为和

  //file1.txt相同

  2,chgrp:设置文件或目录的所属组

  chgrp 属组 文件或目录 :修改文件或目录为的所属组

  注:相当于chown :属组文件或目录

  [root@localhost ~]# ll file*

  -rw-r--r--1 user1 user1 0 02-18 21:43 file1.txt

  -rw-r--r--1 user1 user1 0 02-18 21:43 file2.txt

  [root@localhost ~]# chgrp root file1.txt file2.txt //修改file1和file2的属主

  [root@localhost ~]# ll file*

  -rw-r--r--1 user1 root 0 02-18 21:43 file1.txt //属主变为root

  -rw-r--r--1 user1 root 0 02-18 21:43 file2.txt //属主变为了root

  [root@localhost ~]#

  总结:

  chmod,chown,chgrp这三个命令虽然参数很少,但是总是容易搞混,不过用的多了,用的熟练了就能记住了,chmod修改的是权限,chown修改的是所属用户和组,chgrp修改的是所属组。

  最需要注意的是umask的值的设定,新建文件和文件夹时的默认权限!

(0)

相关推荐

  • Linux下通过受限bash创建指定权限的账号代码详解

    本文研究的主要是在Linux下通过受限bash创建指定权限的账号的相关内容,具体介绍如下. 在日常业务运维中,有时为了配合解决问题,需要给非运维人员开通系统账号,用于查询日志或代码.通常为了系统安全或 ...

  • java中4种修饰符访问权限的区别及详解全过程

    java中4中修饰符分别为public.protect.default.private,他们这就说明了面向对象的封装性,所以我们要适用他们尽可能的让权限降到最低,从而安全性提高. 下面详细讲述下它们的 ...

  • CentOS系统管理_用户和用户组的详解

    一:新建用户和用户组:useradd和groupadd 1,useradd的参数: -u:指定UID标记号 -d:指定宿主目录,缺省为/home/用户名 -e:指定账号失效时间(下面usermod也有 ...

  • CentOS下如何用Vim加密解密文本详解

    CentOS用vim/vi给文件加密和解密 一. 利用 vim/vi 加密: 优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了; 缺点:很明显让别人知道加密了,容易让别人把加密的文 ...

  • CentOS系统中与时间的相关命令详解

    时间在任何系统里都是最基本的部分,必不可少.本文介绍CentOS系统中与时间的相关命令. 基本概念 硬件时钟(Hardware Clock) 硬件时钟,也叫实时时钟(RealTimeClock),或者 ...

  • 安装Centos 6.5时包组安装建议详解

    在安装Centos 6.5时,无论是作为学习使用还是在生产场景中用作服务器,一般情况下我们只需要安装以下建议的这些包组即可,服务安装越少,系统就越安全.往后根据需要可以再进行安装. 在出现此界面的时候 ...

  • CentOS Linux下的3款分区工具详解

    伴随着科技的飞速发展,越来越多的企业对于服务器的稳定要求越来越高,越来越多的企业开始采用linux系统来部署自己的服务,以求高效的稳定性,当然任何操作系统都需要一个最基本的基础,那就是硬盘,及硬盘分区 ...

  • CentOS下SWAP分区建立及释放内存详解

    方法一: 一.查看系统当前的分区情况: >free -m 二.创建用于交换分区的文件: >dd if=/dev/zero of=/whatever/swap bs=block_size ( ...

  • CentOS下共享内存使用的常见陷阱详解

    所谓共享内存就是使得多个进程可以访问同一块内存空间,是最快的可用IPC形式.是针对其他通信机制运行效率较低而设计的.往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥.其他进程能把同一段共 ...