首先分享一个自己做的很不错的网路安全笔记,内容详细介绍了许多知识
分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取:
1.8 权限管理
1.8.1 权限介绍
## root用户权限最高,所以一般对他不做什么权限设置。其他用户就要设定权限并且遵守权限了。文件权限:
#文件属性
[root@localhost ~]# ls -l /tmp/123.txt
-rw-r--r--. 1 root root 0 7月 20 23:17 /tmp/123.txt
#第一段的第一个字符,表示文件类型 -文件、d目录、l软链接(对应着windows快捷方式)、b块设备(ls /dev,可以看到硬盘sda等)
#第一段第2-4字符,表示该文件所属用户的权限
#第一段第5-7字符,表示该文件所属用户组的权限
#第一段第8-10字符,表示其他用户对该文件的权限'''
r 4 代表读权限 read
w 2 代表写权限 write
x 1 代表可执行权限 executable
- 0 空权限位,表示没有这个权限,9位权限不能少,没有的权限就用-代替。
'''
权限值表
0 ---
1 --x
2 -w-
3 -wx
4 r--
5 r-x
6 rw-
7 rwx
ugo权限体系:
rw- r-- r--
user group other
## root没办法玩昂,因为默认权限太高。我们用普通用户来玩:用xshell开启多个窗口连接上这三个用户。
创建三个用户并设置密码:lisi、wangwu、zhaoliu
## 使用lisi来登录,并创建个文件,将文件权限全部去掉,修改权限用chmod指令,全称change mode:
# 例如:chomd -r,就是去掉r权限,chomd +r就是加上读权限,chmod +wr就是加读写权限,chmod u+r,就是给文件属主用户添加读权限等
[lisi@localhost ~]$ touch 1.txt
[lisi@localhost ~]$ vi 1.txt
[lisi@localhost ~]$ ls -l
总用量 4
-rw-rw-r--. 1 lisi lisi 12 3月 20 09:07 1.txt
[lisi@localhost ~]$ chmod -rw 1.txt
[lisi@localhost ~]$ ls -l
总用量 4
----------. 1 lisi lisi 12 3月 20 09:07 1.txt
## 现在这个文件是没有任何权限的,但是文件是lisi创建的,文件属主还是lisi,虽然显示lisi也没有权限,但是实际上lisi是可以修改文件权限的,其他用户(除了root)是没有权力修改这个文件权限的。读权限的作用:
## lisi用户:
[lisi@localhost ~]$ chmod -rw 1.txt
[lisi@localhost ~]$ ls -l
总用量 4
----------. 1 lisi lisi 12 3月 20 09:07 1.txt
[lisi@localhost ~]$ cat 1.txt
cat: 1.txt: 权限不够
[lisi@localhost ~]$ chmod u+r 1.txt
[lisi@localhost ~]$ ls -l
总用量 4
-r--------. 1 lisi lisi 12 3月 20 09:07 1.txt
[lisi@localhost ~]$ cat 1.txt
my name is aini
## 为了方便其他用户查看,我们先将1.txt放到/tmp目录下。
[lisi@localhost ~]$ mv 1.txt /tmp/
[lisi@localhost ~]$ ls /tmp/
1.txt
## wangwu用户:
[wangwu@localhost ~]$ cd /tmp/
[wangwu@localhost tmp]$ cat 1.txt
cat: 1.txt: 权限不够
[wangwu@localhost tmp]$ chmod o+r 1.txt
chmod: 更改"1.txt" 的权限: 不允许的操作
## 切换到lisi:给o加上r权限,再看效果
[lisi@localhost ~]$ chmod o+r /tmp/1.txt
[lisi@localhost ~]$ ls -l /tmp/
总用量 8
-r-----r--. 1 lisi lisi 12 3月 20 09:07 1.txt
## 再切换到wangwu来查看文件内容:
[wangwu@localhost tmp]$ cat 1.txt
my name is aini
切换到lisi:给o加上r权限,再看效果
## 再切换到wangwu来查看文件内容:
# 写权限的作用:
## 但是wangwu想编辑文件,也是没有权限的。可以vi打开,但是编辑之后不能保存。
## 再切换到lisi,给o一个w权限,wangwu就可以编辑保存了。
[lisi@localhost ~]$ chmod o+w /tmp/1.txt
[lisi@localhost ~]$ ls -l /tmp/
总用量 8
-r-----rw-. 1 lisi lisi 12 3月 20 09:07 1.txt
wangwu编辑保存一下,查看内容:
[wangwu@localhost tmp]$ vi 1.txt
[wangwu@localhost tmp]$ cat 1.txt
my name is aini
wangwu is writing
wangwu想编辑的话 就没有写权限了,所以没办法保存,显示readyonly
再切换到lisi,给o一个w权限,wangwu就可以编辑保存了。
现在lisi给了其他用户写权限,那么wangwu就可以进行编辑了
wangwu编辑保存一下,查看内容:
发现wangwu也是可以编辑了
## 可执行权限的作用:这个需要我们创建一个命令文件才能看效果,我复制某个命令文件过来,谁复制过来的,这个文件的属主就是谁,如下
. 代表当前目录
.. 代表上一级目录
## 切换到lisi用户来复制ls文件到/tmp目录下,并将执行权限去掉,去掉执行权限的文件显示位白色,有执行权限的显示为绿色。
[lisi@localhost ~]$ cd /tmp/
[lisi@localhost tmp]$ cp /bin/ls .
[lisi@localhost tmp]$ ls -l
-r-----rw-. 1 lisi lisi 25 3月 20 09:24 1.txt
-rwx------. 1 root root 836 3月 15 20:14 ks-script-ed2ODG
-rwxr-xr-x. 1 lisi lisi 117608 3月 20 09:29 ls
[lisi@localhost tmp]$ chmod -x ls
[lisi@localhost tmp]$ ls -l
-r-----rw-. 1 lisi lisi 25 3月 20 09:24 1.txt
-rwx------. 1 root root 836 3月 15 20:14 ks-script-ed2ODG
-rw-r--r--. 1 lisi lisi 117608 3月 20 09:29 ls
## 切换到wangwu来执行一下ls这个文件: 注意,不能直接ls,直接ls还是调用系统/bin/ls文件,需要写./ls才是使用当前目录下的ls文件,或者写这个文件的绝对路径/tmp/ls,或者将它放到某个特定目录下,就可以直接使用对应指令而不用管路径了,这个我在下面有补充说明。
[wangwu@localhost tmp]$ ./ls
-bash: ./ls: 权限不够
[wangwu@localhost tmp]$ /tmp/ls
-bash: /tmp/ls: 权限不够
1.8.2 可执行程序特殊目录说明
## 通过echo $PATH可以看到,类似于windows的环境变量中的PATH。反式放到这个目录中的命令程序,我们可以在任意目录下通过这个命令程序名称来直接调用命令来执行:
[lisi@localhost tmp]$ echo $PATH # 下面这几个就是环境变量路径存放位置
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/lisi/.local/bin:/home/lisi/bin
lisi@localhost tmp]$ cp ./ls /home/lisi/bin/
[lisi@localhost tmp]$ ls /home/lisi/bin/
ls
[lisi@localhost tmp]$ mv /home/lisi/bin/ls /home/lisi/bin/xxx
# 为了不和系统默认的ls冲突,我们改名为xxx
[lisi@localhost tmp]$ ls /home/lisi/bin/
xxx[lisi@localhost tmp]$ xxx
[lisi@localhost tmp]$ xxx # 命令可以在任意目录下直接执行
1.txt
ls
注意能执行的前提是xxx文件有可还行权限
1.8.3 权限值
权限值:
r 4
w 2
x 1
- 0
权限值表
0 ---
1 --x
2 -w-
3 -wx
4 r--
5 r-x
6 rw-
7 rwx
## 修改权限举例
## 如果我们想将某个文件的:rwxr-xr-x权限改为--x-w-r--,如果按照前面我们chmod指定字母的形式来修改,就比较麻烦,直接使用权限对应的数字改就很方便:
rwxr-xr-x 对应的值为:755
--x-w-r-- 对应的值为:124
[lisi@localhost tmp]$ chmod 124 1.txt
[lisi@localhost tmp]$ ls -l
---x-w-r--. 1 lisi lisi 25 3月 20 09:24 1.txt
## 别人再问你,某个文件的权限是多少的时候,我们一般都是直接报数字值,比如它的权限是755
#改变文件的权限,例如:chomd -r,就是去掉r权限,chomd +r就是加上读权限
chmod
例子1:
#修改权限之前
[test1@localhost tmp]$ ls -l
-rw-rw----. 1 test1 test1 8 7月 20 17:20 1.txt\
#修改权限
[test1@localhost tmp]$ chmod u+x 1.txt
#修改权限之后
[test1@localhost tmp]$ ls -l
-rwxrw----. 1 test1 test1 8 7月 20 17:20 1.txt
例子2:
## 同时修改多个权限
[test1@localhost tmp]$ chmod u-x,g-x,o+x 1.txt
[test1@localhost tmp]$ ls -l
-rw-rw---x. 1 test1 test1 8 7月 20 17:20 1.txt
例子3:
## 数字修改更方便
[test1@localhost tmp]$ chmod 777 1.txt
[test1@localhost tmp]$ ls -l
-rwxrwxrwx. 1 test1 test1 8 7月 20 17:20 1.txt
例子1:chmod u+x
例子1:
#修改权限之前
[test1@localhost tmp]$ ls -l
-rw-rw----. 1 test1 test1 8 7月 20 17:20 1.txt
#修改权限
[test1@localhost tmp]$ chmod u+x 1.txt
#修改权限之后
[test1@localhost tmp]$ ls -l
-rwxrw----. 1 test1 test1 8 7月 20 17:20 1.txt
例子2:同时修改多个权限
例子2:
## 同时修改多个权限
[test1@localhost tmp]$ chmod u-x,g-x,o+x 1.txt
[test1@localhost tmp]$ ls -l
-rw-rw---x. 1 test1 test1 8 7月 20 17:20 1.txt
例子3:数字修改更方便
[test1@localhost tmp]$ chmod 777 1.txt
[test1@localhost tmp]$ ls -l
-rwxrwxrwx. 1 test1 test1 8 7月 20 17:20 1.txt
1.9 修改文件所属
#修改文件的所属,普通用户是不能修改其他用户文件的所属的,需要root用户,所以先切换到root用户来操作
chown
1.9.1 修改用户和用户组
例子1
## 修改所属用户和用户组,test2:test2,前面的test2表示用户,后面的test2是组
[root@localhost tmp]# chown test2:test2 aini.txt
[root@localhost tmp]# ls -l
先创建两个用户test1,test2 一个aini.txt文件
aini.txt 属于root用户root组的
我们之前讲过创建一个用户也会创建对应的组,所以现在已经存在test1,test2组了
我们现在把aini.txt让给test1用户和test1组
这个aini.txt 文件本来是root用户创建的,现在编程test1和test1组了
# chown -R nginx:nginx ./
# 把当前文件夹所有文件及子文件都改成nginx用户和Nginx组的
比如想整体修改一个文件夹里的所有文件的属性就可以用-R参数比如
我在tmp目录下再创建两个文件,他们的属性都是不一样的,我现在想把这些文件的用户和用户属性都改成aini用户和aini组
那就在tmp目录下执行 chown -R aini:aini ./
发现已经批量修改了
1.9.2 修改所属用户
# 修改所属用户
[root@localhost tmp]# chown test1 aini.txt # 把aini.txt用户改成test1用户
[root@localhost tmp]# ls -l
1.9.3 修改目录权限和所属
例子3:文件夹(目录权限)
##用root用户创建一个文件夹,文件夹默认所属用户和组为root:root,那么普通用户是没全限制在这个目录中创建文件的。
[root@localhost ~]# cd /tmp/
[root@localhost tmp]# mkdir aini
[root@localhost tmp]# ls -l
drwxr-xr-x. 2 root root 6 3月 20 11:36 aini
## 普通用户,比如lisi想在里面创建文件:
[lisi@localhost tmp]$ cd aini/
[lisi@localhost jaden]$ touch 2.txt
touch: 无法创建"2.txt": 权限不够
## 如何让lisi有创建文件的权限呢?创建文件的权限就是目录写权限
## 首先要切换到root用户,然后用root用户修改目录权限,或者直接将目录的所属修改为lisi修改权限:
[root@localhost tmp]# chmod o+w aini
[root@localhost tmp]# ls -l
drwxr-xrwx. 2 root root 6 3月 20 11:36 aini
## 切换到lisi,创建文件:
[lisi@localhost aini]$ touch 2.txt
[lisi@localhost aini]$ ls
2.txt
## 修改所属:
[root@localhost tmp]# chmod o-w aini
[root@localhost tmp]# ls -l
drwxr-xr-x. 2 root root 19 3月 20 11:39 aini
[root@localhost tmp]# chown lisi:lisi aini
[root@localhost tmp]# ls -l
drwxr-xr-x. 2 lisi lisi 19 3月 20 11:39 aini
## 切换到lisi:
[lisi@localhost aini]$ touch 3.txt
[lisi@localhost aini]$ ls
2.txt 3.txt
## lisi也可以修改目录的权限了,因为它完全属于的lisi:
[lisi@localhost tmp]$ chmod o+w aini
[lisi@localhost tmp]$ ls -l
drwxr-xrwx. 2 lisi lisi 32 3月 20 11:42 aini
用root用户创建一个文件夹,文件夹默认所属用户和组为root:root,那么普通用户是没全限制在这个目录中创建文件的。
## 普通用户,比如lisi想在里面创建文件:
## 如何让lisi有创建文件的权限呢?创建文件的权限就是目录写权限
## 首先要切换到root用户,然后用root用户修改目录权限,或者直接将目录的所属修改为lisi修改权限:
## 切换到lisi,创建文件:
## 或者修改所属:
## 切换到lisi,能创建文件了:
## lisi也可以修改目录的权限了,因为它完全属于的lisi:
2.9.4 uid 和gid修改文件的所属用户和用户组
#使用uid和gid修改文件的所属用户和所属用户组 属主,属组
例子2:
[root@localhost tmp]# ls -l
-rw-r--r--. 1 aini aini 0 5月 18 10:06 1.txt
-rw-r--r--. 1 aini aini 0 5月 18 10:06 2.txt
drwxr-xrwx. 2 lisi lisi 32 5月 18 10:26 aini
-rw-r--r--. 1 test1 aini 0 5月 18 10:00 aini.txt
[root@localhost tmp]# id test1
uid=1000(test1) gid=1000(test1) 组=1000(test1)
[root@localhost tmp]# id test2
uid=1001(test2) gid=1001(test2) 组=1001(test2)
[root@localhost tmp]# useradd -g test1 test3
[root@localhost tmp]# id test3
uid=1002(test3) gid=1000(test1) 组=1000(test1)
[root@localhost tmp]# chown 1001:1001 test1.txt
[root@localhost tmp]# ls -l
-rwxr-xr-x. 1 test2 test2 159024 7月 20 17:43 grep
-rwxr-xr-x. 1 test1 test2 117608 7月 20 17:38 ls
-rwxr-xr-x. 1 test1 test1 130360 7月 20 17:43 mv
-rw-rw-rw-. 1 test2 test2 14 7月 20 17:38 test1.txt
2.9.5文件权限和目录权限的简单总结
## 文件权限: rwx 读写执行
## 目录的权限:
## rwx,r表示可以查看目录下有哪些文件
## x表示可以cd切换到该目录
## w表示可以在目录中创建、修改、删除文件等操作
## 为了安全操作:
## 文件权限默认: 644权限、狠一点就给600权限
## 目录权限默认: 755权限、狠一点就给700权限
首先分享一个自己做的很不错的网路安全笔记,内容详细介绍了许多知识
分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取: