一。練習:批量創建 n 個用戶#
批量創建 n 個用戶
用戶名以 sanchuang 開頭,sanchuang
指定家目錄 /lianxi/user
示例
---------------------------------------------------------------------------------------------------------------------------------
[root@localhost ~]# seq -w 10 # 注:-w 同等長度輸出
01
02
………………
09
10
[root@sanchuang-linux ~]# vim create_user2.sh
#!/bin/bash
num=$1 # 注:$1外面 接收參數,改名字 見名知義
[ -d /lianxi/user ] || mkdir /lianxi/user # 注:-d判斷目錄是否存在,-f判斷普通文件是否存在
for i in `seq -w $num` # 注:mkdir /lianxi/user 就可以了,不要加上用戶名目錄
do # 注:判斷是否存在,如果前面為真不做任何事情,如果為假就執行mkdir…
useradd -d /lianxi/user/sanchuang$i sanchuang$i
done
[root@sanchuang-linux ~]# bash create_user2.sh 12
useradd:用戶“sanchuang01”已存在
useradd:用戶“sanchuang02”已存在
………………
useradd:用戶“sanchuang10”已存在
useradd:用戶“sanchuang12”已存在
[root@sanchuang-linux ~]# cd /lianxi/user
[root@sanchuang-linux user]# ls
sanchuang01 ………… sanchuang10 sanchuang12
[root@sanchuang-linux user]# cd
[root@sanchuang-linux ~]# bash create_user2.sh 20
useradd:用戶“sanchuang01”已存在
useradd:用戶“sanchuang02”已存在
………………
useradd:用戶“sanchuang12”已存在
useradd:用戶“sanchuang13”已存在
[root@sanchuang-linux ~]# cd /lianxi/user
[root@sanchuang-linux user]# ls
sanchuang01 ………… sanchuang18 sanchuang20
二。一般情況下普通用戶只能在家目錄下或者 /tmp 目錄下創建文件或者文件夾#
一般情況下普通用戶只能在家目錄下或者 /tmp 目錄下創建文件或者文件夾
#注:/tmp 目錄是一個臨時目錄,一般存放臨時性的東西
#注:(如:程序運行中需要記錄的一些東西,程序結束後把 /tmp 目錄下的東西刪掉)
[root@sanchuang-linux ~]# su - sanchuang
上一次登錄:五 11月 6 17:09:41 CST 2020pts/2 上
[sanchuang@sanchuang-linux ~]$ ls -ld /
dr-xr-xr-x. 38 root root 4096 11月 5 15:12 /
[sanchuang@sanchuang-linux ~]$ ls -ld /etc
drwxr-xr-x. 90 root root 8192 11月 7 15:00 /etc
[sanchuang@sanchuang-linux ~]$ ls -ld ./ # 注:家目錄下 創建文件或者文件夾
drwxrwxrwx. 4 sanchuang sanchuang 122 11月 6 17:10 ./
[sanchuang@sanchuang-linux ~]$ ls -ld /tmp # 注:/tmp目錄下 創建文件或者文件夾
drwxrwxrwt. 12 root root 264 11月 7 10:36 /tmp
#注:chmod 自己是屬主的時候,才可以修改權限
三. chmod#
chmod 使用,必須是文件的屬主,才能改動文件的讀寫執行權限(root 除外)
#注:chmod 使用 用戶必須是文件的屬主才能修改(即使是文件屬組裡的成員也沒有權限去修改文件)
#注:root 用戶除外
示例:su切換用戶時 加- 不加- 區別
[root@sanchuang-linux chenpeng]# su - sanchuang11 # 注:加 - 會自動切換到到家目錄下
上一次登錄:六 11月 7 15:10:51 CST 2020pts/0 上
[sanchuang11@sanchuang-linux ~]$ exit
註銷
[root@sanchuang-linux chenpeng]# su sanchuang11 # 注:不加 - 會在當前目錄下
[sanchuang11@sanchuang-linux chenpeng]$
四。設置文件 / 目錄的歸屬#
設置文件 / 目錄的歸屬
4.1 chown 命令#
chown 命令 # 注:用來改變文件的屬主和屬組
- 必須是root # 注:chown 只能 root 去更改
- 用戶和組必須存在
- 格式:
chown 屬主 文件
chown :屬組 文件
chown 屬主:屬組 文件
示例:chown 修改文件的屬主和屬組
--------------------------------------------------------------------------------------------
[root@sanchuang-linux tmp]# ls -al sanchuang_log # 注:屬主 sanchuang ; 屬組 sanchuang
-rw-rw-r-- 1 sanchuang sanchuang 673 11月 7 15:19 sanchuang_log
[root@sanchuang-linux tmp]# chown sanchuang10 sanchuang_log # 注:修改屬主 sanchuang10
[root@sanchuang-linux tmp]# ls -al sanchuang_log
-rw-rw-r-- 1 sanchuang10 sanchuang 673 11月 7 15:19 sanchuang_log
[root@sanchuang-linux tmp]# chown :sanchuang9 sanchuang_log # 注:修改屬組 sanchuang9
[root@sanchuang-linux tmp]# ls -al sanchuang_log
-rw-rw-r-- 1 sanchuang10 sanchuang9 673 11月 7 15:19 sanchuang_log
[root@sanchuang-linux tmp]# chown sanchuang2:sanchuang sanchuang_log # 注:即改屬主又改屬組
[root@sanchuang-linux tmp]# ls -al sanchuang_log
-rw-rw-r-- 1 sanchuang2 sanchuang 673 11月 7 15:19 sanchuang_log
#注:屬主和屬組不可以隨便更改
#注:數字隨便改,沒有限制 沒有強制性的檢查
#注:改字符串形式的名字 會檢查一下
[root@sanchuang-linux tmp]# chown xixi:haha sanchuang_log # 注:修改 字符串會檢查
chown: 無效的用戶: “xixi:haha”
[root@sanchuang-linux tmp]# chown 6666:6666 sanchuang_log # 注:數字沒有限制
[root@sanchuang-linux tmp]# ls -al sanchuang_log
-rw-rw-r-- 1 6666 6666 673 11月 7 15:19 sanchuang_log
4.2 chgrp 命令#
chgrp 命令 # 注:修改屬組(不常用)
- 格式:
chgrp 屬組 文件
- 必須是 root 或者是文件的所有者
- 必須是新組的成員
常用命令選項
-R
:遞歸修改指定目錄下所有文件、子目錄的歸屬
示例:chgrp命令 修改屬組
--------------------------------------------------------------------------------------------
[root@sanchuang-linux tmp]# chgrp sanchuang5 sanchuang_log # 注:只修改屬組
[root@sanchuang-linux tmp]# ls -al sanchuang_log
-rw-rw-r-- 1 6666 sanchuang5 673 11月 7 15:19 sanchuang_log
4.3 可以執行的用戶#
可以執行的用戶
操作 可以執行的用戶
chmod root 和文件所有者
chgrp root 和文件所有者(必須是組成員)
chown 只有 root
#注:chgrp 修改屬組 文件所有者 必須是想要修改的組裡的組成員
五。默認權限#
- 在內核級別,文件的初始權限 666
- 在內核級別,文件夾的初始權限 777
- 用 umask 命令控制默認權限,臨時有效
[root@localhost ~]# umask 0022
[root@localhost ~]# umask -S u=rwx,g=rx,o=rx
[root@localhost ~]# umask 077
[root@localhost ~]# umask 0077
不推薦修改系統默認umask
# 注:umask規定默認創建文件或者文件夾的權限有多大
============================================================================================
[sanchuang9@sanchuang-linux ~]$ ls -ld dd # 注:新建的文件dd
-rw-rw-r-- 1 sanchuang9 sanchuang9 0 11月 7 15:48 dd # 注:權限644
============================================================================================
5.1 /etc/profile 下面有 umask 的設置#
/etc/profile 下面有umask
的設置
系統環境設置 /etc/profile # 注:/etc/profile 下面有 umask 的設置
#注:判斷 uid 是否大於 199,並且當前用戶的 用戶名和組名 相等的時候 umask 是 002
#注:用戶名和組名不一樣時 umask 是 022
[sanchuang9@sanchuang-linux ~]$ less /etc/profile # 注:/etc/profile下面有umask的設置
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002 # 注:如果uid大於199 執行 id -gn 命令 group_name ;id -un user_name
else # 注:判定uid是否大於199,並且group_name=user_name
umask 022 # 注:用戶名和組名一樣時 umask 是002 ; 用戶名和組名不一樣時 是 002
fi
--------------------------------------------------------------------------------------------
#注:新建文件的權限是666-umask,新建目錄的權限是777-umask
#注:使用umask設置文件的權限,因為每次登錄shell都會加載系統的環境,會運行/etc/profile,所以會設置它的umask
#注:id -gn 獲取當前用戶組名
#注:id -un 獲取當前用戶名
#uid大於199,並且當前用戶的group_name和user_name名字相同的時候 umask是002
#剩下的時候 umask是022
·在內核級別,文件的初始權限666
·在內核級別,文件夾的初始權限777
·用umask命令控制默認權限,臨時有效
umask為002 則表示新建文件的默認權限為664,新建文件的文件夾權限為775
umask為022 則表示新建文件的默認權限為644,新建文件的文件夾權限為755
# 注:666 - umask
777 - umask
============================================================================================
示例:id -gn 獲取當前用戶組名; id -un 獲取當前用戶名
--------------------------------------------------------------------------------------------
[root@sanchuang-linux tmp]# /usr/bin/id -gn
root
[root@sanchuang-linux tmp]# /usr/bin/id -un
root
[root@sanchuang-linux tmp]# id -gn # 注:當前所在用戶組名
root
[root@sanchuang-linux tmp]# id -un # 注:當前所在用戶名
root
============================================================================================
示例:判斷2個字符串是否相等 可以用1個等號
--------------------------------------------------------------------------------------------
[root@sanchuang-linux tmp]# [ "a" = "b" ] || echo "ok" # 注:判斷字符串相同 可以用一個等於號
ok # 注:條件為假 輸出ok
[root@sanchuang-linux tmp]# [ "a" = "b" ] && echo "ok" # 注:條件為真 輸出ok
[root@sanchuang-linux tmp]# [ "a" = "a" ] && echo "ok"
ok
--------------------------------------------------------------------------------------------
[root@sanchuang-linux tmp]# su - sanchuang # 注:用戶名和組名一樣時
[sanchuang@sanchuang-linux ~]$ umask
0002 # 注:用戶名和組名一樣時 umask 是002
[sanchuang9@sanchuang-linux ~]$ id -gn # 注:第一位0是粘滯位 002是umask
sanchuang
[sanchuang9@sanchuang-linux ~]$ id -un
sanchuang
[root@localhost ~]# su - b1 # 注:用戶名 和 組名不一樣時
[b1@localhost ~]$ id
uid=1204(b1) gid=1001(cali) 组=1001(cali),200(tech)
[b1@localhost ~]$ id -un
b1
[b1@localhost ~]$ id -gn
cali
[b1@localhost ~]$ umask # 注:用戶名和組名不一樣時 umask是022
0022
[b1@localhost ~]$ touch gg
[b1@localhost ~]$ ls -ld gg # 注:新建文件的權限是644權限
-rw-r--r--. 1 b1 cali 0 11月 8 16:27 gg
[b1@localhost ~]$ umask 422 # 注:臨時設置umask為422 (臨時修改)
[b1@localhost ~]$ mkdir test # 注:新建文件夾的權限是 355(777-umask)
[b1@localhost ~]$ ls -ld test/
d-wxr-xr-x. 2 b1 cali 6 11月 8 16:49 test/ # 注:目錄權限355 寫執行 讀執行 讀執行
============================================================================================
示例:臨時設置umask
--------------------------------------------------------------------------------------------
[root@sanchuang-linux tmp]# umask 422 # 注:臨時更改umask
[root@sanchuang-linux tmp]# touch hh
[root@sanchuang-linux tmp]# ls -ld hh
--w-r--r-- 1 root root 0 11月 7 16:02 hh # 注:文件 權限是244 寫讀讀
============================================================================================
示例:umask -S 查看文件目前默認權限是多少
[sanchuang9@sanchuang-linux ~]$ umask -S # 注:查看文件目前默認權限是多少
u=rwx,g=rwx,o=rx
============================================================================================
示例:想要修改某個用戶的umask,永久修改
--------------------------------------------------------------------------------------------
#注:在家目錄下的.bashrc下添加umask設置 永久修改
#注:/etc/profile,/etc/bashrc系統配置 基本上不要更改(不要想着改全局配置)
[sanchuang9@sanchuang-linux ~]$ vim /home/sanchuang9/.bashrc
umask=002
[sanchuang9@sanchuang-linux ~]$ exit
註銷
[root@sanchuang-linux tmp]# su - sanchuang9
上一次登錄:六 11月 7 16:07:40 CST 2020pts/0 上
[sanchuang9@sanchuang-linux ~]$ umask # 注:umask變成002了
0002
[sanchuang9@sanchuang-linux ~]$ bash # 注:執行到新bash裡面去 umask也是002
[sanchuang9@sanchuang-linux ~]$ umask
0002
六。練習#
6.1 新建文件夾 /pem,複製 /etc/hosts 文件到 pem 目錄下#
1、新建文件夾/pem,複製/etc/hosts文件到pem目錄下
[root@sanchuang-linux pem]# mkdir /pem
[root@sanchuang-linux pem]# cp /etc/hosts /pem
6.2 修改 hosts 文件的權限為,屬主有讀寫執行,組有讀寫執行,其他人沒有任何權限#
2、修改hosts文件的權限為,屬主有讀寫執行,組有讀寫執行,其他人沒有任何權限
[root@sanchuang-linux pem]# chmod 750 /pem/hosts
[root@sanchuang-linux pem]# ls -al /pem/hosts
-rwxr-x--- 1 root root 158 11月 7 16:20 /pem/hosts
6.3 新建 /pem2 目錄,修改權限為任何人都有讀寫執行的權限#
3、新建/pem2目錄,修改權限為任何人都有讀寫執行的權限
[root@sanchuang-linux pem]# mkdir /pem2
[root@sanchuang-linux pem]# chmod 777 /pem2
[root@sanchuang-linux pem]# chmod 777 /pem2 -R # 注:連帶下面所有的子文件
6.4 修改 /pem2 目錄權限為屬主有讀寫執行的權限,其他任何人都沒有權限#
4、修改/pem2目錄權限為屬主有讀寫執行的權限,其他任何人都沒有權限
[root@sanchuang-linux pem]# chmod 700 /pem2
6.5 修改 /pem2 任何人都沒有任何權限#
5、修改/pem2任何人都沒有任何權限
[root@sanchuang-linux pem]# chmod 000 /pem2
6.6 複製 /etc/passwd 和 /etc/shadow 文件到 /pem 目錄下,查看複製之後的權限是否一致,如何保持權限一致#
6、複製/etc/passwd和/etc/shadow文件到/pem目錄下,查看複製之後的權限是否一致,如何保持權限一致
[root@sanchuang-linux pem]# cp /etc/{passwd,shadow} /pem
[root@sanchuang-linux pem]# ls -al /pem
--w-r--r-- 1 root root 3964 11月 7 16:23 passwd
---------- 1 root root 4201 11月 7 16:23 shadow
6.7 cp -a 保留文件的屬性(包括權限、時間、用戶、組)#
cp -a
保留文件的屬性(包括權限、時間、用戶、組)
[root@sanchuang-linux pem]# cp /home/sanchuang9/.viminfo /tmp/viminfo # 注:cp過來 屬主、屬組發生改變
[root@sanchuang-linux pem]# ls -al /tmp/viminfo
--w------- 1 root root 1622 11月 7 16:30 /tmp/viminfo
[root@sanchuang-linux pem]# ls -al /tmp/viminfo # 注:cp-a選項 屬主、屬組、權限、創建時間都沒變
-rw------- 1 sanchuang9 sanchuang9 1622 11月 7 16:11 /tmp/viminfo
七。文件或目錄的隱藏屬性#
chattr 命令:設置文件的隱藏屬性
- 格式:
chattr [+-=] [ai] 文件或目錄
# 注:+、-、= 分別表示 增加、去除、設置參數
常用命令選項
-R
:遞歸修改-a
:可以增加文件內容,但不能修改和刪除-i
:鎖定保護文件
lsattr 命令:查看文件的隱藏屬性
- 格式:lsattr [Rda] 文件或目錄
常用命令選項
-R
:遞歸修改-d
:查看目錄
#注:普通用戶設置不了文件的隱藏屬性;root 用戶才能設置
示例1:chattr +i hosts 鎖定保護文件
# 注:root用戶也不能去修改它
--------------------------------------------------------------------------------------------
#注:不能更改文件(不能刪 不能加 不能移動)
[root@sanchuang-linux pem]# chattr +i hosts # 注:設置鎖定保護文件;將它不能更改
[root@sanchuang-linux pem]# mv hosts{,.bak} # 注:不能移動(即使是root用戶)
mv: 無法將'hosts' 移動至'hosts.bak': 不允許的操作
[root@sanchuang-linux pem]# ls -al hosts # 注:ls -al命令 無法查看隱藏屬性
-rwxr-x--- 1 root root 158 11月 7 16:20 hosts
[root@sanchuang-linux pem]# lsattr hosts # 注:lsattr 才能 查看文件隱藏屬性 i
----i--------------- hosts # 注:多了1個i屬性
[root@sanchuang-linux pem]# chattr -i hosts # 注:去除屬性 去除鎖定
[root@sanchuang-linux pem]# lsattr hosts
-------------------- hosts # 注:i隱藏屬性沒了
#注:不能刪,加,移動(root用戶也不能)
============================================================================================
示例2:chattr +a hosts 可以增加文件內容,但不能修改和刪除
# 注:可以使用重定向去增加文件內容,但不能去修改和刪除
--------------------------------------------------------------------------------------------
[root@sanchuang-linux pem]# chattr +a hosts # 注:可以增加文件內容,但是無法修改和刪除
[root@sanchuang-linux pem]# lsattr hosts
-----a-------------- hosts # 注:多了a屬性
[root@sanchuang-linux pem]# vim hosts # 注:不可以修改
[root@sanchuang-linux pem]# echo "aaaa" >> hosts # 注:可以追加
[root@sanchuang-linux pem]# cat hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
aaaa
[root@sanchuang-linux pem]# rm -rf hosts # 注:不可以刪除
rm: 無法刪除'hosts': 不允許的操作
#注:不能修改,只能追加,不能刪除
#注:有時候無論什麼情況都不想讓它更改 +a屬性
============================================================================================
示例3:chattr +i /etc/passwd
--------------------------------------------------------------------------------------------
[root@sanchuang-linux pem]# chattr +i /etc/passwd # 注:設置以後就創建不了用戶
[root@sanchuang-linux pem]# lsattr /etc/passwd # 注:查看隱藏屬性
----i--------------- /etc/passwd # 注:隱藏屬性i
[root@sanchuang-linux pem]# useradd sanchuang21 # 注:無論什麼用戶,設置了隱藏屬性,基本沒戲了
useradd:無法打開 /etc/passwd
[root@sanchuang-linux pem]# chattr -i /etc/passwd # 注:解鎖
============================================================================================
示例4:普通用戶設置不了文件的隱藏屬性
--------------------------------------------------------------------------------------------
[root@localhost ~]# su - sanchuang
[sanchuang@localhost ~]$ touch aa
[sanchuang@localhost ~]$ chattr +i aa # 注:普通用戶設置不了文件的隱藏屬性
chattr: 不允許的操作 while setting flags on aa
八。文件的正常權限#
#注:正常文件的權限是讀寫執行
[root@sanchuang-linux pem]# ls -ld /tmp
drwxrwxrwt. 12 root root 4096 11月 7 16:30 /tmp # 注:t 文件的特殊權限
九。文件的特別權限#
#注:set 位權限設置
SET 位權限
主要用途:
- 為可執行(有 x 權限的)文件設置,權限字符為 “s” # 注:以前的 x 位變成 s 位
- 其他用戶執行該文件時,將擁有屬主或屬組用戶的權限
SET 位權限類型:
- SUID:表示對屬主用戶增加 SET 位權限
- SGID:表示對屬組內的用戶增加 SET 位權限
# 注:用在可執行文件
# 注:suid sgid 對應文件而言
示例:/bin/passwd
--------------------------------------------------------------------------------------------
[root@localhost ~]# which passwd
/bin/passwd
[root@localhost ~]# ls -ld /bin/passwd
-rwsr-xr-x. 1 root root 27856 4月 1 2020 /bin/passwd
#注:普通用戶以root用戶的身份,間接更新了shadow文件中自己的密碼
[root@localhost ~]# su - sanchuang
[sanchuang@localhost ~]$ passwd sanchuang # 注:不能更改密碼 其他權限沒到位
passwd:只有根用戶才能指定用戶名。
#注:s位 這個權限基本不會頒布,必須在有可執行文件下才能生效
#注:這個權限設置 所有人全部給,不能精確到某個用戶
示例:SET位權限設置
--------------------------------------------------------------------------------------------
[root@sanchuang-linux pem]# ls -ld /pem
d-wxr-xr-x 2 root root 47 11月 7 16:42 /pem # 注:只有root用戶有寫的權限
#注:讓/pem有普通用戶創建、寫入的權限?
1.設置/pem的權限為777
2.設置mkdir SUID的權限
[root@sanchuang-linux sbin]# which mkdir
/usr/bin/mkdir
[root@sanchuang-linux sbin]# ls -ld /usr/bin/mkdir
-rwxr-xr-x. 1 root root 195192 4月 10 2020 /usr/bin/mkdir # 注:沒有設置s屬性
[root@sanchuang-linux sbin]# chmod u+s /bin/mkdir # 注:讓普通用戶執行mkdir時以root(屬主)權限去運行
[root@sanchuang-linux sbin]# ls -ld /usr/bin/mkdir # 注:變成s位了
-rwsr-xr-x. 1 root root 195192 4月 10 2020 /usr/bin/mkdir
[root@sanchuang-linux sbin]# su - sanchuang9
上一次登錄:六 11月 7 16:09:48 CST 2020pts/0 上
[sanchuang9@sanchuang-linux ~]$ cd /pem
[sanchuang9@sanchuang-linux pem]$ ls
hosts passwd shadow
[sanchuang9@sanchuang-linux pem]$ mkdir aa # 注:普通用戶有寫的權限了
[sanchuang9@sanchuang-linux pem]$ ls -ld /pem
d-wxr-xr-x 3 root root 57 11月 7 16:59 /pem
[sanchuang9@sanchuang-linux pem]$ touch dd # 注:touch沒有這個權限
touch: 無法創建 'dd': 權限不夠
[sanchuang9@sanchuang-linux pem]$ exit
註銷
[root@sanchuang-linux sbin]# chmod u-s /bin/mkdir
[root@sanchuang-linux sbin]# ls -ld /bin/mkdir
-rwxr-xr-x. 1 root root 195192 4月 10 2020 /bin/mkdir
# 注:s位基本不會給
# 注:s位不要輕易的頒布它,會對用戶進行影響
十。粘滯位權限(Sticky)#
粘滯位權限(Sticky)
主要用途:
- 為公共目錄(例如,權限為 777 的)設置,權限字符為 “
t
” # 注:t 粘滯位標記字符 - 用戶不能刪除該目錄中其他用戶的文件
# 注:一般作用於文件夾
# 注:粘滯位對於文件夾而言
示例1
--------------------------------------------------------------------------------------------
[root@sanchuang-linux sbin]# ls -ld /tmp
drwxrwxrwt. 12 root root 4096 11月 7 16:30 /tmp # 注:/tmp目錄 任何用戶 都有讀寫執行權限
#注:因為粘滯位權限,用戶在/tmp目錄下只能創建自己的,刪除自己的
#注:一般作用於文件夾
#注:sanchuang10用戶不能刪除sanchuang用戶創建的文件
==============================================================================================================
示例2:chmod 777 /pem 普通用戶可以操作/pem這一層目錄下的文件或者文件夾及子文件
# 注:777權限,不同用戶可以相互刪除文件
# 注:設置粘滯位後,只能刪除自己創建的文件
--------------------------------------------------------------------------------------------
[root@sanchuang-linux ~]# chmod 777 /pem # 注:把/pem文件夾權限改為777
[root@sanchuang-linux ~]# ls -ld /pem # 注:所有用戶都有對/pem讀寫執行的權限 包括創建、刪除
drwxrwxrwx 3 root root 74 11月 7 17:10 /pem
[root@sanchuang-linux ~]# su - sanchuang9 # 注:普通用戶有創建的權限
上一次登錄:六 11月 7 17:07:17 CST 2020pts/2 上
[sanchuang9@sanchuang-linux ~]$ touch /pem/sanchuang9 # 注:普通用戶有創建的權限
[root@sanchuang-linux ~]# su - sanchuang
[sanchuang@sanchuang-linux ~]$ rm -rf /pem/sanchuang9 # 注:普通用戶有刪除的權限
#注:用戶可以刪除其他用戶創建的文件
==============================================================================================================
示例3:粘滯位 t
# 注:設置粘滯位後,只能刪除自己創建的文件
[sanchuang9@sanchuang-linux tmp]$ ls -ld /tmp
drwxrwxrwt. 13 root root 4096 11月 7 17:07 /tmp # 注:/tmp目錄設置了1個粘滯位
[sanchuang9@sanchuang-linux ~]$ touch /tmp/sanchuang9
[sanchuang9@sanchuang-linux ~]$ exit
[root@sanchuang-linux ~]# su - sanchuang
上一次登錄:日 11月 8 19:05:55 CST 2020pts/3 上
[sanchuang9@sanchuang-linux ~]$ rm -rf /tmp/sanchuang9 # 注:因為設置了1個粘滯位
rm: 無法刪除'/tmp/sanchuang9': 不允許的操作 # 注:用戶只能在/tmp目錄下創建 刪除自己的
#注:粘滯位的作用
#注:·為公共目錄(例如,權限為777的)設置,權限字符為“t”
#注:·用戶不能刪除該目錄中其他用戶的文件
#注:一般作用於文件夾
十一。設置 SET 位、粘滯位權限#
設置 SET 位、粘滯位權限
使用權限字符
chmod ug±s 可執行文件...
# 注:設置 set 位chmod o±t 目錄名...
# 注:設置粘滯位
使用權限數字
chmod mnnn 可執行文件...
- m 為 4 時,對應 SUID,2 對應 SGID,1 對應粘滯位,可疊加 # 注:m 為 4 為 2 set 位
示例
--------------------------------------------------------------------------------------------
[root@sanchuang-linux ~]# ls -ld /tmp
drwxrwxrwt. 13 root root 4096 11月 7 17:07 /tmp # 注:/tmp目錄設置了粘滯位,權限為1777
#注:/tmp目錄設置了粘滯位,第1位是1
============================================================================================
示例:設置粘滯位
--------------------------------------------------------------------------------------------
[root@sanchuang-linux ~]# chmod 1777 /pem
[root@sanchuang-linux ~]# ls -ld /pem
drwxrwxrwt 3 root root 74 11月 7 17:10 /pem # 注:粘滯位 t 之前 x 的位置
#注:普通情況下不需要使用粘滯位、set位的時候,用3個數字就可以了
-----------------------------------------------------------------
[root@sanchuang-linux ~]# ls -ld /bin/mkdir
-rwxr-xr-x. 1 root root 195192 4月 10 2020 /bin/mkdir
[root@sanchuang-linux ~]# chmod 4755 /bin/mkdir # 注:設置為SET位SUID權限
[root@sanchuang-linux ~]# ls -ld /bin/mkdir
-rwsr-xr-x. 1 root root 195192 4月 10 2020 /bin/mkdir
[root@sanchuang-linux ~]# chmod 755 /bin/mkdir # 注:改回來
[root@sanchuang-linux ~]# ls -ld /bin/mkdir
-rwxr-xr-x. 1 root root 195192 4月 10 2020 /bin/mkdir