###################################################################
######################第六单元######################################
###################################################################
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