权限管理

rwx

rwx的含义
r  reed     #读 less cat more
w  write    #写 sed echo
x  execute  #可执行
s权限让所有用户都拥有root权限对这个文件

rwx对应的数字

r  4
w  2
x  1

我对于某个文件拥有什么样的权限

普通用户对于/etc/hosts文件拥有什么权限?
[shang@shang:~]$ ll /etc/hosts 
-rw-r--r-- 1 root root 158 Jun 23  2020 /etc/hosts

文件关系:
属主 文件的创造者 主人
属组 属于哪个小组
陌生人

[shang@shang:~]$ ll /etc/hosts 
-rw-r--r-- 1 root root 158 Jun 23  2020 /etc/hosts
rw- 前三位属主     user
r-- 中三位属组     group
r-- 后三位陌生人   other
默认普通用户不属于任何小组 只属于自己的小组 shang用户在shang用户的组内

修改权限chmod

语法:
chmod u+x 文件 #将文件的属主用户添加x权限
chomd u-x file #取消属主的x权限
chomd 0+w file #给陌生人w权限
chomd g+w file #授权组内成员w权限
chmod ug+x file #授权属主属组x权限
chmod ugo+x file #授权所有用户x权限
chmod a+x file #授权所有用户x权限
chmod +x file #默认所有
先清空再复制:
chmod u=x file 清空属主的权限 然后赋值x权限


案例1:给文件1.txt属主添加x文件
[root@shang:~]# chmod u+x 1.txt 
[root@shang:~]# ll
total 12
-rwxr--r-- 1 root root  92 Jul 16 18:59 1.txt
-rw-r--r-- 1 root root 354 Jul 16 18:39 a.txt
-rw-r--r-- 1 root root   7 Jul 16 18:54 b.txt
drwxr-xr-x 2 root root  19 Jul 16 19:07 shang

案例2:取消属主的x权限1.txt
[root@shang:~]# chmod u-x 1.txt 
[root@shang:~]# ll
total 12
-rw-r--r-- 1 root root  92 Jul 16 18:59 1.txt
-rw-r--r-- 1 root root 354 Jul 16 18:39 a.txt
-rw-r--r-- 1 root root   7 Jul 16 18:54 b.txt
drwxr-xr-x 2 root root  19 Jul 16 19:07 shang
案例3:先清空在赋值:
[root@shang:~]# chmod ugo=r 1.txt 
[root@shang:~]# ll
total 12
-r--r--r-- 1 root root  92 Jul 16 18:59 1.txt

使用数字授权

stat 查看0644权限
重点掌握
r  4
w  2
x  1
语法:
chmod 644 file
每三位进行相加
rw-==4+2+0=6
r--==4+0+0=4
r--==4+0+0=4



案例1:授权文件为rw-r--r-- 644权限
[root@shang:~]# chmod 644 1.txt 
[root@shang:~]# ll
total 12
-rw-r--r-- 1 root root  92 Jul 16 18:59 1.txt

案例2:授权文件1.txt为rw------- 600权限
[root@shang:~]# chmod 600 1.txt 
[root@shang:~]# ll
total 12
-rw------- 1 root root  92 Jul 16 18:59 1.txt


测试r权限对于文件的意义 #可以看 但是不能输入
r--
[shang@shang:~]$ cat b.txt 
shang
[shang@shang:~]$ echo wenhao >> b.txt 
-bash: b.txt: Permission denied
总结:r权限对于文件的作用 只读
特殊:虽然主人没w权限 但是可以牵制wq!

测试w权限对文件的意义 #可以echo输入 但是不可以看 无意义
-w-
[shang@shang:~]$ echo wenhao >> b.txt 
[shang@shang:~]$ cat b.txt 
cat: b.txt: Permission denied



测试x权限对文件的意义 #无意义
--x
[shang@shang:~]$ cat b.txt 
cat: b.txt: Permission denied
[shang@shang:~]$ echo wenhao >> b.txt 
-bash: b.txt: Permission denied
[shang@shang:~]$ ./b.txt 
bash: ./b.txt: Permission denied
测试rwx对于目录的影响
测试r权限对目录的影响
[root@shang:home]# chmod u=r shang
[root@shang:home]# ll
dr-------- 2 shang shang 152 Jul 18 07:17 shang
[shang@shang:~]$ ll shang
ls: cannot access 'shang': Permission denied
[shang@shang:~]$ cd shang
-bash: cd: shang: Permission denied
无作用
测试w对目录的影响
[shang@shang:home]$ ll shang
ls: cannot open directory 'shang': Permission denied
[shang@shang:home]$ cd shang
-bash: cd: shang: Permission denied
无作用
测试x对目录的影响
无作用
总结: 文件最高权限666
默认创建644
文件如果正常编辑必须有rw组合
文件如果可以执行必须得有r-x的组合
总结: 目录最高权限777
默认创建 755
rwx可以在目录下进行增删改查
r-x只能在目录下查看文件 可以cp拷贝
增删改查 看目录权限 必须有rwx

umask

作用:决定了默认创建文件和目录的权限
默认创建目录:755
默认创建文件:644
[shang@shang:~]$ umask
0022
目录权限:
 777
-022
 755
文件权限:
 666
-022
 644
 如果umask的值为奇数 则文件创建完成后在奇数位置+1  

隐藏权限

a 只能追加
i 无敌
查看文件的隐藏权限
lsattr 默认文件没有隐藏权限
chattr +a file 只能查看和追加
chattr +i file 无敌 只能查看

查看隐藏权限 默认文件没有隐藏权限
[root@shang:~]# lsattr a.txt 
-------------------- a.txt
测试隐藏权限a 只能查看和追加
[root@shang:~]# rm -rf a.txt 
rm: cannot remove 'a.txt': Operation not permitted
[root@shang:~]# mv a.txt a.log
mv: cannot move 'a.txt' to 'a.log': Operation not permitted
测试隐藏权限i 除了查看啥都不能干
[root@shang:~]# cat a.txt 
[root@shang:~]# rm -rf a.txt 
rm: cannot remove 'a.txt': Operation not permitted
[root@shang:~]# mv a.txt a.log
mv: cannot move 'a.txt' to 'a.log': Operation not permitted


粘滞位 o+t 只能管理属于自己的文件
[root@shang:~]# chmod o+t a.txt 
[root@shang:~]# ll -a a.txt 
-rw-r--r-T 1 root root 40 Dec  6 16:15 a.txt

改变属主属组对权限的影响

ll -d 查看目录本身
环境准备:
[shang@shang:home]$ ll
total 0
-rw-r--r-- 1 root  root    0 Jul 18 03:39 1.txt

第一步:查看属主属组是root的情况下普通用户的权限
查看文件:
[shang@shang:home]$ cat 1.txt 
shang
更改文件内容:
[shang@shang:home]$ echo wenhao >> 1.txt 
-bash: 1.txt: Permission denied
第二步:改变属主属组
[root@shang:home]# chown shang.shang 1.txt 
[root@shang:home]# ll
total 4
-rw-r--r-- 1 shang shang   6 Jul 18 03:42 1.txt
第三步:查看属主属组是普通用户的情况下普通用户的权限
查看:
[root@shang:home]# cat 1.txt 
shang
更改文件内容:
[root@shang:home]# echo wenhao >> 1.txt 
[root@shang:home]# cat 1.txt 
shang
wenhao


总结:更改文件属组属组后,普通文件可以执行更改文件内容操作

批量创建、改密码、删除

创建
echo shang{1..3} | xargs -n1 | awk '{print "useradd "$1}' | bash
修改
tail -3 /etc/passwd| awk -F: '{print "echo wenhao1233.com | passwd --stdin "$1}'|bash
删除
[root@web02:~]# tail -3 /etc/passwd| awk -F: '{print "userdel "$1}' | bash
tee方式 保存到文件夹中
tee -a 追加
[root@shang:~]# touch a.txt
[root@shang:~]# tail -3 /etc/passwd| awk -F: '{print "echo wenhao1233.com | passwd --stdin "$1}'| tee -a a.txt | bash
孩儿立志出乡关,学不成名誓不还。埋骨何须桑梓地,人生无处不青山。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇