1. 程式人生 > 其它 >3.17學習筆記(特殊許可權及命令提示符的修復修改)

3.17學習筆記(特殊許可權及命令提示符的修復修改)

3.17 day13學習筆記

3.16 day12作業涉及知識補充

  • 新建使用者涉及到的檔案
/etc/passwd  使用者資訊   useradd
/etc/shadow  使用者密碼資訊   passwd 修改密碼

/etc/gshadow 使用者組資訊  groupadd
/etc/group   使用者組密碼資訊  gpasswd 
  • 驗證檔案被修改
md5sum  /etc/passwd  /etc/shadow  /etc/gshadow /etc/group  
  • 建立使用者時不新增使用者家目錄
useradd   chaoge01     -M  -不建立使用者的主目錄,不會預設去建立
  • 新建組如何新增gid和組名
groupadd   -g  2000   devops
  • 檢視系統/使用者的環境變數命令

  • windows系統

  • linux系統
env   #environment環境的英文縮寫,檢視使用者相關的的環境變數
set   #檢視全系統的環境變數

# PS1變數,就是控制命令提示符的
set |grep PS1
PS1='[\u@\h   \W]\$ '
\u 顯示使用者名稱
\h 顯示主機名
\W 顯示使用者所處目錄的最後一級
\w 顯示使用者所處的絕對路徑,省去你敲pwd
\t 以24小時制,顯示時間
\$ 顯示使用者的身份提示符,自動識別root還是普通使用者

最終你可以調整PS1 命令提示符如下格式
PS1='[\u@\h   \w \t]\$ '

該變數,臨時敲打,臨時生效,重新登入後,系統重新載入使用者環境變數,該設定丟失
如何永久生效?把你自定義的變數
- 寫入到,系統全域性環境變數配置檔案中(/etc/profile)
- 那麼就有關於使用者個人的配置檔案,在使用者家目錄下
~/.bash_profil
  • 命令提示符出現損壞,以及家目錄顯示不正常的解決辦法
[root@yuanlai-0224 tmp]# su - chaoge01
上一次登入:四 3月 17 09:51:51 CST 2022pts/0 上
su: 警告:無法更改到 /home/chaoge01 目錄: 沒有那個檔案或目錄
-bash-4.2$ 
-bash-4.2$ 
-bash-4.2$ 
-bash-4.2$ echo $PS1
\s-\v\$
-bash-4.2$ 

#修復命令,使用root的使用者手動拷貝/etc/skel/到/home/chaoge01
cp -r /etc/skel/  /home/chaoge01 

#修復原理
1、系統讀不到使用者的個人配置檔案,使用者在useradd建立時候,系統會去 、/etc/skel 目錄下,拷貝所有的使用者個人環境變數配置檔案,到使用者生成的家目錄下 /home/chaoge01

2. 使用者在登入時,自動載入 /home/chaoge01 下所有的檔案內容

  • su - chaoge01 和 su - chaoge01 的區別

su - chaoge01
使用者完全切換,等同於使用者chaoge01登入機器,系統會為該使用者生成很多預設的環境變數,chaoge01使用者使用的是系統中chaoge01使用者的有關環境變數

su chaoge01
使用者不完全切換,chaoge01使用者雖然登入了機器,但系統中的chaoge01使用者使用的環境變數還是上一個使用者的環境變數

  • 其他使用者可以通過什麼方式對檔案讀、寫、執行
5.如何讓jerry01可以對如下⽂件,讀、寫、執⾏,請寫下3種辦法。

⽂件路徑 /test_linux01/我是bob.log
該檔案當前的許可權
-rw-rw-r-- 1 bob01 bob01 0 3⽉ 16 15:02 我是bob.log

思路1

直接該檔案許可權,改other角色的許可權
chmod 667 /test_linux01/我是bob.log

思路2

jerry01加入bob組
再修改屬組的許可權為 7

思路3

修改檔案的屬主,為jerry01
修改屬主許可權為 7

思路4

用sudo,以root身份,直接提權操作
前提,要配置jerry01加入到/etc/sudoers檔案中

思路5,嘗試將jerry01加入root組,試試許可權如何。

特殊許可權

  • Linux系統的9位基本許可權rwx rwx rwx,系統中會有一些特殊的檔案,存在s、S、t、T的許可權,所在linux系統中除了9位基本許可權位,還有三位特殊許可權位suid(setuid)、sgid(setgid)、sbit(sticky bit),共12位許可權位。
  • SUID的作用

    • SUID 特殊許可權僅適用於可執行檔案

      • 二進位制命令,比如系統的/usr/bin下提供的命令,如 /usr/bin/ls,如/usr/bin/rm
    • 所具有的功能是,只要使用者對設有 SUID 的檔案有執行許可權,那麼當用戶執行此檔案時,會以檔案屬主的身份去執行此檔案,比如passwd命令中就設定了SUID,所以當普通使用者修改密碼時使用passwd命令是以root身份去執行的。

    • 一旦檔案執行結束,身份的切換也隨之消失。

  • SGID的作用

    • 對於二進位制命令來說,sgid的功能和suid基本一樣,只不過一個是設定檔案屬主的許可權,一個是設定屬組的許可權,和9位基本rwx理解概念相同。
    • suid是獲得檔案屬主的許可權,sgid是獲得檔案屬組的許可權
    • sgid主要用於資料夾,為某個目錄設定sgid之後,在該目錄中的建立的檔案,都以(目錄的屬組)許可權為準,而不屬於建立該檔案的使用者許可權,這就實現了多個使用者,可以共享一個目錄的作用。
    • 一般直接和資料夾結合使用,給資料夾設定sgid,等於設定了一個共享資料夾的概念
  • sbit的作用

    • 當目錄有了粘滯位特殊許可權,這個目錄除了root使用者特殊以外,任何使用者都只能刪除、移動自己的建立的檔案,而不能影響到其他人。