如使用者執行 passwd 命令時,依託 root 身份執行,變更密碼。
ll /etc/passwd #普通使用者是無許可權修改的
#登陸普通使用者,執行passwd
passwd
ps aux |
grep
passwd
特殊許可權suid
預設情況普通使用者無法檢視/etc/shadow,加特殊許可權後可以檢視
cat /etc/shadow #無許可權
chmod u+s /usr/bin/cat #方式一
chmod 4755 /usr/bin/cat #方式二,4表示特殊許可權中的suid
cat /etc/shadow #普通使用者使用cat的特殊許可權,即使用root的身份檢視
特殊許可權sgid
在檔案屬組許可權上顯示為s(執行許可權)s(沒有執行許可權)
命令執行過程中以「屬組」身份執行該命令。
將目錄設定sgid後,在該目錄下建立檔案,都與該目錄的所屬組保持一致。
作用:使得多個使用者共享乙個目錄。
cd /tmp/ &&
mkdir sgid_test
chmod g+s /tmp/sgid_test #chmod 2755
chmod 777 sgid_test/
#切換使用者,並在該目錄下建立檔案檢視屬性
su - userone
touch /tmp/sgid_test/test.txt
ll /tmp/sgid_test
特殊許可權sbit
針對目錄:目錄一旦被賦予了粘滯位,除了root可以刪除所有檔案,普通使用者對該目錄就算有w許可權,也只能刪除自己建立的檔案。
mysql中,初始化時,會在/tmp/目錄建立一些臨時檔案,初始化結束後,會自己清除裡面的資料,別人無法清理(如果不是粘滯位,初始化時mysql就會報錯)
ll -d /tmp/ #比如/tmp目錄就有粘滯位
chmod o+t /tmp
chmod 1777 /tmp
chattr
chattr命令只有root才可以使用,用來修改檔案系統的許可權屬性,凌駕於rwx基礎許可權之上的授權。
#cahttr [+-=] [選項] 檔名或者目錄名
#選項:+ 增加許可權; - 減少許可權; = 等於某個許可權; a 讓檔案或目錄僅可追加內容; i 不得更變檔案或目錄
#新建立乙個檔案,不允許被刪除(root也不行),只能往裡面追加資料,如日誌
touch /mnt/file_a
chattr +a /mnt/file_a #修改屬性
lsattr /mnt/file_a #檢視屬性
#此時無法刪除,若要刪除先使用root身份取消屬性
chattr -a /mnt/file_a
rm -f /mnt/file_a
#配置乙個檔案,不可變更
touch /mnt/file_i
chattr -i /mnt/file_i
預設許可權umask
預設目錄許可權:755(777-022),預設檔案許可權:644(666-022)
#預設使用者家目錄許可權為700
cat /etc/login.defs #umask 077,777-077=700
#預設root建立的檔案許可權和普通使用者建立的不一樣
umask
#root建立的檔案許可權為644,666-022=644
umask
#普通使用者建立的檔案許可權為664,666-002=664
cat /etc/profile #使用者登陸系統是=是,載入的環境變數,初始化使用者的工作目錄
#----------------------控制umask的**----------------------if[
$uid -gt 199 ]&&[
"`/usr/bin/id -gn`"=
"`/usr/bin/id -un`"]
;then
umask 002 #
else
umask 022 #uid不大於199
fi
Linux雲計算運維工程師day10
普通模式 命令游標跳轉 g 游標跳轉至末端 gg 游標跳轉至頂端 ngg 游標跳轉至第n行,如50gg ctrl f 往下翻頁 ctrl b 往上翻頁 游標跳轉至當前所在行的尾部 0 游標跳轉至所在行的首部 刪除 剪下 撤銷 dd 刪除當前游標所在行 4dd 刪除當前游標所在行以及以下3行 dg 刪...
Linux雲計算運維工程師day12
建立使用者時,如果指定引數,則以指定為準,若沒指定引數,則以預設為準,檢視預設引數 grep e v etc login.defs cat etc default useradd組是乙個邏輯概念,邏輯上將多個使用者 成乙個組,當我們操作組時,就是操作組內的所有成員。基本組 建立使用者時指定的組,稱為...
Linux雲計算運維工程師day16
名稱查詢 1.建立檔案 touch etc sysconfig network scripts 2.查詢 etc 目錄下包含ifcfg eth0名稱的檔案 find etc name ifcfg etn1 3.忽略大小寫 find etc iname ifcfg eth1 4.查詢包含eth的所有檔...