创作不易,客官点关注,收藏,订阅一键三连吧?😜?
关于用户与组第一期总结:
Linux——万字总结用户与组相关知识!建议收藏!
目录
权限有哪些?
关于权限的那些命令
chmod
chown?
chattr:文件或目录的隐藏属性
?mask
umasx
suid与sgid权限位
sticky:粘滞位权限
拓展:ACL
练习
练习1
练习2
练习3
权限有哪些?
访问权限
可读(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