3.21Day16Linux文件、目录权限相关

第十二章Linux权限知识及应用实践

Linux 基础权限是九个字符


分三组:

前三个字符是表示用户(属主)权限位user   (用户) (u)

中三个字符是表示用户组权限位gruop  (用户组) (g)

后三个字符是其他其他用户权限位others (其他用户) (o)

第一个字符的位置权限读的权限位

第二个字符的位置写的权限位

第三个字符的位置是执行行的权限位

用户、用户组的创建:

创建用户主或者用户组的时候后面加上add

例如groupadd *****  ====创建名字位*****的用户组

     useradd  ****  ====创建名字为****的用户主

怎么查看创建的用户主或用户组

例如id *****    =====查看

怎么创建属于用户组的子用户

例如:

usermod -g incahome oldgirl  把oldgirl更改为属于incahome


[root@oldboyedu ~]# groupadd incahome   

[root@oldboyedu ~]# useradd oldboy

useradd: user 'oldboy' already exists

[root@oldboyedu ~]# usermod -g incahome oldboy 让oldboy属于incahome

[root@oldboyedu ~]# id oldboy

uid=1000(oldboy) gid=1004(incahome) groups=1004(incahome),1000(oldboy)


root@liutengda58~]# id oldgirl

uid=1000(oldgirl) gid=1000(oldgirl) groups=1000(oldgirl)

[root@liutengda58~]# usermod -g incahome oldgirl

[root@liutengda58~]# id oldgirl

uid=1000(oldgirl) gid=1004(incahome) groups=1004(incahome)



首先文件的本身要能够执行(命令或脚本)

如果是普通用户。同时还需具备可读r的权限才能执行文件

而root用户


 usermod(修改用户主,组)


目录权限

 1可读r: 表示具有浏览目录下面文件及子目录名的权限

 2可写w表示具有增加、删除或修改目录内文件的权限

 3可执行x:标识具有进入目录的权限


权限修改:

 chmod(+ -)增减权限

 chmod u-r, o=w,g=x


 Linux权限有两种表现形式

 1、数字表示法

 r 4  w 2  x 1  - 0

实际的权限表示的就是将每三位相加即可

 rwxr-xr-x  755

 rwx  r-x  r-x

  7    5    5


2、字符表示法


rw-rw-r-x  代表的数字权限为665

--xr-x-wx  代表的数字权限为153

-wx--x--x  代表的数字权限为311



而以下数字权限表示的字符权限如下:

755  代表的字符权限为rwxr-xr-x

644  代表的字符权限为rw-r--r--

134  代表的字符权限为--x-wxr--


 修改文件属性的用户和组

 chown 用户.用户组 文件  这里的点可以用冒号:替换。

 chown 用户 文件

 chown .用户组 文件


安全权限临界点:

 文件不想被修改的话:644

# touch oldboy.txt  ===创建一个文件

# ls -l             ===查看权限

total 4            

-rw-r--r-- 1 root    root  0 Oct  7 23:21 oldboy.txt

 6  4  4

目录不想被修改(删除移动或者创建)、被执行(被执行):755


企业案例:网站文件被恶意修改(打开网站后有弹窗广告)


用户打开网站,网站会报警

原因:权限设置不到位chomd -R 777 (文件权限设置过大,容易被篡改)

解决方案:

 1、先打包备份

tar zcvf /opt/oldboy_$(date +%F).tar.gz ./oldboy/


 2、找到被修改的文件:

 find /oldboy -type f |xargs grep ‘关键字或字符串’


 3、 批量替换(删除):

 find /oldboy -type f |xargs sed -i '/关键字或字符串/d'

 find /oldboy -type f |xargs grep '关键字或字符串'

 4、找到文件被篡改的来源,并优化调整


 5、写总结 故障报告


控制默认权限的东西umask

 [root@liutengda58~]# umask

      0022


创建文件默认最大的权限位666(-rw-rw-rw),其默认创建的二年间没有可执行权限x位

# umask 044    ====临时更改

# touch abc    ====创建文件abc

# ls -l abc    ======查看abc

-rw--w--w- 1 root root 0 Oct  7 23:42 abc


  基于文件:

从666计算

  umask 都为偶数,默认使用减法

  umask 都有奇数  默认权限用减法  然后奇数位加1


基于目录:默认权限规则

从777计算

当umask中存在奇数位的时候,在计算完毕,奇数位加1




Linux系统特殊权限位知识

 9位基础权限


还有三位特殊权限位

 suid 位


 suid (setuid)通过S字符标识

存在于基本权限的用户权限为的x权限对应的位置;

如果用户权限位对应的x权限位上有x

权限,则suid就用小写的s标识

    2  sgid位

3  sticky (粘滞位)

怎么给文件更改为suid权限

chomd u+s /bin/rm  我们给 rm增加了一个所有人都可对其操作的权限

chomd==修改文件权限    u+s ==把user权限修改为-rws r-x r-x。

chown  cheange owner  改变文件用户和组(在思考目录的属性修改)

修改文件属性的用户和组

chown 用户.用户组 文件  这里的点可以用:替换。

chown 用户 文件

chown .用户组 文件   ====chgrp 用户组 文件

示例:

[root@oldboyedu /oldboy]# chown oldboy test.sh    ==>>把文件用户主归属改成oldboy

[root@oldboyedu /oldboy]# ls -l

total 4

---x--x--x 1 oldboy root 12 Oct  7 22:16 test.sh

[root@oldboyedu /oldboy]# chown .incahome test.sh  ===>>把文件用户组主归属改成incahome(加.)

[root@oldboyedu /oldboy]# ls -l

total 4

---x--x--x 1 oldboy incahome 12 Oct  7 22:16 test.sh

Suid是属主权限设定

Guid讲述的是

粘滞位:后三位权限字符中有t就是粘滞位权限

本章重点

Linux基本九尾权限之文件和目录权限


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容