###################################################################
######################第六单元######################################
###################################################################
1.文件属性查看
ls  -l  filename
-         rw-rw-r--           1                           root           root    1200   Oct  2 17:05       file
文件     文件     文件副本个数               文件          文件    大小    最后一次被        名字

类型     权限  (文件被存储的次数)  所有人     所有组             修改的时间         

2.查看目录属性
ls  -ld    directoy
d                   rwxr-xr-x          3          root               root                33                  Aug 27 09:47    directory
文件类型    权限       子目录个数  目录所有人  目录所有组  子文件属性大小    时间            目录名字

(文件类型和权限共10位,分为四段,第一段为类型,第二段为所有者权限,第三段所属组成员的权限,第四段其他人的权限)

linux中的七中文件类型:
d   ##目录
-    ##普通文件
l    ##符号连接(指向另一个文件,类似windows下的快捷方式)
s   ##套接字文件(socket是抽象出来的,是进程间通信的一种机制)
b   ##块设备文件(二进制文件)
c   ##字符设备文件
p   ##命名管道文件

3.文件用户组的更改
chown     用户名称    文件        ##更改文件所有人
chgrp     组名称        文件    ##更改文件所有组
chown -R  用户        目录    ##更改目录本身以及目录中的子文件的所有人
chgrp -R  组名        目录    ##更改目录本身以及目录中的子文件的所有组
(-R 可理解为递归更改)

4.权限的识别(rwx 三个特殊权限)
ls -l   中2-10字符为文件权限(即 rwxr-x)
 rwx                   r-x                    r-x
用户权限     组成员权限      其他用户权限

权限种类
r
 r权限针对文件,表示可以查看文件内容
 r权限针对目录,表示可以ls查看目录中存在的文件名称
 
w
 w权限针对文件,表示可以更改文件的内容
 w权限针对目录,表示可以删除目录中的子文件或者子目录
 
x
 x权限对于文件,表示可以开启文件当中记录的程序
 x权限对于目录,表示可以进入目录中

chmod      ##用于修改权限
 eg:chmod ugo+=rwx file  ##修改file文件的权限为rwxrwxrwx
 u表示user g表示group o表示other a表示all

r=4 w=2 x=1 -=0 (已被设定好的)
u=rwx=7 | g=rwx=7 | o=rwx=7(4+2+1=7)  
 rw-r--r--      #用数字表示为644,u=rw-=6 g=r--=4 o=r--=4

7=rwx,6=rw-,5=r-x,4=r--,3=-wx,2=-w-,1=--x,0=---
eg:chmod 755 file  ##将file文件权限设置为rwxr-xr-x
    chomd 444 file -R 或 chmod -R 444 hh ##将hh目录下所有文件的权限改为444(4=r--)

5.文件的默认权限
umask    ##此命令显示系统预留权限值,创建文件的默认权限。
      对于文件,最大设置为6,系统不允许创建一个文件直接给与执行权限。
umask nnn (nnn范围是000-777)
 

eg:umask值为002,对应的文件和目录创建缺省权限分别为644和775

 可以这么理解,对于目录 umask值+目录权限=777
         对于文件 umask值+文件权限=666


测试:[root@foundation8 Desktop]# umask
      0022    此时,第一个0表示suid,这个位置一般用于定义特殊权限,后三位为有效权限。


vim /etc/bashrc        71行是普通用户的更改,73是超级用户的更改
vim /etc/profile    60行是普通用户的更改,62是超级用户的更改
source /etc/bashrc     ##刷新bash配置
source /etc/profile     ##刷新系统配置
补充:source命令也称点命令,用于重新执行刚修改的初始文件,使之立即生效。
     source还有一个作用就是可以并一个文件的内容当成shell来执行。


6.特殊权限

(1)sticky bid    ###强制位
o+t            ###只针对目录,当一个目录上有t权限时,这个目录中的文件只能被文件拥有者删除,其他人不能删除
t是1(二进制对应为001)
chmod o+t directroy
chmod 1777 directory
eg:chmod o+t /mnt/public

(2)sgid        ###粘制位
g+s        ##针对目录,在目录中创建的文件都自动归属到目录所在组,
               ##针对二进制文件,文件内记录的程序在执行时和执行者的组身份没有关系,而是以二进制文件的所有组的身份执行的
          (让普通用户拥有可以执行“只有root组权限才能执行”的特殊权限)
s是2(二进制对应为010)
chmod g+s file|directory
chmod 2777 file|directory

(3)suid        ###冒险位
u+s             ###针对文件,文件记录动作在执行时是文件所有人身份执行的,与是谁发起的无关
           (让普通用户拥有可以执行“只有root权限才能执行”的特殊权限)
s是4(二进制对应为100)
chmod u+s  file
chmod 4777 file