目录

d :文件夹- :普通文件l :软链接(类似 Windows 的快捷方式)b :块设备文件(例如硬盘、光驱等)p :管道文件c :字符设备文件(例如屏幕等串口设备)s :套接口文件
i. 读( r/4 ): Read 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限ii. 写( w/2 ): Write 对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限iii. 执行( x/1 ): execute 对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限iv.“—” 表示不具有该项权限
R -> 递归修改目录文件的权限说明:只有文件的拥有者和 root 才可以改变文件的权限
+: 向权限范围增加权限代号所表示的权限-: 向权限范围取消权限代号所表示的权限=: 向权限范围赋予权限代号所表示的权限用户符号:u :拥有者g :拥有者同组用o :其它用户a :所有用户
实例:
- # chmod u+w /home/abc.txt
- # chmod o-x /home/abc.txt
- # chmod a=x/home/abc.txt
- # chmod 664 /home/abc.txt
- # chmod 640 /home/abc.txt
- # chown user1 f1
- # chown -R user1 filegroup1
chgrp users /abc/f2
- # umask 755
- # umask //查看
- # umask 044//设置
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。-z 尝试去解读压缩文件的内容
使用 sudo分配权限
- # chmod 740 /etc/sudoers
- # vi /etc/sudoer
格式:接受权限的用户登陆的主机 =(执行命令的用户) 命令
$ sudo –u 用户名 命令
实例:
$sudo -u root /usr/sbin/useradd u2
可执行权限 : 如果目录没有可执行权限 , 则无法 cd 到目录中 .可读权限 : 如果目录没有可读权限 , 则无法用 ls 等命令查看目录中的文件内容 .可写权限 : 如果目录没有可写权限 , 则无法在目录中创建文件 , 也无法在目录中删除文件 .
于是, 问题来了~~ 换句话来讲, 就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限. 这好像不太科学啊, 我张三创建的一个文件, 凭什么被你李四可以删掉? 我们用下面的过程印证一下
- [root@localhost ~]# chmod 0777 /home/
- [root@localhost ~]# ls /home/ -ld
- drwxrwxrwx. 3 root root 4096 9月 19 15:58 /home/
- [root@localhost ~]# touch /home/root.c
- [root@localhost ~]# ls -l /home/
- 总用量 4
- -rw-r--r--. 1 root root 0 9月 19 15:58 abc.c
- drwxr-xr-x. 27 litao litao 4096 9月 19 15:53 litao
- -rw-r--r--. 1 root root 0 9月 19 15:59 root.c
- [root@localhost ~]# su - litao
- [litao@localhost ~]$ rm /home/root.c #litao可以删除root创建的文件
- rm:是否删除有写保护的普通空文件 "/home/root.c"?y
- [litao@localhost ~]$ exit
- logout
- [root@localhost ~]# chmod +t /home/ # 加上粘滞位
- [root@localhost ~]# ls -ld /home/
- drwxrwxrwt. 3 root root 4096 9月 19 16:00 /home/
- [root@localhost ~]# su - litao
- [litao@localhost ~]$ rm /home/abc.c #litao不能删除别人的文件
- rm:是否删除有写保护的普通空文件 "/home/abc.c"?y
- rm: 无法删除"/home/abc.c": 不允许的操作
一、超级管理员删除二、该目录的所有者删除三、该文件的所有者删除
目录的可执行权限是表示你可否在目录下执行命令。如果目录没有 -x 权限,则无法对目录执行任何命令,甚至无法 cd 进入目 , 即使目录仍然有 -r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)而如果目录具有 -x 权限,但没有 -r 权限,则用户可以执行命令,可以 cd 进入目录。但由于没有目录的读权限所以在目录下,即使可以执行 ls 命令,但仍然没有权限读出目录下的文档。