Linux权限管理
Linux权限管理
1.Linux权限概述
1.1 rwx概述
Linux权限 含义
r # read 读取,是否可以查看文件内容
w # write 修改,是否可以修改文件内容
x # exec 可执行,一般是给命令或系统脚本使用,运行命令
1.2 查看文件,目录权限
[root@Kylin-V10-sp3 ~]# ll -d /etc/hostname /etc/
drwxr-xr-x 123 root root 8192 8月 28 20:09 /etc/
-rw-r--r-- 1 root root 14 8月 21 11:47 /etc/hostname
[root@Kylin-V10-sp3 ~]#
1.3 权限与数字关系
字母权限 数字权限
r 4
w 2
x 1
- 0
# 字母<-- --> 数字
drwxr-xr-x. 81 root root 8192 9月 5 09:45 /etc/
-rw-r--r--. 1 root root 16 8月 29 10:25 /etc/hostname
# 写出数字权限
-rw-r--r-- 644
---------- 000
dr-xr-x--- 550
# 假设都是文件(写出字符权限)
644 -rw-r--r--
755 -rwxr-xr-x
600 -rw-------
400 -r--------
rwx 421原理
r,- 1,0
w,- 1,0
x,- 1,0
rwx 111 == 7
r-- 100 == 4
-w- 010 == 2
--x 001 == 1
2 权限管理
- chmod change mode 修改权限
- chown change owner 修改所有者
2.1 修改所有者
# 以修改所有者和用户组
[root@Kylin-V10-sp3 /home/xk]# touch 2.txt
[root@Kylin-V10-sp3 /home/xk]# ll
总用量 0
-rw-r--r-- 1 xk xk 0 8月 28 21:57 1.txt
-rw-r--r-- 1 root root 0 8月 28 22:00 2.txt
[root@Kylin-V10-sp3 /home/xk]#
[root@Kylin-V10-sp3 /home/xk]# chown xk.xk 2.txt
[root@Kylin-V10-sp3 /home/xk]#
[root@Kylin-V10-sp3 /home/xk]#
[root@Kylin-V10-sp3 /home/xk]# ll
总用量 0
-rw-r--r-- 1 xk xk 0 8月 28 21:57 1.txt
-rw-r--r-- 1 xk xk 0 8月 28 22:00 2.txt
[root@Kylin-V10-sp3 /home/xk]#
# 递归修改目录及目录下面内容的所有者
[root@Kylin-V10-sp3 /home/xk]# mkdir -p /app/nginx-{01..10}
[root@Kylin-V10-sp3 /home/xk]#
[root@Kylin-V10-sp3 /home/xk]#
[root@Kylin-V10-sp3 /home/xk]# tree /app
/app
├── nginx-01
├── nginx-02
├── nginx-03
├── nginx-04
├── nginx-05
├── nginx-06
├── nginx-07
├── nginx-08
├── nginx-09
└── nginx-10
11 directories, 0 files
[root@Kylin-V10-sp3 /home/xk]# chown -R xk.xk /app
[root@Kylin-V10-sp3 /home/xk]#
[root@Kylin-V10-sp3 /home/xk]# ll /app/
总用量 0
drwxr-xr-x 2 xk xk 6 8月 28 22:15 nginx-01
drwxr-xr-x 2 xk xk 6 8月 28 22:15 nginx-02
drwxr-xr-x 2 xk xk 6 8月 28 22:15 nginx-03
drwxr-xr-x 2 xk xk 6 8月 28 22:15 nginx-04
drwxr-xr-x 2 xk xk 6 8月 28 22:15 nginx-05
drwxr-xr-x 2 xk xk 6 8月 28 22:15 nginx-06
drwxr-xr-x 2 xk xk 6 8月 28 22:15 nginx-07
drwxr-xr-x 2 xk xk 6 8月 28 22:15 nginx-08
drwxr-xr-x 2 xk xk 6 8月 28 22:15 nginx-09
drwxr-xr-x 2 xk xk 6 8月 28 22:15 nginx-10
[root@Kylin-V10-sp3 /home/xk]#
2.2 修改权限
- 根据数字形式修改权限.
- 根据字符形式修改权限.
chmod 权限 文件/目录
chmod 700 nginx-01/
chmod -R 700 /app/
chmod go+rx nginx-01/ #给用户组和其他人位置上增加r和x权限
chmod u=rx nginx-01/ #给所有者位置上设置rx权限如果有其他权限则清除.
chmod 755 nginx-01
chmod u=rwx,g=rx,o=rx nginx-01 #设置755权限的字母写法.
# 给/etc/rc.d/rc.local 文件增加执行权限(红帽)
chmod +x /etc/rc.d/rc.local
# ubt/debian
touch /etc/rc.local
chmod +x /etc/rc.local
# chmod 修改权限 -R
数字
字符 ugo
+x执行权限
# chown 修改所有者 -R
2.3 文件的rwx权限详解⭐⭐⭐⭐⭐
2.3.1 概述
文件rwx权限 含义
r # read 读取,是否可以查看文件内容
w # write 修改,是否可以修改文件内容
x # exec 可执行,一般是给命令或系统脚本使用.运行命令
准备工作
# 以下操作用root权限执行
# 创建文件夹
[root@Kylin-V10-sp3 ~]# mkdir -p /app/auth/
[root@Kylin-V10-sp3 ~]#
[root@Kylin-V10-sp3 ~]# cd /app/auth/
[root@Kylin-V10-sp3 /app/auth]#
# 创建测试文件
[root@Kylin-V10-sp3 /app/auth]# cat > 1.sh <<EOF
> df -h
> hostname
> ip a
> EOF
[root@Kylin-V10-sp3 /app/auth]#
# 给测试文件添加权限
[root@Kylin-V10-sp3 /app/auth]# chmod 755 1.sh
[root@Kylin-V10-sp3 /app/auth]#
# 文件追加内容
[root@Kylin-V10-sp3 /app/auth]# echo uname -a >> 1.sh
[root@Kylin-V10-sp3 /app/auth]#
# 查看文件内容
[root@Kylin-V10-sp3 /app/auth]# cat 1.sh
df -h
hostname
ip a
uname -a
[root@Kylin-V10-sp3 /app/auth]#
# 执行sh脚本
[root@Kylin-V10-sp3 /app/auth]# ./1.sh
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 459M 0 459M 0% /dev
tmpfs 475M 0 475M 0% /dev/shm
tmpfs 475M 19M 456M 4% /run
tmpfs 475M 0 475M 0% /sys/fs/cgroup
/dev/mapper/klas-root 66G 4.0G 62G 7% /
tmpfs 475M 0 475M 0% /tmp
/dev/mapper/klas-backup 32G 312M 32G 1% /backup
/dev/sda1 1014M 151M 864M 15% /boot
tmpfs 95M 0 95M 0% /run/user/1000
tmpfs 95M 0 95M 0% /run/user/0
Kylin-V10-sp3
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:8c:ff:3d brd ff:ff:ff:ff:ff:ff
inet 10.0.0.36/24 brd 10.0.0.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::3596:15a7:b72a:6fee/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Linux Kylin-V10-sp3 4.19.90-52.22.v2207.ky10.x86_64 #1 SMP Tue Mar 14 12:19:10 CST 2023 x86_64 x86_64 x86_64 GNU/Linux
[root@Kylin-V10-sp3 /app/auth]#
2.3.2 测试文件权限
# 修改1.sh文件所有者和属组为xk root用户执行
[root@Kylin-V10-sp3 /app/auth]# chown xk.xk 1.sh
[root@Kylin-V10-sp3 /app/auth]# ll
总用量 4
-rwxr-xr-x 1 xk xk 29 8月 30 07:10 1.sh
[root@Kylin-V10-sp3 /app/auth]#
# 测试r权限
# 修改1.sh文件所有者权限为r root用户执行
[root@Kylin-V10-sp3 /app/auth]# chmod u=r 1.sh
[root@Kylin-V10-sp3 /app/auth]# ll
总用量 4
-r--r-xr-x 1 xk xk 29 8月 30 07:10 1.sh
[root@Kylin-V10-sp3 /app/auth]#
# xk用户执行
[xk@Kylin-V10-sp3 /etc]$ cd /app/auth/
[xk@Kylin-V10-sp3 /app/auth]$
[xk@Kylin-V10-sp3 /app/auth]$ ll
总用量 4
-r--r-xr-x 1 xk xk 29 8月 30 07:10 1.sh
[xk@Kylin-V10-sp3 /app/auth]$
[xk@Kylin-V10-sp3 /app/auth]$ cat 1.sh
df -h
hostname
ip a
uname -a
[xk@Kylin-V10-sp3 /app/auth]$
# 测试w权限
# 修改1.sh文件所有者权限为w root用户执行
[root@Kylin-V10-sp3 /app/auth]# chmod u=w 1.sh
[root@Kylin-V10-sp3 /app/auth]# ll
总用量 4
--w-r-xr-x 1 xk xk 29 8月 30 07:10 1.sh
[root@Kylin-V10-sp3 /app/auth]#
# xk 用户执行
[xk@Kylin-V10-sp3 /app/auth]$ echo hostnamectl >> 1.sh
[xk@Kylin-V10-sp3 /app/auth]$
[xk@Kylin-V10-sp3 /app/auth]$ cat 1.sh # 用户可以添加但是不能查看,不符合逻辑
cat: 1.sh: 权限不够
[xk@Kylin-V10-sp3 /app/auth]$ vi 1.sh # 用vi 编辑看不到内容,加上r权限后正常
~
~
~
~
"1.sh" [Permission Denied]
# 测试x权限
# 修改1.sh文件所有者权限为x root用户执行
[root@Kylin-V10-sp3 /app/auth]# chmod u=x 1.sh
[root@Kylin-V10-sp3 /app/auth]# ll
总用量 4
---xr-xr-x 1 xk xk 41 8月 30 07:46 1.sh
[root@Kylin-V10-sp3 /app/auth]#
# xk 用户执行
[xk@Kylin-V10-sp3 /app/auth]$ ./1.sh
bash: ./1.sh: 权限不够
[xk@Kylin-V10-sp3 /app/auth]$
# 修改1.sh文件所有者权限为rx root用户执行
[root@Kylin-V10-sp3 /app/auth]# chmod u=xr 1.sh
[root@Kylin-V10-sp3 /app/auth]#
[root@Kylin-V10-sp3 /app/auth]# ll
总用量 4
-r-xr-xr-x 1 xk xk 41 8月 30 07:46 1.sh
[root@Kylin-V10-sp3 /app/auth]#
# xk 用户执行
[xk@Kylin-V10-sp3 /app/auth]$ ./1.sh
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 459M 0 459M 0% /dev
tmpfs 475M 0 475M 0% /dev/shm
tmpfs 475M 19M 456M 4% /run
tmpfs 475M 0 475M 0% /sys/fs/cgroup
/dev/mapper/klas-root 66G 4.0G 62G 7% /
tmpfs 475M 0 475M 0% /tmp
/dev/mapper/klas-backup 32G 312M 32G 1% /backup
/dev/sda1 1014M 151M 864M 15% /boot
tmpfs 95M 0 95M 0% /run/user/1000
tmpfs 95M 0 95M 0% /run/user/0
Kylin-V10-sp3
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:8c:ff:3d brd ff:ff:ff:ff:ff:ff
inet 10.0.0.36/24 brd 10.0.0.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::3596:15a7:b72a:6fee/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Linux Kylin-V10-sp3 4.19.90-52.22.v2207.ky10.x86_64 #1 SMP Tue Mar 14 12:19:10 CST 2023 x86_64 x86_64 x86_64 GNU/Linux
Static hostname: Kylin-V10-sp3
Icon name: computer-vm
Chassis: vm
Machine ID: 6853e90e34234ee78f85b3b8b3fdc032
Boot ID: 0dcd69dd800c4bbbbeeadbcef49c214f
Virtualization: vmware
Operating System: Kylin Linux Advanced Server V10 (Lance)
Kernel: Linux 4.19.90-52.22.v2207.ky10.x86_64
Architecture: x86-64
[xk@Kylin-V10-sp3 /app/auth]$
# 总结
文件rwx权限 含义
r # read 读取,是否可以查看文件内容
w # write 修改,是否可以修改文件内容,需要r权限配合
x # exec 可执行,一般是给命令或系统脚本使用.运行命令.需要r权限配合.)
2.4 目录的rwx权限详解⭐⭐⭐⭐⭐
2.4.1 概述
# Linux目录 rwx权限含义 说明 补充
r 显示目录下面的内容ls/tree 站在屋子门口看看屋子里面有什么
w 强大,用户可以在这个目录下面创建,删除,重命名. 可以在屋子里面买一些新的桌椅板凳,删掉旧的桌椅板凳.
x 是否可以进入到目录. 是否可以查看或修改目录下面属性信息 是否可以进入屋子
2.3.2 测试目录权限
# 环境准备 root运行
[root@Kylin-V10-sp3 /app/auth]# mkdir -p /app/auth/xkdir
[root@Kylin-V10-sp3 /app/auth]#
[root@Kylin-V10-sp3 /app/auth]#
[root@Kylin-V10-sp3 /app/auth]# cd /app/auth/xkdir/
[root@Kylin-V10-sp3 /app/auth/xkdir]#
[root@Kylin-V10-sp3 /app/auth/xkdir]# touch xk{01..10}.txt
[root@Kylin-V10-sp3 /app/auth/xkdir]#
[root@Kylin-V10-sp3 /app/auth/xkdir]# chown -R xk.xk /app/auth/xkdir/*
[root@Kylin-V10-sp3 /app/auth/xkdir]#
[root@Kylin-V10-sp3 /app/auth]# chmod u=r xkdir
[root@Kylin-V10-sp3 /app/auth]#
[root@Kylin-V10-sp3 /app/auth]# ll
总用量 4
---xr-xr-x 1 xk xk 41 8月 30 07:46 1.sh
dr--r-xr-x 2 xk xk 166 8月 30 08:38 xkdir
# 目录r权限测试 xk用户操作
[xk@Kylin-V10-sp3 /app/auth]$ ll
总用量 4
---xr-xr-x 1 xk xk 41 8月 30 07:46 1.sh
dr--r-xr-x 2 xk xk 166 8月 30 08:38 xkdir
[xk@Kylin-V10-sp3 /app/auth]$
[xk@Kylin-V10-sp3 /app/auth]$
[xk@Kylin-V10-sp3 /app/auth]$ ls xkdir/
ls: 无法访问 'xkdir/xk01.txt': 权限不够
ls: 无法访问 'xkdir/xk02.txt': 权限不够
ls: 无法访问 'xkdir/xk03.txt': 权限不够
ls: 无法访问 'xkdir/xk04.txt': 权限不够
ls: 无法访问 'xkdir/xk05.txt': 权限不够
ls: 无法访问 'xkdir/xk06.txt': 权限不够
ls: 无法访问 'xkdir/xk07.txt': 权限不够
ls: 无法访问 'xkdir/xk08.txt': 权限不够
ls: 无法访问 'xkdir/xk09.txt': 权限不够
ls: 无法访问 'xkdir/xk10.txt': 权限不够
xk01.txt xk02.txt xk03.txt xk04.txt xk05.txt xk06.txt xk07.txt xk08.txt xk09.txt xk10.txt
[xk@Kylin-V10-sp3 /app/auth]$
[xk@Kylin-V10-sp3 /app/auth]$
[xk@Kylin-V10-sp3 /app/auth]$ ll xkdir/
ls: 无法访问 'xkdir/xk01.txt': 权限不够
ls: 无法访问 'xkdir/xk02.txt': 权限不够
ls: 无法访问 'xkdir/xk03.txt': 权限不够
ls: 无法访问 'xkdir/xk04.txt': 权限不够
ls: 无法访问 'xkdir/xk05.txt': 权限不够
ls: 无法访问 'xkdir/xk06.txt': 权限不够
ls: 无法访问 'xkdir/xk07.txt': 权限不够
ls: 无法访问 'xkdir/xk08.txt': 权限不够
ls: 无法访问 'xkdir/xk09.txt': 权限不够
ls: 无法访问 'xkdir/xk10.txt': 权限不够
总用量 0
-????????? ? ? ? ? ? xk01.txt
-????????? ? ? ? ? ? xk02.txt
-????????? ? ? ? ? ? xk03.txt
-????????? ? ? ? ? ? xk04.txt
-????????? ? ? ? ? ? xk05.txt
-????????? ? ? ? ? ? xk06.txt
-????????? ? ? ? ? ? xk07.txt
-????????? ? ? ? ? ? xk08.txt
-????????? ? ? ? ? ? xk09.txt
-????????? ? ? ? ? ? xk10.txt
[xk@Kylin-V10-sp3 /app/auth]$
# root 用户给xkdir文件夹加上rx权限后正常 [root@Kylin-V10-sp3 /app/auth]# chmod u=rx xkdir
[xk@Kylin-V10-sp3 /app/auth]$ ls xkdir/
xk01.txt xk02.txt xk03.txt xk04.txt xk05.txt xk06.txt xk07.txt xk08.txt xk09.txt xk10.txt
[xk@Kylin-V10-sp3 /app/auth]$
[xk@Kylin-V10-sp3 /app/auth]$
[xk@Kylin-V10-sp3 /app/auth]$
[xk@Kylin-V10-sp3 /app/auth]$ ll xkdir/
总用量 0
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk01.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk02.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk03.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk04.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk05.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk06.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk07.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk08.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk09.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk10.txt
[xk@Kylin-V10-sp3 /app/auth]$
# 目录w权限测试 xk用户操作
# root 用户给xkdir文件夹加上w权限 [root@Kylin-V10-sp3 /app/auth]# chmod u=w xkdir
[xk@Kylin-V10-sp3 /app/auth]$ echo hello > /app/auth/xkdir/xk01.txt
-bash: /app/auth/xkdir/xk01.txt: 权限不够
[xk@Kylin-V10-sp3 /app/auth]$
# root 用户给xkdir文件夹加上rw权限
[xk@Kylin-V10-sp3 /app/auth]$ echo hello > /app/auth/xkdir/xk01.txt
-bash: /app/auth/xkdir/xk01.txt: 权限不够
[xk@Kylin-V10-sp3 /app/auth]$
# root 用户给xkdir文件夹加上rwx权限
[xk@Kylin-V10-sp3 /app/auth]$ echo hello > /app/auth/xkdir/xk01.txt
[xk@Kylin-V10-sp3 /app/auth]$
[xk@Kylin-V10-sp3 /app/auth]$ cat /app/auth/xkdir/xk01.txt
hello
[xk@Kylin-V10-sp3 /app/auth]$
# 删除文件,需要对文件所在目录拥有w权限(rwx)
2.3 文件和目录rwx权限总结⭐⭐⭐⭐⭐
# 权限 文件 目录
r 是否可以查看文件内容cat/vim/grep/less/head/ 是否可以查看目录内容ls/tree,需要x权限配合rx.
w 是否可以修改文件内容,需要r权限配合.一般叫rw >> > vim/vi 是否可以在目录下创建,删除,重命名,需要x权限配合,wx,一般rwx
x 是否可以运行文件(系统脚本,命令),需要r权限,rx或rwx. 是否可以进入目录是否可以查看或修改目录下文件属性
2.4 Permission denied典型故障⭐⭐⭐⭐⭐
# 排查流程:
1.定位目录、文件与用户的关系
2.定位与文件权限还是目录权限相关
3.找到缺少的权限
2.5 网站框架与权限
文件权限644,属于root root -rw-r--r--
目录权限755,属于root root drwxr-xr-x
保护root方法
1. 普通用户xk sudo (xk ALL=(ALL) NOPASSWD: ALL)
2. 禁止root远程登录(ubt) vim /etc/ssh/sshd_config 有一个
PermitRootLogin yes 改为no
3. 修改远程登录端口号22 改为18326,vim /etc/ssh/sshd_config 有一个
#Port 22,改为Port 18326
4. 重启sshd systemctl restart sshd
5. 其他方法,定时分析安全日志
6. .....
- 网站服务器,服务在运行的时候需要有个虚拟用户:假设www用户.
- 假设代码目录/app/code/. 目录下面文件644,目录755,都属于root
- 网站有上传功能或目录 /app/code/upload/ 目录下面文件644,目录755,都属于虚拟用户
- 网站会限制上传类型.
- 安全扫描.
网站权限控制让网站安全方案
#1.网站通过虚拟用户运行,避免通过root.
#2.权限整体设置(最小化)
/app/code/
文件644 root root
目录755 root root
#3.遇到网站的用户需求上传文件
/app/code/upload/ 存放用户上传的内容.....
目录755 www www
用户的上传,就相当于www用户在upload目录下面创建文件.
#4.程序代码,控制上传文件的类型. 只能上传图片.视频.
2.6 Linux特殊属性
- Linux中病毒后,会正常命令,常用的命令感染.
- 通过给文件或命令加锁方式防止文件被修改.
- 通过Linux特殊属性.
# lsattr 查看是否有特殊属性.
# chattr 修改或设置.
# a append只能追加. 无法删除内容,无法删除文件,无法移动文件.
# i immutable 永垂不朽的,无法毁灭.
[root@Kylin-V10-sp3 /app/auth/xkdir]# ll
总用量 4
-rw-r--r-- 1 xk xk 6 8月 30 09:00 xk01.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk02.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk03.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk04.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk05.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk06.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk07.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk08.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk09.txt
-rw-r--r-- 1 xk xk 0 8月 30 08:38 xk10.txt
[root@Kylin-V10-sp3 /app/auth/xkdir]#
[root@Kylin-V10-sp3 /app/auth/xkdir]#
[root@Kylin-V10-sp3 /app/auth/xkdir]# lsattr
-------------------- ./xk01.txt
-------------------- ./xk02.txt
-------------------- ./xk03.txt
-------------------- ./xk04.txt
-------------------- ./xk05.txt
-------------------- ./xk06.txt
-------------------- ./xk07.txt
-------------------- ./xk08.txt
-------------------- ./xk09.txt
-------------------- ./xk10.txt
[root@Kylin-V10-sp3 /app/auth/xkdir]# chattr +a xk01.txt
[root@Kylin-V10-sp3 /app/auth/xkdir]#
[root@Kylin-V10-sp3 /app/auth/xkdir]# lsattr
-----a-------------- ./xk01.txt
-------------------- ./xk02.txt
-------------------- ./xk03.txt
-------------------- ./xk04.txt
-------------------- ./xk05.txt
-------------------- ./xk06.txt
-------------------- ./xk07.txt
-------------------- ./xk08.txt
-------------------- ./xk09.txt
-------------------- ./xk10.txt
[root@Kylin-V10-sp3 /app/auth/xkdir]#
[root@Kylin-V10-sp3 /app/auth/xkdir]# rm -f xk01.txt
rm: 无法删除 'xk01.txt': 不允许的操作
[root@Kylin-V10-sp3 /app/auth/xkdir]#
[root@Kylin-V10-sp3 /app/auth/xkdir]# echo nice to me you >> xk01.txt
[root@Kylin-V10-sp3 /app/auth/xkdir]#
[root@Kylin-V10-sp3 /app/auth/xkdir]# cat xk01.txt
hello
nice to me you
[root@Kylin-V10-sp3 /app/auth/xkdir]#
[root@Kylin-V10-sp3 /app/auth/xkdir]# chattr +i xk02.txt
[root@Kylin-V10-sp3 /app/auth/xkdir]#
[root@Kylin-V10-sp3 /app/auth/xkdir]# rm -f xk02.txt
rm: 无法删除 'xk02.txt': 不允许的操作
[root@Kylin-V10-sp3 /app/auth/xkdir]#
[root@Kylin-V10-sp3 /app/auth/xkdir]# echo nice to me you >> xk02.txt
-bash: xk02.txt: 不允许的操作
[root@Kylin-V10-sp3 /app/auth/xkdir]# cat xk02.txt
[root@Kylin-V10-sp3 /app/auth/xkdir]#
小结:
- 给系统命令和文件可以加上锁头.
- 命令可以加上+i.
- 文件可以加上+a.
2.7 Linux特殊权限
- 9位权限,12位权限,剩下的3个权限都是特殊权限.
- 特殊权限不推荐使用,未来做安全优化的时候要去定期检查是否有新增的文件
# Linux特殊权限 特点 说明
suid etuid passwd命令 所有者的位置上有个s,执行权限 执行命令的时候具有这个命令所有者的权限.
sgid setgid 用户组的位置上有个s,执行权限 执行命令的时候具有这个命令用户组的权限.
sticky粘滞位 /tmp 目录,在其他人的位置上t,执行权限 目录具有这个权限(777),每个用户创建的文件只能自己管理.
查看特殊权限的数字表示(了解)
[root@Kylin-V10-sp3 /app/auth/xkdir]# stat /bin/passwd
文件:“/bin/passwd”
大小:30800 块:64 IO 块:4096 普通文件
设备:fd00h/64768d Inode:201841487 硬链接:1
权限:(4755/-rwsr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2024-08-28 16:33:07.099210130 +0800
最近更改:2022-04-20 14:01:07.000000000 +0800
最近改动:2024-08-17 10:46:56.564859778 +0800
创建时间:-
[root@Kylin-V10-sp3 /app/auth/xkdir]#
[root@Kylin-V10-sp3 /app/auth/xkdir]# stat /tmp/
文件:“/tmp/”
大小:180 块:0 IO 块:4096 目录
设备:2ah/42d Inode:1 硬链接:9
权限:(1777/drwxrwxrwt) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2024-08-28 21:58:07.593148193 +0800
最近更改:2024-08-30 11:30:34.752745287 +0800
最近改动:2024-08-30 11:30:34.752745287 +0800
创建时间:-
[root@Kylin-V10-sp3 /app/auth/xkdir]#
# 小结: passwd有个suid ,/tmp有个 粘滞位t 1777