技术的提升仅是量的积累,思想的提升才是质的飞跃。————老男孩

技术重要,学习技术过程中,【积累的学习能力】,思维方法更重要。——老男孩

权限属性chattr

chattr 只有 root 用户可以使用,用来修改文件系统的权限属性,建立凌驾于 rwx 基础权限之上的授权。
选项: + 增加权限 -减少权限 =等于某个权限 
参数
a:仅可追加内容,不可删除
i:不得修改,不能删除
chatter +i 文件   增加i属性
chatter -i  文件  减少i属性

lsattr 查看chattr设置的属性

练习:i属性

touch oldboy.txt
lsattr oldboy.txt 
---------------- oldboy.txt
chattr +i oldboy.txt 
lsattr oldboy.txt
----i----------- oldboy.txt
rm -f oldboy.txt 
rm: 无法删除"oldboy.txt": 不允许的操作

企业就用途:保护关键文件,防止被非法删除

chattr +ai /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/sudoers
lsattr /etc/sudoers /etc/passwd /etc/shadow /etc/gshadow
----ia---------- /etc/sudoers
----ia---------- /etc/passwd
----ia---------- /etc/shadow
----ia---------- /etc/gshadow
chattr -ai /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/sudoers
lsattr /etc/sudoers /etc/passwd /etc/shadow /etc/gshadow

Linux系统权限 基础权限共9位

 rwx   r-x       r-x
  u     g         o
1)3位一组
2)前三位,用户位(owner),中三位为用户位(group),后三位为其他用户(others)
3)
r(read)读取权限4      
w(write)写入权限2     
x(execute)执行权限1   
-(没有权限)没有权限0
注: 如果权限位不可读、不可写、不可执行,则全部使用-作为占位符表示。

文件和目录权限细节总结

1)针对文件
r 可以读取文件内容(block)
w 可以增加 修改 删除 文件内容(block里)的权限
有没有删除文件本身的权限?
和文件本身属性无关,与上一级目录的w权限有关
x 可以执行文件  条件:a.本身可执行  b.配合r c.root不受r控制 
Linux系统中的权限对于文件和目录来说,是有一定区别的,下面先列举下普通文件对应的权限重要知识。
1)可读r:表示具有读取、浏览文件内容(即读取文件实体block)的权限。
2)可写w:表示具有新增、修改、删除文件内容的权限。
3)可执行x:表示具有执行文件的权限。
其中,对于可读r,这里有两点需要说明:
q如果没有可读r的配合,那么使用vim编辑文件时会提示无法编辑(但可强制编辑覆盖文件),可以使用echo等命令进行重定向或追加内容到文件;
q删除、移动或创建文件等的权限是受父目录(上一级目录)的权限控制的
对于可执行x,需要注意以下3点。
q首先文件的本身要能够执行(命令或脚本)。
q如果是普通用户,同时还需要具备可读r的权限才能执行文件。
q而root用户只要有可执行x的权限就能执行文件。

搭建环境测试

Linux系统9位基础权限测试环境下的用户角色需求规划
incahome 家组
oldboy	 家庭男主人,用来代表用户(User)角色,是文件的所有者
oldgirl 女主人(和所有者oldboy属于相同组,oldboy的家人)用来代表用户组incahome的角色
其他人	 test	其他(others)人,用来代表其他用户角色

实践:
groupadd incahome
useradd oldboy -g incahome
useradd oldgirl -g incahome
id oldboy
uid=5023(oldboy) gid=5023(incahome) 组=5023(incahome)
id oldgirl
uid=5024(oldgirl) gid=5023(incahome) 组=5023(incahome)
useradd test
开启四个窗口,依次调整为如下用户登录:root,oldboy,oldgirl,test
root窗口:
 mkdir /oldboy -p
cd /oldboy/
echo "echo 'I am 35.'" >test.sh
cat test.sh
echo 'I am 35.'
ls -l test.sh 
-rw-r--r--. 1 root root 16 5月  20 12:43 test.sh
设置新的用户和组
chown oldboy.incahome test.sh 
ls -l
总用量 4
-rw-r--r--. 1 oldboy incahome 16 5月  20 12:43 test.sh
调整权限:
 chmod 775 test.sh 
 ls -l
总用量 4
-rwxrwxr-x. 1 oldboy incahome 22 5月  20 12:52 test.sh

使用chmod设定权限

权限设置
1)数字权限
r 4
w 2
x 1
- 0
文件最高666    使用最多 644  X小心给
目录最高777    使用最多 755  W小心给
\#选项:  -R 递归修改
chmod 600/777 文件
\#针对目录设定权限
chmod 777/600 dir/    修改目录允许所有人访问
chmod -R 755/644 dir/ 修改目录及子目录权限
2)字符权限
chmod a=rwx file             给所有人添加读写执行权限
chmod a=-rwx file            取消所有的权限
chmod u=rwx,g=rw,o=- file    属主读写执行,属组读写,其他人无权限
chmod ug=rwx,o=r file        属主属组读写执行,其他人读权限
posted on 2021-06-09 19:34  晨曦日出  阅读(109)  评论(0编辑  收藏  举报