用戶型別
| 用戶型別 | 名稱 | uid | 特點 |
|---|---|---|---|
| 管理員用戶 | root | 0 | 權力至高無上 |
| 虛擬用戶 | nobody(可自定義) | 1-999 | 用于管理行程 無家目錄 不能登錄系統 |
| 普通用戶 | 自定義 | 1000+ | 權限有限 |
用戶管理基本操作
創建用戶
# 創建普通用戶danni
useradd danni
# 創建用戶,指定用戶id,所屬組,附屬組,用戶注釋
useradd danni -u 2000 -g danni -G dannis -c "An IT girl"
# 創建虛擬用戶 mysql
useradd mysql -M -s /sbin/nologin -c "database manager"
useradd引數說明:
| 引數 | 說明 |
|---|---|
| -M | 不創建家目錄 |
| -s | 設定用戶登錄方式 |
| -c | 設定用戶注釋 |
| -g | 設定用戶所屬組 |
| -u | 設定用戶id |
| -G | 設定用戶的附屬組 |
查看用戶資訊
用戶的資訊保存在 /etc/passwd 目錄下
# 查看用戶資訊
[root@smartgirl ~]# grep mysql /etc/passwd
mysql:x:1002:1002:database manager:/home/mysql:/sbin/nologin
1 2 3 4 5 6 7
------------------------------------------------------------------------
各欄位含義:
1.用戶名
2.用戶密碼,正真的密碼保存在/etc/shadow中,此處僅占位
3.用戶id
4.所屬組id
5.用戶注釋
6.用戶家目錄 --- 虛擬用戶的家目錄實際并不存在
7.用戶登錄方式 /sbin/nologin ---- 不能登錄
修改用戶資訊
usermod $用戶名 $引數 $資訊
# 修改用戶登錄方式 --- 當有員工離職,賬號可以設定為不可登錄(保留賬號)
usermod danni -s /sbin/nologin
洗掉用戶
userdel $用戶名 — 不會洗掉用戶的家目錄
userdel -r $用戶名 — 徹底洗掉用戶,會洗掉用戶家目錄
補充:
groupadd $用戶組名 — 創建用戶組
groupdel $用戶組名 — 洗掉用戶組
設定用戶密碼
互動式設定
passwd $用戶名
非互動式設定
echo 密碼資訊|passwd --stdin $用戶名
查看所有用戶登錄資訊
# 根據用戶資訊空閑時間,當前操作等,可以判斷用戶的使用系統情況
# 如判斷用戶是否占用CPU資源過多,是否長時間運行腳本
# 從而判斷是否執行了死回圈腳本,或者系統被植入病毒
[root@smartgirl ~]# w
05:47:31 up 10:19, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/2 10.0.0.1 01:45 3.00s 0.24s 0.00s w
root pts/3 10.0.0.1 01:45 2:55m 0.03s 0.02s bash
1 2 3 4 5 6 7
----------------------------------------------------------------------
各欄位含義:
1. 登錄用戶用戶名
2. pts/x 遠程登錄系統
tty1 本地登錄
echo '請勿繼續操作!' >> /dev/pts/2 --- 將在用戶終端輸出該資訊,可用于提醒用戶
3. 從哪連接的服務器
4. 登錄時間
5. 空閑時間 --- 無操作
6. 用戶作業系統 消耗的CPU資源
7. 用戶當前操作 ich(執行腳本) bash命令列輸入
檔案/目錄權限
檔案/目錄權限的設定是用戶管理中非常重要的內容,因為Linux中一切皆檔案,掌握了檔案的控制權,就掌握了系統的控制權,檔案權限的管理對服務器的安全至關重要,
檔案權限說明
- r 可讀
- w 可執行
- x 執行這個檔案(腳本檔案)
權限配置結論:
- root用戶對任何檔案都默認有讀寫權限,即使沒有執行權限也可以用sh命令執行檔案
- 對于檔案來說,寫權限和執行權限都需要有讀權限支持
- 普通如果想對檔案進行操作,必須對檔案賦予讀的權限
目錄權限說明
- r 可讀目錄中檔案的屬性
- w 可在目錄中添加或洗掉檔案資料資訊
- x 可進入到目錄中
目錄權限配置結論:
- root用戶對目錄有絕對權限
- 對于目錄來說,寫權限和讀權限都需要有執行權限的配合
- 如果想對目錄進行操作,必須對目錄賦予執行操作
root用戶檔案默認權限:644
保證屬主可編輯檔案,其他用戶可讀檔案
root用戶目錄默認權限:755
保證屬主可編輯目錄中檔案,其他用戶可讀取目錄資訊,并進入到目錄
ps:檔案是否可以編輯查看,不僅與檔案自身的權限有關,還與上一級或上n級目錄的權限有關
設定用戶檔案權限
修改單型別用戶權限
屬主 — user — u
屬組 — group — g
其他用戶 — other — o
chmod u+r/w/x — 添加權限
chmod u-r/w/x — 減少權限
chmod u=rw — 直接賦值
修改所有型別用戶權限
數值設定:chmod 755 $檔案名
符號設定:chmod a=x $檔案名
修改檔案屬主/屬組
# 修改屬主
chown $屬主 $檔案
# 修改屬組
chgrp $屬組 $檔案
# 修改屬主和屬組
chown $屬主.$屬組 $檔案
# 修改目錄的權限
chown -R $屬主.$屬組 $目錄 --- 遞回修改(注意引數是大寫R)
默認用戶檔案/目錄權限
系統中有一個umask,是檔案/目錄權限掩碼,不同用戶的umask值是不一樣的,不同用戶的umask的值可以是不一樣的,umask決定了用戶創建的檔案/目錄的默認權限,
這里只用root用戶權限來作說明,
- 默認umask : 0022
- 默認檔案權限: 666 - 022 = 644
- 默認目錄權限:777 - 022 = 755
檔案權限計算:
對于目錄,只需要用 777 減去 umask的值即可
但是,對于檔案,其情況就比較特殊
若 umask 某一位是奇數,則該位對應的計算結果要+1
若都是偶數,則不需要特殊處理,也就是說:
假如umask是033,那么檔案權限是 666 - 033 => 633 + 011 => 644
修改umask
-
臨時修改
umask $數字 -
永久修改
vi /etc/profile
檔案特殊權限位
檔案在系統中一共有12個權限位,除了屬主,屬組和其他用戶rwx一共9個權限位外,還有另外三個,分別時:
- setuid:將用戶屬主所擁有的能力分配給所有人
chmod u+s $檔案名或chmod 4xxx $檔案名 - setgid:將用戶屬組所擁有的能力分配給所有人
chmod g+s $檔案名或chmod 2xxx $檔案名 - sticky bit(粘滯位):可以將不同用戶資訊放置到共享目錄中,實作不同用戶資料可以互相查看,但是不可以互相隨意修改,可以用于創建一個共享目錄
chmod o+t $目錄或chmod 1777 $目錄
系統有一個默認的共享目錄 /tmp
普通用戶提權
- 修改檔案/目錄 rwx 權限位
- 修改
/etc/sudoers檔案內容,使用sudo命令執行被賦予的權限# 示例 # `visudo` 或 `vi /etc/sudoers` 可對檔案進行編輯,推薦使用`visudo`,其有語法檢查功能 92 root ALL=(ALL) ALL 93 danni ALL=(ALL) /usr/sbin/useradd ------------------------------------ [danni@smartgirl ~]sudo useradd danni01 # 獲得添加用戶的權限 - 設定
setuid/setgid,賦予普通用戶屬主/屬組的權限
注意:
setuid 權限一般賦予二進制檔案的命令檔案或者一些可執行的腳本檔案
setgid
特殊目錄和檔案
系統中一個特殊的目錄 : /etc/skel/
該目錄是用戶家目錄的樣板目錄,新創建用戶的家目錄會參考這個目錄
目錄中自帶的檔案有:
| 檔案 | 功能 |
|---|---|
.bash_logout | 保存系統退出登錄狀態時執行的命令 |
.bash_profile | 保存別名和環境變數(只針對某個用戶) ,等同于.bashrc |
.bashrc | 保存別名和環境(只針對某個用戶) |
/etc/skel 目錄的應用:
- 目錄中可以存盤運維操作規范說明檔案
- 調整命令提示符資訊
用戶家目錄中檔案被惡意洗掉,出現問題:命令提示符變為bash-4.2$
可將/etc/skel目錄中的檔案復制到用戶家目錄下,提示符即恢復正常
用戶家目錄下的特殊檔案
.bash_history— 歷史命令記錄檔案.viminfo— 樣式資訊(可設定默認顯示行號,檔案頭資訊)
系統中和用戶相關的檔案
/etc/passwd— 記錄系統用戶資訊檔案/etc/shadow— 系統用戶密碼檔案/etc/group— 組用戶記錄檔案/etc/gshadow—組用戶密碼資訊/etc/shells— 所有可選登錄方式
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/287496.html
標籤:其他
下一篇:kill 命令你真的理解了嗎 ?
