Linux基础教程学习笔记6——管理文件和目录
1、文件的类型
-:普通文件
L:链接文件;
D:目录文件;
b:块文件;/dev/sda1
c:字符文件:/dev/tty1
[root@linuxidc ~]# ls -l
-rw-------. 1 root root 1205 Dec 24 17:59 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 24 10:19 Desktop
从左到右:文件类型+所有者权限+所有组权限+其他的权限+(有点代表selinux控制)+文件硬链接数+所有者+所有组 文件节点 文件时间戳属性
2、chown改变文件目录的属主属组
[root@linuxidc tmp]# chown RedHat.redhat a1
chown加-R选项表示递归修改目录下的文件的属组属主
3.chgrp修改文件目录的属组
[root@linuxidc tmp]# chgrp -R redhat aa1
同理chgrp加-R选项表示递归修改目录下的文件的属组;
4、文件和目录的权限ugo
rwx分别对应的权限数字为:421
rwxr-xr-x
u g o
5、chmod修改文件目录的权限
可以使用以下几种方式来修改权限
[root@linuxidc tmp]# #chmod 755 a1
[root@linuxidc tmp]# #chmod a+x a1 a代表ugo,所有;
[root@linuxidc tmp]# #chmod u=rwx,g=rw-,o=--- a1 给ugo分别赋权;
[root@linuxidc tmp]# #chmod u-w,g+x,o+x a1 在原来的基础上加减权限;
[root@linuxidc tmp]# #chmod a=rw- a1 给ugo同时赋权;
6.umask权限的过滤符
文件的默认权限为:666
目录的默认权限为:777
创建文件目录时,经过umask的过滤之后,才是实际的权限,umask默认的值为0022
6 6 6 7 7 7
rw- rw- rw- rwx rwx rwx
---------------------------------------------------------
0 2 2 0 2 2
--- -w- -w- ---- -w- -w-
--------------------------------------------------------umask过滤之后的权限
rw- r-- r-- rwx r-x r-x
6 4 4 7 5 5
7、文件的特殊权限位:s和t
s一般用于可执行命令的所属者或目录的所属组位置:可执行命令,其他人执行这个命令的时候,也将具有所 有者的权限;比如passwd命令,普通用户是无法修改/etc/shadow的内容,但是普通用户执行passwd命令修改自己的密码,这就意味着直接修改了shadow文件的内容,
[root@linuxidc ~]# ls -l `which passwd`
-rwsr-xr-x. 1 root root 27832 Jan 30 2014 /usr/bin/pass
应用于目录所属组:如果一个目录的组加了s位,那么在这个目录下面所创建的子目录或者文件会继承目录的所属组;
[root@linuxidc tmp]# mkdir xx
[root@linuxidc tmp]# chgrp xx redhat
[root@linuxidc tmp]# ls -ld xx
drwxr-xr-x. 2 root redhat 6 Jan 2 17:36 xx
[root@linuxidc tmp]# cd xx
[root@linuxidc xx]# mkdir xx1
[root@linuxidc xx]# mkdir xx2
[root@linuxidc xx]# ls -l
drwxr-sr-x. 2 root redhat 6 Jan 2 17:38 xx1
drwxr-sr-x. 2 root redhat 6 Jan 2 17:38 xx2
t属性位一般用于目录的o位置:如果一个目录的o位置有t属性的话,那么这个目录里面所有的东西,除了所有者和root,任何人即使有权限也无法删除目录下面的东西;
[root@linuxidc tmp]# mkdir yy
[root@linuxidc tmp]# touch yy1
[root@linuxidc tmp]# touch yy2
[root@linuxidc tmp]# chown -R redhat.redhat yy
[root@linuxidc tmp]# ls -ld yy
drwxr-xr-x. 2 redhat redhat 26 Jan 2 17:45 yy
[root@linuxidc tmp]# ls -l yy
-rwxrwxrwx. 1 redhat redhat 0 Jan 2 17:45 yy1
-rwxrwxrwx. 1 redhat redhat 0 Jan 2 17:45 yy2
[root@linuxidc tmp]# chmod -R 777 yy
在yy文件没有加t位时,切换到tom用户,进入到yy目录下面,可以删除yy1:
[tom@linuxidc yy]$ rm -rf yy1
yy文件添加t位后,tom用户无法删除yy2文件:
[root@linuxidc tmp]# chmod o+t yy
[tom@linuxidc yy]$ rm -rf yy2
rm: cannot remove ‘yy2’: Operation not permitted
如果文件的权限位是四位,比如1755,这里首先要明确的是,在u位上加s权限数字为4,在g位上加s权限数字为2,o位上加t权限值为1:
u+s=4
g+s=2
o+t=1
chattr对文件特殊的操作:
lsattr查看文件的属性
chattr +a file 只允许文件增加内容,不能减少;
chattr +i file 文件不允许改变;
减少相应的属性,只需要减少即可