linux权限 |
作者:左婷婷 归档:学习笔记 2018/7/31
|
快捷键: Ctrl + 1 标题1 Ctrl + 2 标题2 Ctrl + 3 标题3 Ctrl + 4 实例 Ctrl + 5 程序代码 Ctrl + 6 正文 |
格式说明: 蓝色字体:注释 ×××背景:重要 绿色背景:注意 |
老男孩教育教学核心思想6重:重目标、重思路、重方法、重实践、重习惯、重总结
学无止境,老男孩教育成就你人生的起点!
联系方式:
网站运维QQ交流群: |
|
Linux 385168604 |
架构师 390642196 |
Python 29215534 |
大数据 421358633 |
官方网站: |
|
http://www.oldboyedu.com |
目 录
第1章 Linux 权限 permission denied
1.1 对于文件rwx含义
1.1.1 root用户下面修改权限 测试r权限
1.1.2 #root用户下面修改权限 测试w权限
1.1.3 #root用户下面修改权限 测试x权限
1.2 文件的rwx权限小结:
1.2.1 r读取文件内容
1.2.2 w修改文件内容 需要r权限配合
1.2.3 x权限表示是否能执行脚本 需要r权限配合
1.3 对于目录rwx含义
1.3.1 目录的rwx权限
1.3.2 #root用户下面修改权限 测试r权限
1.3.3 #root用户下面修改权限 测试w权限
1.4 目录rwx权限小结:
1.5 控制系统默认权限 umask
1.6 如何通过控制权限的方法 保护网站安全
1.6.1 网站通过www用户运行(虚拟用户)
1.6.2 控制目录/app/blog 权限
1.6.3 网站上传目录upload
1.7 网站整体结构
1.8 隐藏属性(文件系统权限)
1.9 总结:
1.10 预习:
第1章 Linux 权限 permission denied
在root用户下模拟环境
[root@oldboyedu50-lnb ~]# mkdir -p /oldboy
[root@oldboyedu50-lnb ~]# echo 'hostname' >/oldboy/test.sh
[root@oldboyedu50-lnb ~]# cat /oldboy/test.sh
hostname
[oldboy@oldboyedu50-lnb /oldboy]$ ll test.sh
-rw-r--r--. 1 root root 9 Aug 6 12:32 test.sh
切换到oldboy用户,查看,添加,执行文件
[oldboy@oldboyedu50-lnb /oldboy]$ cat test.sh
对于oldboy用户对此文件只有读的权限,只能查看,不能修改执行
hostname
[oldboy@oldboyedu50-lnb /oldboy]$ echo 'pwd' >>test.sh
-bash: test.sh: Permission denied 权限拒绝
[oldboy@oldboyedu50-lnb /oldboy]$ /oldboy/test.sh
-bash: /oldboy/test.sh: Permission denied 权限拒绝
[root@oldboyedu50-lnb /oldboy]# chown oldboy.oldboy test.sh 修改所有者和所属家庭
[root@oldboyedu50-lnb /oldboy]# ll test.sh
-rw-r--r--. 1 oldboy oldboy 9 Aug 6 12:32 test.sh
1.1 对于文件rwx含义
1.1.1 root用户下面修改权限 测试r权限
#oldboy用户只有r 权限
[root@oldboyedu50-lnb /oldboy]# chmod u=r test.sh
[root@oldboyedu50-lnb /oldboy]# ll test.sh
-r--r--r--. 1 oldboy oldboy 9 Aug 6 12:32 test.sh
#oldboy用户下面测试
[oldboy@oldboyedu50-lnb /oldboy]$ ll test.sh
-r--r--r--. 1 oldboy oldboy 9 Aug 6 12:32 test.sh 只有r权限
[oldboy@oldboyedu50-lnb /oldboy]$ cat test.sh 只能看
hostname
[oldboy@oldboyedu50-lnb /oldboy]$ echo 'pwd'>>test.sh 不能写
-bash: test.sh: Permission denied
[oldboy@oldboyedu50-lnb /oldboy]$ /oldboy/test.sh 不能执行
-bash: /oldboy/test.sh: Permission denied
1.1.2 #root用户下面修改权限 测试w权限
#oldboy用户只有w 权限
[root@oldboyedu50-lnb /oldboy]# chmod u=w test.sh
[root@oldboyedu50-lnb /oldboy]# ll test.sh
--w-r--r--. 1 oldboy oldboy 9 Aug 6 12:32 test.sh
#oldboy用户下面测试
[oldboy@oldboyedu50-lnb /oldboy]$ ll test.sh
--w-r--r--. 1 oldboy oldboy 9 Aug 6 12:32 test.sh
[oldboy@oldboyedu50-lnb /oldboy]$ cat test.sh
cat: test.sh: Permission denied
[oldboy@oldboyedu50-lnb /oldboy]$ echo 'pwd' >>test.sh 只能添加不能查看,不能执行
[oldboy@oldboyedu50-lnb /oldboy]$ echo 'pwd' >>test.sh
[oldboy@oldboyedu50-lnb /oldboy]$ echo 'pwd' >>test.sh
[oldboy@oldboyedu50-lnb /oldboy]$ echo 'pwd' >>test.sh
[oldboy@oldboyedu50-lnb /oldboy]$ cat test.sh
cat: test.sh: Permission denied
[oldboy@oldboyedu50-lnb /oldboy]$
[oldboy@oldboyedu50-lnb /oldboy]$ /oldboy/test.sh
-bash: /oldboy/test.sh: Permission denied
1.1.3 #root用户下面修改权限 测试x权限
#oldboy用户 只有x 权限
[root@oldboyedu50-lnb /oldboy]# chmod u=x test.sh
[root@oldboyedu50-lnb /oldboy]# ll test.sh
---xr--r--. 1 oldboy oldboy 13 Aug 6 12:56 test.sh
#oldboy用户下面测试
[oldboy@oldboyedu50-lnb /oldboy]$ ll test.sh
---xr--r--. 1 oldboy oldboy 13 Aug 6 12:56 test.sh
[oldboy@oldboyedu50-lnb /oldboy]$ cat test.sh 不能查看不能修改不能执行
cat: test.sh: Permission denied
[oldboy@oldboyedu50-lnb /oldboy]$ echo 'pwd' >>test.sh
-bash: test.sh: Permission denied
[oldboy@oldboyedu50-lnb /oldboy]$ /oldboy/test.sh
bash: /oldboy/test.sh: Permission denied
1.2 文件的rwx权限小结:
1.2.1 r读取文件内容
1.2.2 w修改文件内容 需要r权限配合
只有w权限的时候 强制保存退出会导致源文件内容丢失
1.2.3 x权限表示是否能执行脚本 需要r权限配合
1.3 对于目录rwx含义
创建环境
mkdir -p /oldboy/test
touch /oldboy/test/oldboy{01..5}.txt
chown oldboy.oldboy /oldboy/test/
[root@oldboyedu50-lnb /oldboy]# ll /oldboy/test -d
drwxr-xr-x. 2 oldboy oldboy 4096 Aug 6 13:02 /oldboy/test
[root@oldboyedu50-lnb /oldboy]# ll /oldboy/test
total 4
-rw-r--r--. 1 root root 8 Jul 16 19:24 del.sh
-rw-r--r-- 1 root root 0 Aug 6 13:02 oldboy01.txt
-rw-r--r-- 1 root root 0 Aug 6 13:02 oldboy02.txt
-rw-r--r-- 1 root root 0 Aug 6 13:02 oldboy03.txt
-rw-r--r-- 1 root root 0 Aug 6 13:02 oldboy04.txt
-rw-r--r-- 1 root root 0 Aug 6 13:02 oldboy05.txt
1.3.1 目录的rwx权限
r |
查看目录内容 ls |
w |
可以删除 创建 重命名 目录中的文件 |
x |
是否能进入到目录 cd |
1.3.2 #root用户下面修改权限 测试r权限
#oldboy用户 只有r 权限
[root@oldboyedu50-lnb /oldboy]# chmod u=r test
[root@oldboyedu50-lnb /oldboy]# ll -d test
dr--r-xr-x. 2 oldboy oldboy 4096 Aug 6 13:02 test
#oldboy用户下面测试
[oldboy@oldboyedu50-lnb /oldboy]$ ls test
ls: cannot access test/oldboy05.txt: Permission denied
ls: cannot access test/oldboy04.txt: Permission denied
ls: cannot access test/oldboy01.txt: Permission denied
ls: cannot access test/del.sh: Permission denied
ls: cannot access test/oldboy02.txt: Permission denied
ls: cannot access test/oldboy03.txt: Permission denied
del.sh oldboy01.txt oldboy02.txt oldboy03.txt oldboy04.txt oldboy05.txt
[oldboy@oldboyedu50-lnb /oldboy]$ ls -l test
ls: cannot access test/oldboy05.txt: Permission denied
ls: cannot access test/oldboy04.txt: Permission denied
ls: cannot access test/oldboy01.txt: Permission denied
ls: cannot access test/del.sh: Permission denied
ls: cannot access test/oldboy02.txt: Permission denied
ls: cannot access test/oldboy03.txt: Permission denied
total 0
-????????? ? ? ? ? ? del.sh 不能查看文件的属性
-????????? ? ? ? ? ? oldboy01.txt
-????????? ? ? ? ? ? oldboy02.txt
-????????? ? ? ? ? ? oldboy03.txt
-????????? ? ? ? ? ? oldboy04.txt
-????????? ? ? ? ? ? oldboy05.txt
目录权限的小结:
1. r 显示目录内容 需要x权限配合
3. 是否能进入到目录 cd (你是否能查看目录中文件的属性)
1.3.3 #root用户下面修改权限 测试w权限
#oldboy用户 只有w 权限
#oldboy用户下面测试
[oldboy@oldboyedu50 oldboy]$ ll test –d 不能创建文件
d-w-r-xr-x. 2 oldboy oldboy 4096 8月 6 21:39 test
[oldboy@oldboyedu50 oldboy]$ touch test/lidao.txt
touch: 无法创建"test/lidao.txt": 权限不够
1.4 目录rwx权限小结:
1. r 显示目录内容 |
需要x权限配合 |
2. w 是否能删除目录内容 |
在目录中创建文件 修改(重命名) |
3. x 是否能进入到目录 cd |
(你是否能查看目录中文件的属性) |
4. 删除一个文件 |
看文件所在目录的权限 是否有wx权限 |
初步排错
说错下面错误的报错原因:
说错下面错误的报错原因:
1.[oldboy@oldboyedu50-lnb /]$ ls /root/ 查看目录 必须使用r x配合使用
ls: cannot open directory /root/: Permission denied
2.[oldboy@oldboyedu50-lnb /]$ touch /etc/passwd.txt 创建文件 在当前目录权限使用w 必须配合x
touch: cannot touch `/etc/passwd.txt': Permission denied
3.[oldboy@oldboyedu50-lnb /]$ \rm -f /etc/sysconfig/network 当前目录中要有wx权限才能删除
rm: cannot remove `/etc/sysconfig/network': Permission denied
4.[oldboy@oldboyedu50-lnb /]$ echo '#oldboy' >>/etc/hosts 写入w 必须配合r
-bash: /etc/hosts: Permission denied
5.[oldboy@oldboyedu50-lnb /]$ cat /etc/shadow 没有r权限
cat: /etc/shadow: Permission denied
文件访问过程与权限
cat oldboy.txt
inode |
block |
|
文件 |
文件属性 |
数据(文件内容) |
目录 |
目录属性 |
文件名 |
cat /oldboy/lidao/test.sh
权限可能与文件所在的目录及上级目录 及 目录有关
1.5 控制系统默认权限 umask
umask
022 默认
文件一般可以给的最大权限:666
目录一般可以给的最大权限:777
文件默认的权限
666
-022
=644
目录默认的权限
777
-022
=755
特殊情况:
umask 032
文件
666
032
634 减完的数哪位是奇数就在那位加1
+010
=644
umask是 035 系统文件默认权限是? 目录权限是?
文件
666
-035
=631
+011
642
目录
777
035
742
要求创建的文件默认权限是000,目录的权限是111 umask ?
666 666
1.6 如何通过控制权限的方法 保护网站安全
网站 blog.oldboyedu.com
/app/blog
1.6.1 网站通过www用户运行(虚拟用户)
1.6.2 控制目录/app/blog 权限
file 644 root root
dir 755 root root
1.6.3 网站上传目录upload
file 644 www www
dir 755 www www
模拟环境
mkdir -p /app/blog /app/blog/upload
touch /app/blog/tao.avi /app/blog/dao.mp4 /app/blog/ndd.torrent
useradd www
[www@oldboyedu50-lnb /app/blog]$ touch upload/499G.torrent 用户不能上传
touch: cannot touch `upload/499G.torrent': Permission denied
#什么原因及怎么解决
[root@oldboyedu50-lnb /oldboy]# chown www.www /app/blog/upload/ 将所有者和用户组都改为oldboy
1.7 网站整体结构
1.8 隐藏属性(文件系统权限)
+a 只能追加其他不能用
+I 不能修改不能删除 只能查看
[root@oldboyedu50-lnb /oldboy]# chattr +a test.sh
[root@oldboyedu50-lnb /oldboy]# lsattr test.sh
-----a-------e- test.sh
[root@oldboyedu50-lnb /oldboy]# #a append 只能追加
[root@oldboyedu50-lnb /oldboy]# >test.sh
-bash: test.sh: Operation not permitted
[root@oldboyedu50-lnb /oldboy]# echo pwd >>test.sh
[root@oldboyedu50-lnb /oldboy]# \rm -f test.sh
rm: cannot remove `test.sh': Operation not permitted
1.9 总结:
1.文件 目录 rwx 含义
2.权限相关错误:
permission denied
原因及解决
3.系统默认的权限 umask 计算
4.如何通过控制权限的方法 让网站安全
5.网站集群架构 数据库 存储
6.隐藏属性(文件系统权限)
1.10 预习:
1.特殊权限
2.定时任务
3.定时同步系统时间
4.定时备份/etc/目录