linux www data 权限,Linux 权限管理
permission = mode(rwxrwxrwx) + ownershipownership文件的权限管理主要针对三类对象进行定义:owner:属主,ugroup:属组,gother:其他,omode每个文件针对每类访问者都定义了三种权限:r: Readablew: Writablex: eXecutable文件:(默认情况下,用户创建的文件没有执行权限)r:可使用文件查看类工具读取其内容w
permission = mode(rwxrwxrwx) + ownership
ownership
文件的权限管理主要针对三类对象进行定义:
owner:属主,u
group:属组,g
other:其他,o
mode
每个文件针对每类访问者都定义了三种权限:
r: Readable
w: Writable
x: eXecutable
文件:(默认情况下,用户创建的文件没有执行权限)
r:可使用文件查看类工具读取其内容
w:可修改其内容
x:可以把此文件提请内核启动为一个进程
目录:(默认情况下,用户创建的目录有执行权限)
r:可以使用 ls 查看此目录中文件列表
w:可在此目录中创建文件,也可删除此目录中的文件
x:可以使用 ls -l 查看此目录中的文件列表,且可以 cd 进入此目录
权限的表示:--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
相关操作
更改权限:chmod
更改文件的属主或属组:chown
只更改文件的属组:chgrp
文件或目录创建时的遮罩码:umask
创建文件或目录时的最终权限码:
FILE:666 - umaskNote: 如果某类的用户的权限相减后的结果,存在 x 权限,则将其权限 +1
DIR:777 - umask
安全上下文
前提:文件有属主和属组,进程也有属主和属组
任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否拥有执行权限
启动为进程之后,其进程的属主为发起者;进程的属组为发起者所属的组
进程访问文件时的权限,取决于进程的发起者进程的发起者,同文件的属主,则应用文件的属主权限
进程的发起应用者,属于文件的属组,则应用文件属组权限
应用文件的“其它”权限
Linux 文件系统上的特殊权限SUID SGID Sticky
0 0 0 0
. . . .
1 1 1 7
chmod 4777 /tmp/a.txt
几个权限位映射:
SUID:映射在 user 上,占据属主的执行权限位s:user 拥有x 权限
S:user 没有 x 权限
SGID:映射在 group 上,占据属组的执行权限位s:group 拥有x 权限
S:group 没有 x 权限
Sticky:映射在 other 上,占据属其他的执行权限位
t:other 拥有x 权限
T:other 没有 x 权限
SUID
suid: setuid
概述任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否拥有执行权限
启动为进程之后,其进程的属主为源程序文件的属主
用途
setuid 权限位, 将文件数据的属主权限, 分配给所有用户
setuid 权限位, 一般用于赋予二进制的命令文件或者一些可执行的脚本文件
设置方法权限设定chmod u+s FILE...
chmod u-s FILE...
chmod 4644 FILE
chmod 644 FILE
SGID
概述默认情况下,用户创建文件时,其属组为此用户所属的基本组
一旦某目录设定了 SGID,则对此目录有写权限的用户,在此目录中创建的文件所属的组为此目录的属组
用途
setgid 权限位设置, 将文件属组拥有的能力, 分配给所有用户组
设置方法
权限设定chmod g+s DIR...
chmod g-s DIR...
chmod 4755 DIR ...
chmod 755 DIR ...
Sticky
sticky bit
概述
对于一个多人可写的目录,如果设置了 sticky 权限,则每个用户仅能删除自己的文件
如系统自带的 /tmp 目录[root@world ~]# ll /tmp/ -d
drwxrwxrwt. 14 root root 4096 Jan 30 18:37 /tmp/
作用
创建共享目录
可以将不同用户信息放置到共享目录中, 实现不同用户数据可以互相查看, 但是不可以互相随意修改
设置方法
权限设定chmod o+t DIR...
chmod o-t DIR...
chmod 1777 DIR...
chmod 777 DIR...
示例
在根目录创建一个共享文件夹[root@world ~]# mkdir /share_dir
[root@world ~]# ll /share_dir/ -d
drwxr-xr-x 2 root root 6 Jan 30 17:57 /share_dir/
修改该共享目录权限为 777[root@world ~]# chmod 777 /share_dir/
[root@world ~]# ll /share_dir/ -d
drwxrwxrwx 2 root root 6 Jan 30 17:57 /share_dir/
给该共享目录加上粘滞位权限[root@world ~]# chmod o+t /share_dir/
[root@world ~]# ll /share_dir/ -d
drwxrwxrwt 2 root root 6 Jan 30 17:57 /share_dir/
root 用户下拷贝文件到共享目录[root@world ~]# cp /root/root.txt /share_dir/
oldboy 用户下拷贝文件到共享目录[oldboy@world ~]$ cp /home/oldboy/oldboy.txt /share_dir/
oldgirl 用户下拷贝文件到共享目录[oldgirl@world ~]$ cp /home/oldgirl/oldgirl.txt /share_dir/
查看[oldgirl@world ~]$ ll /share_dir/
total 12
-rw-rw-r-- 1 oldboy oldboy 12 Jan 30 18:03 oldboy.txt
-rw-rw-r-- 1 oldgirl oldgirl 13 Jan 30 18:04 oldgirl.txt
-rw-r--r-- 1 root root 10 Jan 30 18:03 root.txt
普通用户之间可以查看共享目录下的所有文件, 但不能修改或删除其他用户的文件[oldgirl@world ~]$ rm /share_dir/oldboy.txt -f
rm: cannot remove '/share_dir/oldboy.txt': Operation not permitted
普通用户如何拥有 root 用户的能力
直接切换为 root 用户
优势: 简单快捷
劣势: 风险高
sudo 提权
优势: 可以通过编辑文件指定某个用户有哪些指定的权限
劣势: 配置规划复杂
修改文件权限
优势: 只针对某个数据文件进行修改, 只针对某个用户进行授权
劣势: 需要了解权限位功能
修改三个特殊的权限位
优势: 设置权限简单方便
劣势: 设置好的权限, 所有用户都拥有
如何防范系统中的重要文件不被修改(root用户也不能)
给文件加锁
目的
使 root 用户也不能修改相应文件
设置方法[root@world ~]# ll /etc/passwd
-rw-r--r-- 1 root root 1482 Jan 30 14:15 /etc/passwd
[root@world ~]# lsattr /etc/passwd
---------------- /etc/passwd
[root@world ~]# chattr +i /etc/passwd
[root@world ~]# ll /etc/passwd
-rw-r--r-- 1 root root 1482 Jan 30 14:15 /etc/passwd
[root@world ~]# lsattr /etc/passwd
----i----------- /etc/passwd
[root@world ~]# rm -rf /etc/passwd
rm: cannot remove '/etc/passwd': Operation not permitted
取消方法[root@world ~]# chattr -i /etc/passwd
[root@world ~]# lsattr /etc/passwd
---------------- /etc/passwd
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)