执行[Is -l或[ls -al]或[Il]命令后显示的结果如图所示。
第一个字符一般用来区分文件和目录,d表示一个目录:事实上在ext2fs中,目录一个特殊的文件,一表示这是一个普通的文件。I 表示这是一个符号链接文件,实际上它指向另一个文件。b、c分别表示区块设备和其他的外围设备,是特殊类型的文件。s、p这些文件关系到系院的数据结构和管道。通常很少见到。
第2~10个字符是用来表示一般权限。每3个为一组,左边3个字符表示所有者权限,中间3个字得表示与所有者同一组的用户的权限、右边3个字符是其他用户的权限。这3个一组共9个字符.
每个用户都拥有自己的专属目录,即家目录,通常集中放置在/home日录下,这些专属目录的默认权限为rwx----表示目录所有者本身具有所有权限,其他用户无法进入该目录。执行[mkdir]命今所创建的目录,其默认权限为rwxr-xr-x.用户可以根据需要修改目录的权限。
文件和目录的权限表示,是用r、w、x这3个字符来代表所有者、用户组和其他用户的权限。有时,字符似乎过于麻烦,因此还有另外一种方法是以数字来表示权限,而且仅需了个数字。我们把r、w、x分别用数值4.2.1来表示,权限数字之和即可代表对应的权限,具体如下.
r。对应数值4
w:对应数值2
x对应数值1,
-对应数值0.
r、w、x合起来就是4+2+1=7,一个rwxrwxrwx权限全开放的文件,数值表示为777;而完全不开放权限的文件-------其数值表示为 000.
在文本模式下,可执行[chmod]命令改变文件和目录的权限。[chmod 777 123. txt]把123.txt文件的权限设置为777.
[chmod 777 /home/ user]仅把/home/ user目录的权限设置为rwxrwxrwx
[chmod -R 777 /home/ user]将整个/home/ user目录与其中的文件和子目录的权限都设置为rwxrwxrwx.
[chmod u-=rwxe,g=rx,o=rx 123. txt]把123.txt文件设置为755的权限。
这里的u=wx代表user(文件的拥有者)的权限等于rwx。g=rx代表group(所属组)的权限等于rx,0=rx代表other(其他人)的权限等于rx。
第3步:更改文件的所有者以及所属组
文件与目录的权限可以改变,使用[chown]命令还可以改变其所有者及所属用户组。先使用[touch 123. txt]命令创建一个文件后再执行[Is]或[ll]命令在看文件的情况.如图所示
从上图看到,123.txt文件的所有者为root.所属用户组为root.执行下面命令,把123.txt文件的所有权转移到用户yhy,如图所示.[chown yhy 123. txt]把123.txt文件的拥有者改为yhy用户.[Is -l]查看文件的详细信息,
要改变所属组。可使用[chown yhy 123. txt]命令把123. tXt文件的所属组改为yhy.然后使用[ls -l]命令查看文件的详细信息,如图所示。
除了可以通过[chown]命令改变文件的拥有者以及所属组外,还可以通过[chgrp]命令改变文件的所属组
[chgrp yangs /etc/123. txt]修改/etc/a.txt属组为yangs.
[chmod yhy. zck a txt]或[chmod yhy:ack a.txt]把a.txt文件的所有者改为yhy,所属组改为zck.
当然,前提条件是yhy用户以及zck用户组存在于系统中。然后可以用[ls-l]命令查看一下执行后的结果。
第4步,认识umask
当我们登录系统之后创建一个文件总是有一个默认权限,那么这个权限是怎么来的?这就是umask的功能。umask 设置了用户创建文件的默认权限,它与chmod的结果刚好相反,umask设置的是权限“补码”。而chmod设置的是文件权限码。一般可在/exc/profile、/etc/bashre、$ [HOME]/. bash_ profle, $ [HOME]/. profile或$ [HOME]/. bashrc中设置umask值。具体取决于Linux发行版本。
默认的权限可用[umask]命令修改用法非常简单,只需执行[urmask 777]命令、便代表屏蔽所有的权限,因而之后建立的文件或目录,其权限都变成000。依此类难。如图所示。
如上图所示,执行[umask 777]命令后,再建立的文件夹的权限默认为000.
Linux引人suid、sgid、sticky这3种特殊权限,能够更加方便,有效和安全地控制文件。
同样sgid、sticky和suid相同,如果原来目录或文件的属组没有(执行)权限,就会用小写的s来代替x,如果原来文件或目录不具有x(执行)权限,就会用大写的S来代替x,
如果在一个文件或目录上加人sticky权限时,若原文件或目录的其他用户有X(可执行权限时,就用小写t代替x如果原文件或目录没有x权限时,就用大写T替代x权限,
第6步:识别文件颜色
从第五步图中,可以看出,在Linux中,文件的颜色都是有含义的。其中,Linux中文件名颜色不同,代表文件类型不一样。具体如下所示,钱蓝色:表示链接文件,
灰色:表示其他文件,
绿色:表示可执行文件,
红色:表示压缩文件,
蓝色:表示目录,
红色闪烁:表示链接的文件有问题了,黄色:表示设备文件,包括block 、char 、fifo.
用[dircolors -p]命令可以看到默认的颜色设置,包括各种颜色和“粗体”。下面线,闪烁等的定义。
[ touch a.txt]创建的一般文件,文件颜色为白色.
[chmod 775 a.txt]增加可执行权限后,文件颜色变为绿色。
[ln /etc/abc. txt 345. txt]执行该命令后,文件颜色变为天蓝色(建立345. tXt为/etc/abc. txt的快捷方式)。
第7步:总结常用的几个命令
CentOS中常用的有关权限的几个命令以及定义如下,熟悉它们会让你的运维事半功信。[chmod u+ x,g一x,0= test]所有者加上执行权限,组成员减少执行权限,其他成员设置为执行权限。
[chmod-R 766 ./]修改当前目录权限,要求里面的所有文件和文件夹的权限修改为766
[chown user1:G3 zip.zip]修改zip. zip的所有者为user1,所有组为 G3,
[umask]查看当前umask参数。
[touch /home/dir1]在/home目录下创建新目承dir1
[ll /home/dir1]是示目录dir1 的详细信息,记录目录的权限信息.[umask 066]改变umask参数为066.
[chmod g十w /home/dir1]为dir1的同组用户增加写权限.
[chmod 755 /home/dir1]改变file1的文件权限为755.