Linux——万字总结用户与组的权限那些事儿!建议收藏!
Posted chaochao️
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux——万字总结用户与组的权限那些事儿!建议收藏!相关的知识,希望对你有一定的参考价值。
创作不易,客官点关注,收藏,订阅一键三连吧❤😜
关于用户与组第一期总结:
目录
权限有哪些?
访问权限
可读(read):允许查看文件内容、显示目录列表
可写(write):允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行(execute):允许运行程序、切换目录
归属(所有权)
文件拥有者(owner):拥有该文件或目录的用户帐号
属组(group):拥有该文件或目录的组帐号
其它人(others):除了属主和属组的其他人
d 文件类型是目录 directory;- 文件类型是普通的文件
三个字母一组:
rwx --- ---
u g o
u --> 自己(user)
g -->组 group
o -->others 其他人
a --> 所有人 all
关于权限的那些命令
chmod
文字模式
[root@sc xiyouji]# ll
总用量 8
-r-xrwxrwx 1 root root 0 8月 6 11:45 cali.txt
drwxr-x--- 4 tangseng xiyouji 40 8月 6 11:37 changsha
drwxr-xr-x 2 root root 6 8月 6 11:44 feng
-rwxr-xr-x 1 root root 43 8月 6 11:41 hello.sh
-rwxr----- 1 tangseng xiyouji 10 8月 6 11:19 zjjs.txt
[root@sc xiyouji]# chmod u=rwx,g=rx,o=r cali.txt
[root@sc xiyouji]# ll
总用量 8
-rwxr-xr-- 1 root root 0 8月 6 11:45 cali.txt
drwxr-x--- 4 tangseng xiyouji 40 8月 6 11:37 changsha
drwxr-xr-x 2 root root 6 8月 6 11:44 feng
-rwxr-xr-x 1 root root 43 8月 6 11:41 hello.sh
-rwxr----- 1 tangseng xiyouji 10 8月 6 11:19 zjjs.txt
[root@sc xiyouji]#
[root@sc xiyouji]# chmod u=rwx,g-x,o+x cali.txt
[root@sc xiyouji]# ll cali.txt
-rwxr--r-x 1 root root 0 8月 6 11:45 cali.txt
数字模式
[root@sc changsha]# ll
总用量 0
drwxrwxrwx 2 root root 6 8月 6 11:37 fanwenhao
-r--r--r-- 1 root root 0 8月 6 11:53 feng.txt
drwxrwxrwx 2 root root 6 8月 6 11:37 sanchuang
[root@sc changsha]# chmod 644 feng.txt
[root@sc changsha]# ll
总用量 0
drwxrwxrwx 2 root root 6 8月 6 11:37 fanwenhao
-rw-r--r-- 1 root root 0 8月 6 11:53 feng.txt
drwxrwxrwx 2 root root 6 8月 6 11:37 sanchuang
chown - change file owner and group
[root@sc xiyouji]# chown wukong:xiyouji honghuabaodian.txt
[root@sc xiyouji]# ll honghuabaodian.txt
-rw-r--r-- 1 wukong xiyouji 0 8月 6 14:49 honghuabaodian.txt
[root@sc xiyouji]# chown :xiyouji honghuabaodian.txt
[root@sc xiyouji]# chown fanwenhao honghuabaodian.txt
chattr:文件或目录的隐藏属性
append only (a)
immutable (i)
+ i --> 不能更改文件夹,-i取消
+a -->只能追加不能删除
[root@sc xiyouji]# chattr +i baodian/
[root@sc xiyouji]# lsattr -d baodian/
----i-------------- baodian/
[root@sc xiyouji]# cd baodian/
[root@sc baodian]# pwd
/lianxi/xiyouji/baodian
[root@sc baodian]# mkdir feng
mkdir: 无法创建目录 “feng”: 不允许的操作
[root@sc xiyouji]# chattr -i baodian/
[root@sc xiyouji]# lsattr
------------------- ./baodian
[root@sc xiyouji]# ll /etc/passwd
-rw-r--r-- 1 root root 5110 8月 6 15:43 /etc/passwd
[root@sc xiyouji]# chattr +i /etc/passwd
[root@sc xiyouji]# useradd xiaoyanfei1
useradd:无法打开 /etc/passwd
mask
case
umasx
通过umask值来控制默认情况下新建的文件或者文件夹的权限
默认情况下,我们新建的文件和文件夹的权限是多少呢?
在内核级别,文件的初始权限是666,文件夹的初始权限是777
用umask命令控制默认权限,临时修改,文件夹umask默认为0022(看后三位)
wukong: 755 文件夹 644文件
fanwenhao: 775 文件夹 664文件
[root@sc xiyouji]# umask
0022
[root@sc xiyouji]# umask -S
u=rwx,g=rx,o=rx
[root@sc xiyouji]#umask 077
[fanwenhao@sc ~]$ umask 077
[fanwenhao@sc ~]$ mkdir feng
[fanwenhao@sc ~]$ ll
总用量 0
drwxr-xr-x 2 fanwenhao fanwenhao 6 8月 6 15:05 fanfan
-rw-rw-r-- 1 fanwenhao fanwenhao 0 8月 6 15:00 fan.txt
drwx------ 2 fanwenhao fanwenhao 6 8月 6 15:07 feng
-rw-r--r-- 1 fanwenhao fanwenhao 0 8月 6 15:06 haohao.txt
drwxrwxr-x 2 fanwenhao fanwenhao 6 8月 6 15:00 xiaofan
[fanwenhao@sc ~]$
/etc/profile--->初始化用户的环境变量--》用户登录系统的时候,会执行这个脚本设置我们的环境变量
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002
else
umask 022
fi
suid与sgid权限位
普通用户在执行某个命令的时候会拥有命令的拥有者权限 -->普通用户在使用用这个命令的时候就拥有了root的权限
默认情况下命令都是root的
set user id --> suid
[root@kafka01 xiyouji]# ll /usr/bin/mkdir
-rwxr-xr-x. 1 root root 79864 Oct 31 2018 /usr/bin/mkdir
[root@kafka01 xiyouji]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
建议:不要给所有的命令都设置suid权限位,会导致不安全
[root@sc /]# ll /usr/bin/mkdir
-rwxr-xr-x. 1 root root 106256 5月 12 2019 /usr/bin/mkdir
[root@sc /]# chmod u+s /usr/bin/mkdir
[root@sc /]# ll /usr/bin/mkdir
-rwsr-xr-x. 1 root root 106256 5月 12 2019 /usr/bin/mkdir
[root@sc /]# chmod 0755 /usr/bin/mkdir
[root@sc /]# ll /usr/bin/mkdir
-rwxr-xr-x. 1 root root 106256 5月 12 2019 /usr/bin/mkdir
[root@sc /]# chmod 4755 /usr/bin/mkdir
[root@sc /]# ll /usr/bin/mkdir
-rwsr-xr-x. 1 root root 106256 5月 12 2019 /usr/bin/mkdir
[root@sc /]# chmod u-s /usr/bin/mkdir
[root@sc /]# ll /usr/bin/mkdir
-rwxr-xr-x. 1 root root 106256 5月 12 2019 /usr/bin/mkdir
sticky:粘滞位权限
/tmp目录: 任何人启动的任何程序都可以在这个文件夹里存放数据 temporary 临时的
[root@sc /]# ll -d /tmp
drwxrwxrwt. 14 root root 271 8月 6 16:14 /tmp
/tmp 设置了sticky权限的
[root@sc /]# chmod +t /houcheshi/
[root@sc /]# ll -d /houcheshi/
drwxrwxrwt 2 root root 6 8月 6 16:36 /houcheshi/
[root@sc /]# su fanwenhao
[fanwenhao@sc /]$ cd /houcheshi/
[fanwenhao@sc houcheshi]$ ll
总用量 0
[fanwenhao@sc houcheshi]$ mkdir baodian
[fanwenhao@sc houcheshi]$ ll
总用量 0
drwxrwxr-x 2 fanwenhao fanwenhao 6 8月 6 16:39 baodian
[fanwenhao@sc houcheshi]$ exit
exit
[root@sc /]# su liulf
[liulf@sc /]$ cd /houcheshi/
[liulf@sc houcheshi]$
[liulf@sc houcheshi]$ ll
总用量 0
drwxrwxr-x 2 fanwenhao fanwenhao 6 8月 6 16:39 baodian
[liulf@sc houcheshi]$ rm -rf baodian/
rm: 无法删除'baodian/': 不允许的操作
[liulf@sc houcheshi]$ touch kangshifu.txt
[liulf@sc houcheshi]$ ll
总用量 0
drwxrwxr-x 2 fanwenhao fanwenhao 6 8月 6 16:39 baodian
-rw-rw-r-- 1 liulf liulf 0 8月 6 16:40 kangshifu.txt
[liulf@sc houcheshi]$ rm -rf kangshifu.txt
[liulf@sc houcheshi]$ touch kangshifu.txt
[liulf@sc houcheshi]$ exit
exit
[root@sc /]# su fanwenhao
[fanwenhao@sc /]$ cd /houcheshi/
[fanwenhao@sc houcheshi]$
[fanwenhao@sc houcheshi]$ ll
总用量 0
drwxrwxr-x 2 fanwenhao fanwenhao 6 8月 6 16:39 baodian
-rw-rw-r-- 1 liulf liulf 0 8月 6 16:40 kangshifu.txt
[fanwenhao@sc houcheshi]$ rm -rf kangshifu.txt
rm: 无法删除'kangshifu.txt': 不允许的操作
[fanwenhao@sc houcheshi]$ rm -rf baodian/
拓展:ACL
命令:setfacl 选项 规则 文件
-m --> modify 新增或修改
-x --> remove
-b --> remove all
[root@kafka01 sc]# groupadd wudang
[root@kafka01 sc]# useradd -g wudang zhangwuji
[root@kafka01 sc]# useradd -g wudang songqingshu
[root@kafka01 sc]# setfacl -m g:wudang:rwx,u:zhangwuji:--- /sc
[root@kafka01 sc]# getfacl /sc
getfacl: Removing leading '/' from absolute path names
# file: sc
# owner: root
# group: root
user::rwx
user:zhangwuji:---
group::r-x
group:wudang:rwx
mask::rwx
other::r-x
[root@kafka01 sc]# su zhangwuji
[zhangwuji@kafka01 sc]$ cd /sc
bash: cd: /sc: Permission denied
[zhangwuji@kafka01 sc]$ exit
exit
[root@kafka01 sc]# su songqingshu
[songqingshu@kafka01 sc]$ cd /sc
newgroup
切换有效组
练习
练习1
[root@liuzhiwen 8-06]# chmod 775 .
[root@liuzhiwen 8-06]# chmod 757 ..
[root@liuzhiwen 8-06]# ls -al
total 8
drwxrwxr-x 2 root root 4096 Aug 6 15:14 .
drwxrw-rwx 16 root root 4096 Aug 6 15:14 ..
[root@liuzhiwen 8-06]# mkdir \\*_\\*
[root@liuzhiwen 8-06]# chmod 700 \\*_\\*
[root@liuzhiwen 8-06]# ll
total 4
drwx------ 2 root root 4096 Aug 6 15:17 *_*
[root@liuzhiwen 8-06]# mkdir \\<haha\\>
[root@liuzhiwen 8-06]# chmod 555 \\<haha\\>
[root@liuzhiwen 8-06]# chmod 225 .hello
[root@liuzhiwen 8-06]# touch haha\\ xixi
[root@liuzhiwen 8-06]# ls
*_* <haha> haha xixi
[root@liuzhiwen 8-06]# chmod 530 haha\\ xixi
[root@liuzhiwen 8-06]# useradd haha
[root@liuzhiwen 8-06]# useradd xixi
[root@liuzhiwen 8-06]# groupadd hello
[root@liuzhiwen 8-06]# groupadd haha
[root@liuzhiwen 8-06]# groupadd xixi
[root@liuzhiwen 8-06]# chown haha .
[root@liuzhiwen 8-06]# chown :hello \\*_\\*/
[root@liuzhiwen 8-06]# chown xixi:xixi \\<haha\\>/
[root@liuzhiwen 8-06]# chown xixi:haha haha\\ xixi
[root@liuzhiwen 8-06]# chown :hello .hello
[root@liuzhiwen 8-06]# ls -al
total 16
drwxrwxr-x 4 haha root 4096 Aug 6 15:21 .
drwxrw-rwx 16 root root 4096 Aug 6 15:14 ..
drwx------ 2 root hello 4096 Aug 6 15:17 *_*
dr-xr-xr-x 2 xixi xixi 4096 Aug 6 15:18 <haha>
-r-x-wx--- 1 xixi haha 0 Aug 6 15:21 haha xixi
--w--w-r-x 1 root hello 0 Aug 6 15:18 .hello
[root@liuzhiwen 8-06]# chmod 757 ..
[root@liuzhiwen 8-06]# ls -al
total 16
drwxrwxr-x 4 haha root 4096 Aug 6 15:21 .
drwxr-xrwx 16 root root 4096 Aug 6 15:14 ..
drwx------ 2 root hello 4096 Aug 6 15:17 *_*
dr-xr-xr-x 2 xixi xixi 4096 Aug 6 15:18 <haha>
-r-x-wx--- 1 xixi haha 0 Aug 6 15:21 haha xixi
--w--w-r-x 1 root hello 0 Aug 6 15:18 .hello
练习2
1.新建3个组,shuiguo,mifen ,shaokao
2.新建3个用户,pingguo属于shuiguo组,jingshi属于mifen组,yueyang属于shaokao组
3.在根目录下新建目录food,再将/etc/passwd文件复制到food目录下
4.设置权限,passwd文件能被shuiguo组读写,jingshi这个用户能读写执行,yueyang这个用户不能进行任何操作
5.然后去验证
[root@kafka01 sc]# groupadd shuiguo
[root@kafka01 sc]# groupadd mifen
[root@kafka01 sc]# groupadd shaokao
[root@kafka01 sc]# useradd -g shuiguo pingguo
[root@kafka01 sc]# useradd -g mifen jingshi
[root@kafka01 sc]# useradd -g shaokao yueyang
[root@kafka01 sc]# mkdir /food
[root@kafka01 sc]# cp /etc/passwd /food
[root@kafka01 sc]# cd /food
[root@kafka01 food]# ls
passwd
[root@kafka01 food]# setfacl -m g:shuiguo:rw- passwd
[root@kafka01 food]# setfacl -m u:jingshi:rwx passwd
[root@kafka01 food]# setfacl -m u:yueyang:--- passwd
[root@kafka01 food]# getfacl passwd
# file: passwd
# owner: root
# group: root
user::rw-
user:jingshi:rwx
user:yueyang:---
group::r--
group:shuiguo:rw-
mask::rwx
other::r--
练习3
yum install net-tools -y
授予bailongma用户:useradd、userdel、passwd
授予baigujing用户:ip、ping、ifconfig、route
授权yutujing用户:poweroff、reboot
vim /etc/sudoers
定义命令别名
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/ip
Cmnd_Alias SHUTDOWNMA = /sbin/shutdown, /sbin/poweroff, /sbin/reboot
Cmnd_Alias USERMANAGER = /usr/sbin/useradd, /usr/sbin/userdel, /usr/bin/passwd
授权命令给指定的用户
baigujing ALL=NETWORKING
yutujing ALL=SHUTDOWNMA
bailongma ALL=USERMANAGER
创作不易,客官点一个赞吧!评论一下!❤😜
以上是关于Linux——万字总结用户与组的权限那些事儿!建议收藏!的主要内容,如果未能解决你的问题,请参考以下文章