首页 > 系统相关 >Linux权限管理

Linux权限管理

时间:2022-12-29 19:25:01浏览次数:48  
标签:oldboy txt 管理 sh lnh Linux 权限 root

权限管理

一、概述

Linux通过rwx3种权限控制系统与保护系统,组成9位权限

Linux权限体系还有3位特殊权限,组合起来就是12位权限体系

Linux这简单的rwx控制整个Linux系统的安全,权限与用户共同组成Linux系统的安全防护体系

二、Linux权限计算

1.rwx

权限 含义
r read 是否可读
w write 是否可写
x execute 是否可执行(一般是命令,脚本)

2. 9位权限

文件、目录与用户的关系 含义
所有者 这个文件或目录属于某个用户(所有者)
用户组(家庭) 这个文件或目录属于某个用户组(家庭)
其他人(陌生人) 这个文件或目录不属于某个用户,也不属于这个用户组

image

3. 如何计算权限

人们为了更加的方便的使用权限,于是给每个权限字母设置了一个对应的数字,通过数字表示对应的权限

权限 含义 权限对应的数字
r read 是否可读 4
w write 是否可写 2
x execute 是否可执行 1
- 没有权限 0
字母-->数字
-rwxr-xr-x   755
-r--r--r--      444
-r--rw-rw-   466

数字-->字母(文件)
644  -rw- r-- r--
750  -rwx r-x ---
700  -rwx --- ---
600  -rw- --- ---

4. 修改权限

chmod命令: change mode 使用数字或字母形式修改权限

chown命令: change owner 修改文件所有者,用户组

[root@lnh ~]# touch oldboy.txt
[root@lnh ~]# ll
total 0
-rw-r--r--. 1 root root 0 Dec  7 21:24 oldboy.txt
#修改oldboy.txt的权限为755.
[root@lnh ~]# chmod 755 oldboy.txt 
[root@lnh ~]# ll
total 0
-rwxr-xr-x. 1 root root 0 Dec  7 21:24 oldboy.txt
#修改oldboy.txt所有者和用户组为oldboy(存在)。
[root@lnh ~]# chown oldboy.oldboy oldboy.txt 
[root@lnh ~]# ll
total 0
-rwxr-xr-x. 1 oldboy oldboy 0 Dec  7 21:24 oldboy.txt

image

#修改oldboy.txt的权限为读写
[root@lnh ~]# chmod u=rw oldboy.txt 
[root@lnh ~]# ll
total 0
-rw-r-xr-x. 1 oldboy oldboy 0 Dec  7 21:24 oldboy.txt

#给/etc/rc.d/rc.local(所有位置)增加执行权限
chmod u+x,g+x,o+x /etc/rc.d/rc.local
chmod ugo+x /etc/rc.d/rc.local
chmod a+x /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

三、权限与文件,目录

1.概述

权限 文件 目录
r 是否可以读取文件内容 (r) 是否可以查看目录内容,需要x权限配合 (rx)
w 是否可以修改文件内容,一般还需要 r权限配合 (rw) 是否可以在目录中创建删除,重命令文件权限, 需要x 权限配合 (rwx)
x 是否可以执行文件,一般还需要r权限配合(rwx,rx) 是否可以进入目录,是否可以访问目录下文件属性(rx,rwx)

2.测试文件权限

通过root修改权限,oldboy用户来测试权限

[root@lnh ~]# mkdir /oldboy/
[root@lnh ~]# echo 'hostname' > /oldboy/oldboy.sh
[root@lnh ~]# ll /oldboy/
total 4
-rw-r--r--. 1 root root 9 Dec  7 21:36 oldboy.sh
[root@lnh ~]# chown oldboy.oldboy /oldboy/oldboy.sh 
[root@lnh ~]# chmod 777 /oldboy/oldboy.sh 
[root@lnh ~]# ll /oldboy/
total 4
-rwxrwxrwx. 1 oldboy oldboy 9 Dec  7 21:36 oldboy.sh

2.1 root用户整体测试读,写,执行

[root@lnh ~]# cd /oldboy/
[root@lnh oldboy]# ll oldboy.sh 
-rwxrwxrwx. 1 oldboy oldboy 9 Dec  7 21:36 oldboy.sh
#读取
[root@lnh oldboy]# cat oldboy.sh 
hostname
#写入
[root@lnh oldboy]# echo 'pwd' >> oldboy.sh 
[root@lnh oldboy]# cat oldboy.sh 
hostname
pwd
#执行
[root@lnh oldboy]# ./oldboy.sh 
lnh
/oldboy

2.2 oldboy用户测试文件的r权限

[root@lnh oldboy]# chmod 000 oldboy.sh 
[root@lnh oldboy]# chmod u+r oldboy.sh 
[root@lnh oldboy]# ll oldboy.sh 
-r--------. 1 oldboy oldboy 13 Dec  7 21:38 oldboy.sh

[oldboy@lnh ~]$ cd /oldboy/
[oldboy@lnh oldboy]$ ll
total 4
-r--------. 1 oldboy oldboy 13 Dec  7 21:38 oldboy.sh
[oldboy@lnh oldboy]$ cat oldboy.sh 
hostname
pwd

[oldboy@lnh oldboy]$ echo 'pwd' >> oldboy.sh 
-bash: oldboy.sh: Permission denied
[oldboy@lnh oldboy]$ ./oldboy.sh
-bash: ./oldboy.sh: Permission denied

2.3 oldboy用户测试文件的w权限

[root@lnh oldboy]# chmod u=w oldboy.sh 
[root@lnh oldboy]# ll
total 4
--w-------. 1 oldboy oldboy 13 Dec  7 21:38 oldboy.sh

[oldboy@lnh oldboy]$ cat oldboy.sh 
cat: oldboy.sh: Permission denied
[oldboy@lnh oldboy]$ echo 'pwd' >> oldboy.sh 
[oldboy@lnh oldboy]$ ./oldboy.sh
-bash: ./oldboy.sh: Permission denied

结论:

核心:对于文件来说只有w权限不够,需要有r权限配合

如果文件只有w只能通过追加方式写入,如果vi/vim 写入会清空文件内容只留最新的(:wq!)

2.4 oldboy用户测试文件的x权限

[root@lnh oldboy]# chmod u=x oldboy.sh 
[root@lnh oldboy]# ll
total 4
---x------. 1 oldboy oldboy 17 Dec  7 21:43 oldboy.sh

[oldboy@lnh oldboy]$ cat oldboy.sh 
cat: oldboy.sh: Permission denied
[oldboy@lnh oldboy]$ echo 'pwd' >> oldboy.sh 
-bash: oldboy.sh: Permission denied
[oldboy@lnh oldboy]$ ./oldboy.sh
bash: ./oldboy.sh: Permission denied

结论:

x权限需要有r配合

3.测试目录权限

[root@lnh oldboy]# mkdir oldboydir
[root@lnh oldboy]# touch oldboydir/oldboy{01..03}.txt
[root@lnh oldboy]# chown oldboy.oldboy oldboydir/
[root@lnh oldboy]# ll
total 4
drwxr-xr-x. 2 oldboy oldboy 66 Dec  7 21:47 oldboydir

3.1 测试r权限

[root@lnh oldboy]# chmod u=r oldboydir/
[root@lnh oldboy]# ll
total 4
dr--r-xr-x. 2 oldboy oldboy 66 Dec  7 21:47 oldboydir


[oldboy@lnh oldboy]$ ls -l oldboydir/
ls: cannot access oldboydir/oldboy01.txt: Permission denied
ls: cannot access oldboydir/oldboy02.txt: Permission denied
ls: cannot access oldboydir/oldboy03.txt: Permission denied
total 0
-????????? ? ? ? ?            ? oldboy01.txt
-????????? ? ? ? ?            ? oldboy02.txt
-????????? ? ? ? ?            ? oldboy03.txt

结论:

目录的r权限查看目录下的内容,如果只有r目录下的文件的属性信息无法查看提示“ ?”,目录的r权限需要x权限配合

对于目录x权限表示是否能够进入目录权限,是否能够查看与修改目录下文件的属性信息权限

3.2 测试w权限

[root@lnh oldboy]# chmod u=w oldboydir/
[root@lnh oldboy]# ll
total 4
d-w-r-xr-x. 2 oldboy oldboy 66 Dec  7 21:47 oldboydir

[oldboy@lnh oldboy]$ ls oldboydir/
ls: cannot open directory oldboydir/: Permission denied
[oldboy@lnh oldboy]$ \rm -rf oldboydir/*
rm: cannot remove ‘oldboydir/*’: Permission denied
[oldboy@lnh oldboy]$ touch oldboydir/oldboy.txt
touch: cannot touch ‘oldboydir/oldboy.txt’: Permission denied

结论:

目录的w权限表示在目录下面创建,删除,重命名文件,只有w还不够。

对于目录x权限表示是否能够进入目录权限,是否能够查看与修改目录下文件的属性信息权限

实际应用建议:如果要对某个目录拥有“写”权限,则授予目录rwx

4. 删除文件需要什么权限?必会

[root@lnh oldboy]# mkdir rm-dir
[root@lnh oldboy]# chown oldboy.oldboy rm-dir
[root@lnh oldboy]# ll 
total 4
drwxr-xr-x. 2 oldboy oldboy 60 Dec  7 21:57 rm-dir
[root@lnh oldboy]# touch rm-dir/root{01..03}.txt
[root@lnh oldboy]# ll rm-dir/
total 0
-rw-r--r--. 1 root root 0 Dec  7 21:57 root01.txt
-rw-r--r--. 1 root root 0 Dec  7 21:57 root02.txt
-rw-r--r--. 1 root root 0 Dec  7 21:57 root03.txt

#问:oldboy能否删除rm-dir下面的文件
#答:删除文件看文件所在目录的权限 ,rm-dir目录权限为755,所有这是oldboy。所以可以删除

提示:

删除/创建文件,需要看我呢见所在目录的权限

用户对目录是否有rwx权限

5. Permission denied故障排查

cat /etc/shadow
ls -l /root/
echo '#oldboy' >/etc/passwd
touch /etc/oldboy-file.txt

/etc/shadow                    #/etc/shadow  oldboy没有r权限
ls -l /root/                   #oldboy没有rx权限
echo '#oldboy' >>/etc/passwd   #oldboy没有w权限
touch /etc/oldboy-file.txt     #oldboy没有w权限

小结:

日常操作 需要的权限
查看文件的内容 文件要有r权限
编辑或修改文件内容 文件要有rw权限
执行脚本/命令 文件需要有rx权限
查看目录内容 目录要有rx权限
创建,删除文件 文件所在目录要有rwx权限
重命名 文件所在目录要有rwx权限

6、系统默认权限

Linux系统通过umask命令控制文件或目录的默认权限

如何控制:

一般文件最大权限位为666,目录最大为777

文件或目录最大权限减去umask的值,

文件umask如果是某一位是奇数,这一位需要减去umask的值后,这以为上要+1

[root@lnh ~]# umask
0022

文件默认权限
	666
-	022
------------
    644

目录默认权限:
	777
-	022
----------
	755
	
如果umask的值是012
文件默认权限:
	666
-	012
---------
    654
    +1
-----------
    664
    
目录默认权限:
	777
-	012
-----------
    765
	
    


四、Linux权限控制与系统安全

通过权限控制让系统安全

搭建网站来说:服务器权限的设置(这里说的网站的权限是修改未来存放代码的目录)

  • 最小化原则:既要保证网站正常访问,也要保证网站安全
  • 推荐配置:
    • 文件 644 root root
    • 目录 755 root root
  • 网站在运行的时候需要用户:这个用户不推荐是用户,推荐虚拟用户www

五、3个特殊权限

[root@lnh ~]# ll -d /bin/passwd /tmp/ /bin/ssh-agent 
-rwsr-xr-x.  1 root root    27856 Dec  8 10:36 /bin/passwd
---x--s--x.  1 root nobody 382216 Aug  9  2019 /bin/ssh-agent
drwxrwxrwt. 10 root root      160 Dec  8 15:17 /tmp/
Linux3位特殊权限 判断 含义 例子
set uid === suid 命令的u位置上有个s或者S,对应的权限数字是4 运行这个命令的时候相当于是这个命令的所有者权限 passwd命令
sticky(粘贴) 目录的o的位置上有个t,对应的权限数字是1 对于包含sticky权限的目录,每个用户都可以在目录下面创建内容,但是每个用户只能管理自己的文件 /tmp
1777
set gid ===sgid 命令的g位置上有个s或S,对应的权限数字是2 运行这个命令的时候相当于是这个命令的用户组的权限

六、Linux特殊属性

应用场景:预防重要文件或命令被修改

lsattr 查看这种特殊属性

chatrr 修改这种特殊属性

​ a属性: append 只能追加,文件只能新增内容,无法删除,无法修改,只能追加

​ i属性: immutable 不朽的,无法被毁灭的

[root@lnh ~]# lsattr
---------------- ./oldboy.txt
[root@lnh ~]# chattr +a oldboy.txt 
[root@lnh ~]# cat oldboy.txt 
oldboy
[root@lnh ~]# echo oldboy> oldboy.txt 
-bash: oldboy.txt: Operation not permitted
[root@lnh ~]# \rm -rf oldboy.txt 
rm: cannot remove ‘oldboy.txt’: Operation not permitted

[root@lnh ~]# chattr +i oldboy.txt 
[root@lnh ~]# lsattr
----i----------- ./oldboy.txt
[root@lnh ~]# cat oldboy.txt 
oldboy
[root@lnh ~]# \rm -rf oldboy.txt 
rm: cannot remove ‘oldboy.txt’: Operation not permitted
[root@lnh ~]# echo oldboy> oldboy.txt 
-bash: oldboy.txt: Permission denied

标签:oldboy,txt,管理,sh,lnh,Linux,权限,root
From: https://www.cnblogs.com/world-of-yuan/p/17013326.html

相关文章

  • 华为云CDN加速服务的精细化管理,让加速变得简单起来​
    著名经济学家吴敬琏先生说过:一套完善且良好的管理模式,不但能让企业的工作效率得到更好地提升,还能降低业务生产成本,为企业带来巨大的效能。同样这套理论也适用于CDN加速服务......
  • Linux程序编译过程详解
    大家肯定都知道计算机程序设计语言通常分为机器语言、汇编语言和高级语言三类。高级语言需要通过翻译成机器语言才能执行,而翻译的方式分为两种,一种是编译型,另一种是解释型,因......
  • Linux安装InfluxDB
    1、InfluxDB官方资料InfluxDB的官网地址:https://www.influxdata.com/InfluxDB的官方文档地址:https://docs.influxdata.com/influxdb/v2.6/install/?t=Linux2、选择安装......
  • 浅谈权限系统在多利熊业务应用
    作者|百度智能小程序团队导读本文首先引入多利熊业务介绍,引出多利熊业务建设权限系统的痛点,接着分别从权限系统模型、权限系统设计以及多利熊业务业务应用方面详细探讨了......
  • 立足信创国产化运维,打造安全可控IT运维管理系统
    随着国产化信创应用试点行业的不断扩大,应用信创产品的企事业单位逐渐增多。大多数企业均面临着陌生的国产化环境与产品,其使用习惯和解决问题的方式都面临改变。北京智和信......
  • 中文字符在Linux和Windows的区别
    我写一个程序,需要用到\t进行对齐,里面有中文字符。在Windows系统能够完美运行,但是去到Linux则出现问题,并不能对齐。研究了很久,发现是因为:Linux一个中文字符占3个cahr,而Wi......
  • linux使用iperf3测试带宽
    1、https://www.alibabacloud.com/help/zh/express-connect/latest/test-the-performance-of-an-express-connect-circuit使用yum安装iperf3 本地服务器:[root@loaclh......
  • 【看表情包学Linux】了解操作系统 | 目录内容的显示 | 目录跳转 | 基本创建与删除操作
      ......
  • Linux脚本学习笔记
    shell脚本介绍shell是一个命令解释器,它的作用是解释执行用户输入的命令或者程序交互式的方式进行执行非交互式的方式进行执行,通过shell脚本来执行shell脚本的类型......
  • linux 在本地对远程仓库执行git pull
    linux在本地对远程仓库执行gitpull假设:你的同事在Linux主机A上生成了一个git仓库S用来维护一堆配置文件,配置文件会经常发生变动。你编写了一个脚本并在Linux主机B上执行......