Linux 的文件权限与目录配置

[root@localhost testfolder]# ls -al
total 121
drwxrwxrwx 1 vagrant vagrant     0 Jun 25 01:20 .
drwxrwxrwx 1 vagrant vagrant 28672 Jun 15 15:30 ..
drwxrwxrwx 1 vagrant vagrant     0 Jun 25 01:24 apue.3e
-rwxrwxrwx 1 vagrant vagrant   300 Jun 25 01:19 copy.c
-rwxrwxrwx 1 vagrant vagrant 92830 Jun 25 01:16 src.3e.tar.gz

ls是『list』的意思,重点在显示文件的文件名与相关属性。而选项『-al』则表示列出所有的文件详细的权限与属性 (包含隐藏档,就是文件名第一个字符为『 . 』的文件)。

  • 第一个字符代表这个文件是『目录、文件或链接文件等等』:
    当为[ d ]则是目录,例如上表档名为『.gconf』的那一行;
    当为[ - ]则是文件,例如上表档名为『install.log』那一行;
    若是[ l ]则表示为连结档(link file);
    若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
    若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

  • 如何改变文件属性与权限
    我们现在知道文件权限对于一个系统的安全重要性了,也知道文件的权限对于使用者与群组的相关性, 那么如何修改一个文件的属性与权限呢?又!有多少文件的权限我们可以修改呢? 其实一个文件的属性与权限有很多!我们先介绍几个常用于群组、拥有者、各种身份的权限之修改的指令,如下所示:

chgrp :改变文件所属群组
chown :改变文件拥有者
chmod :改变文件的权限, SUID, SGID, SBIT等等的特性

  • 复制行为(cp)会复制执行者的属性与权限:
  • .bashrc_test还是属于root所拥有, 如此一来,即使你将文件拿给bin这个使用者了,那他仍然无法修改的,必须要将这个文件的拥有者与群组修改:

[root@www ~]# cp 来源文件 目标文件

[root@www ~]# cp .bashrc .bashrc_test
[root@www ~]# ls -al .bashrc*
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
-rw-r--r--  1 root root 395 Jul 13 11:31 .bashrc_test  <==新文件的属性没变
改变权限, chmod

文件权限的改变使用的是chmod这个指令,但是,权限的设定方法有两种, 分别可以使用数字或者是符号来进行权限的变更。我们就来谈一谈:

  • 数字类型改变文件权限

Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限, 先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4
w:2
x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx—] 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= — = 0+0+0 = 0
所以等一下我们设定权限的变更时,该文件的权限数字就是770啦!变更权限的指令chmod的语法是这样的:


[root@www ~]# chmod [-R] xyz 文件或目录
选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更

将.bashrc这个文件所有的权限都设定启用,那么就下达:

[root@www ~]# ls -al .bashrc
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc
  • 在实际的系统运作中最常发生的一个问题就是,常常我们以vim编辑一个shell的文字批处理文件后,他的权限通常是 -rw-rw-r– 也就是664, 如果要将该文件变成可执行文件,并且不要让其他人修改此一文件的话, 那么就需要-rwxr-xr-x这样的权限,此时就得要下达:『 chmod 755 test.sh 』的指令啰!
    这里写图片描述

目录与文件之权限意义:

参考:http://cn.linux.vbird.org/linux_basic/0210filepermission.php#lsb_release

猜你喜欢

转载自blog.csdn.net/nockinonheavensdoor/article/details/80796746