Linux用戶管理linux
一.用戶管理概念windows
1.Linux系統用戶管理特色安全
多用戶平臺(ALT+F1--6)bash
單用戶模式中無需用戶微信
管理方法有兩種:命令、圖形工具、ide
2.用戶帳號的分類 工具
超級用戶(UID=0):具備一切系統操做權限ui
普通用戶(UID=500—MAXUID默認值60000):操做權限受到限制加密
僞用戶(UID=1—499):限制本機登陸(用於特定服務的啓動用戶)spa
注:-用戶的UID的取值,除0之外,其它值不容許用戶取相同的值
-Linux系統有不少內置用戶帳號,如:root,bin…
3.用戶組的介紹
(1)什麼是用戶組
用戶組是用戶集合,經過用戶能夠減小用戶管理的工做量
(2)用戶組的分類
私用組:由建立用戶時自動建立(通常只包含一個用戶)
標準組:是用戶手建立組,能夠包含多個用戶
4.用戶管理的相關文件
(1)/etc/passwd
功能:存放系統的用戶賬號信息
內容:用戶名 密碼 UID GID 描述 用戶主目錄 SHELL
實例: u1 : x : 0 : 0 : u1 : /home/u1 :/bin/bash
注:-若是採用了shadow,此處存放口令的爲屏蔽字符,真正密碼保存在/etc/shadow中,shadow能夠利用md5加密
-修改/etc/sysconfig/authconfig文件能夠配置用戶口令採用影子口令和md5加密機制
(2)/etc/shadow(使用影子口令)
功能:存放用戶口令(通常採用加密的方式存放口令)
實例: u1 : bq$# :10750: 0: 9999 :7: -1:21110 :12546
說明: u1 用戶名
b1$# 加密的口令
10750 從1970.1.1開始計算,該口令修改後已過去了多少天
(密碼最後一次修改的時間)
0 須要再過多少天這個口令能夠被修改
9999 密碼的有效期(-1表明永不過時)
7 口令失效多少天前發出警告
-1 口令失效多少天以後禁用帳戶(-1不由用、0表明當即禁用)
21110 用戶帳號的有效日期(從1970/1/1開始計算)
12546 保留
(3)/etc/group
功能:存放系統組信息
格式:組名:組口令 :GID:成員列表
(4)/etc/gshadow
功能:存放用戶組口令
格式:組名:口令:組管理員:成員列表
(5)用戶環境文件目錄——/etc/skel
skel目錄相似與windows系統中的Default User目錄,用於存放用戶的環境文件等。當添加新用戶時,系統會自動複製該目錄到新用戶的家目錄下。
# ls –la /etc/skel/
total 64
drwxr-xr-x 3 root root 4096 Nov 1 21:04.
drwxr-xr-x 61 root root 8192 Feb 7 19:44 ..
-rw-r--r-- 1 root root 24 2003-09-18 .bash_logout
-rw-r--r-- 1 root root 191 2003-09-18 .bash_profile
-rw-r--r-- 1 root root 124 2003-09-18 .bashrc
-rw-r--r-- 1 root root 237 2003-05-22 .emacs
-rw-r--r-- 1 root root 120 2003-08-20 .gtkrc
drwxr-xr-x 3 root root 4096 1月 1 21:01 .kde
(6)用戶規則文件——/etc/default/useradd
/etc/default/useradd文件用於定義添加新用戶的一些規則信息。下面爲該文件的默認內容。
# cat /etc/default/useradd
# useradd defaults file
GROUP=100 //默認組ID是100,在禁止默認的私有組時有用。
HOME=/home //默認建立新用戶時,用戶家目錄所在的位置。
INACTIVE=-1 //密碼過時後,賬號是否處於激活狀態,-1表示永遠激活。
EXPIRE= //用戶賬號過時日期,爲空表示不啓用。
SHELL=/bin/bash //默認建立新用戶時,所用的SHELL類型。
SKEL=/etc/skel //默認建立新用戶時,用戶的環境文件等存放的位置。
(7)用戶規則文件——/etc/login.defs
/etc/login.defs文件用於定義添加新用戶的一些規則信息。下面爲該文件的默認內容。
//查看login.defs文件中全部不是以「#」開頭的行。
#grep -v"^#" /etc/login.defs
MAIL_DIR /var/spool/mail //用戶mail文件所在的位置
PASS_MAX_DAYS 99999 //用戶密碼最多使用的天數
PASS_MIN_DAYS 0 //用戶密碼最少使用的天數
PASS_MIN_LEN 5 //用戶密碼最小的長度
PASS_WARN_AGE 7 //定義用戶密碼過時前多少天給予警告
UID_MIN 500 //默認建立新用戶時最小的UID號
UID_MAX 60000 //默認建立新用戶時最大的UID號
GID_MIN 500 //默認建立新用戶時最小的GID號
GID_MAX 60000 //默認建立新用戶時最大的GID號
CREATE_HOME yes //建立新用戶時是否建立家目錄
二.用戶及組管理命令
1.useradd
功能:創建用戶
格式:useradd [參數]用戶名
參數: -u UID:指定用戶的UID值(指定UID不能與其它用戶UID相等)
-g 組名/GID:指定用戶的所屬組
-G 組名:指定用戶附加組
-d 路徑:指定用戶主目錄(/home/$USERNAME)
-e 時間:指定用戶有效日期
-s SHELL:指定SHELL的類型(/bin/bash)
-m :創建用戶主目錄
-M :不創建用戶主目錄
-r :創建一個僞用戶
-o:與-u連用,若是所指定的UID重複時,強制使用指定的UID
-p 口令:指定用戶口令,默認新建用戶爲禁用狀態
實例:# useradd u2
# useradd -g g2 u2
# useradd -e 03/28/04 –g g3 -d /etc/ u3
#useradd u3 -p$1asd#dfsdkfeodsfefsdf
2.userdel
功能:刪除用戶
格式:userdel [參數] 用戶名
參數:-r : 刪除用戶主目錄
實例:#userdel u2
#userdel -r u3
3.passwd
功能:修改用戶口令
格式:passwd [參數] [用戶名]
參數:-l:鎖定用戶
-u:解除用戶的鎖定
-d:刪除用戶的口令
實例:#passwd u2
#passwd -l u2
#passwd -d u2
4.usermod
功能:修改用戶信息
格式:usermod [參數] 用戶名
參數:-l 新的用戶名:修改用戶名稱
-d 路徑:修改用戶主目錄
-G 組名:修改附加組
-s 路徑: 修改用戶SHELL
-u UID: 修改用戶UID
-g GID: 修改用戶所屬組的 GID
-o:強制使用指定的UID,與-u連用
實例:# usermod -d / u3
# usermod -G u2 u3
# usermod -l user3 u3
5.gropadd
功能:創建用戶組
格式:groupadd [參數] 組名
參數:-g GID:指定GID的值
-r :創建僞用戶組(1--499)
實例:# groupadd g2
# groupadd –r g3
6.groupdel
功能:刪除用戶組
格式:groupdel 組名
實例:groupdel G3
7.groupmod
功能:修改組信息
格式:groupmod [參數] 組名
參數:-n 新組名:修改組的名稱
-g GID:修改組的GID
-o:強制使用指定的GID,與-g連用
實例:# groudmod -n group g1
# groupmod -g 860 group1
8.gpasswd
格式:gpasswd [參數] [用戶名] [組名]
參數:-a 用戶名: 向指定組添加用戶
-d 用戶名: 從指定組中刪除用戶
-A 用戶名: 設置組的管理員
-r : 刪除組的口令
實例:#gpasswd -a u1 root
#gpasswd -d u1 root
#gpasswd gp1
#gpasswd -A u1 gp1
9.groups
功能:顯示組信息
格式:groups [用戶名]
實例:#groups (顯示當前用戶所屬組)
#groups root (顯示root用戶的所屬組)
10.id
功能:查看UID/GID的相關信息
格式:#id [參數]
參數:-a 顯示全部信息
-g 顯示有效組的ID
-G 顯示全部組的ID
-u 顯示用戶ID
-n 與-gGu連用,用於顯示用戶/組名稱
實例:#id
#id -un
11.newgrp
功能:更改用戶有效組
格式:#newgrp 組名
實例:#newgrp users
12.pwck
功能:檢查/etc/passwd與/etc/shadow文件內容及用戶主目錄是否存在
實例:#pwck
13.chpasswd
功能:修改用戶口令,用戶名和口令由用戶輸入的執行過程當中輸入
格式:#chpasswd [參數]
參數:-e 不加密存儲
實例:#chpasswd
u1:linux
u2:linux
# cat /etc/users>chpasswd
三.用戶安全管理
1.文件訪問權限操做
(1)文件的使用者
超級用戶:不受文件訪問權限的限制,能夠全部文件
普通用戶:受具體文件訪問權限的限制,每一個文件的訪問權限由擁有者權限、擁有組權限及其餘用戶權限三部分組成
(2)文件設問權限的種類
普通權限
表示字符 |
權限名稱 |
對文件的含義 |
對目錄的含義 |
r(4) |
讀 |
讀取文件內容 |
檢查目錄內容 |
w(2) |
寫 |
修改文件內容 |
改變目錄內容 |
x(1) |
執行 |
執行文件 |
進入目錄 |
注:以上權限組合能夠用字母(如:r-x)和八進制數字(如:7=4+2+1)表示
特殊權限
表示字符 |
權限名稱 |
含義 |
備註 |
s(4) |
Suid |
執行文件時使用文件擁有者的UID |
用於可執行文件 |
s(2) |
Sgid |
執行文件時使用文件擁有組的GID |
用於可執行文件 |
t(1) |
粘着位 |
使目錄成爲臨時目錄(可寫,可刪除本身擁有的文件) |
用於目錄 |
(3)文件訪問權限的相關操做
l chmod
功能:修改文件訪問權限
格式:chmod [參數] <權限值> <文件名>
參數:
-v:顯示詳細說明
-c:與-v類似,但只有在文件權限發生改變時才顯示詳細說明
-R:遞歸改變目錄的權限
實例:#chmod rwxr-xr-x file1
# chmod u+x file1
# chmod u-x,o+rw file2
#chmod u+s,g+s file2
#chmod 1755 dir1
注:-只有root和文件屬主有權執行chmod文件
l chown
功能:改變文件擁有者及擁有級(只有超級用戶使用)
格式:chown [參數] <用戶名> <文件名>
參數:-R:遞歸改變目錄的擁有者
-f:不顯示擁有者的詳細信息
實例:# chown user f1
# chown -R user1.g1 /d1
l umask
功能:設置權限掩碼(決定新建文件的權限)
格式:umask 權限值(超級用戶默認爲022,普通用戶默認爲002)
實例:#umask 044
計算公式:目錄:777-umask
文件:666-umask
l Chattr
功能: 修改ext2和ext3文件系統中的文件屬性(只有超級用戶使用)
格式:chattr [參數] 操做符 屬性值 文件或目錄
參數:
-R:遞歸處理全部的文件及子目錄
-V:詳細顯示修改內容,並打印輸出。
操做符:
-:失效屬性
+:激活屬性
= :指定屬性
屬性值
A:告訴系統不要修改對這個文件的最後訪問時間
S:一旦應用程序對這個文件執行了寫操做,使系統馬上把修改的結果寫到磁盤。
a:系統只容許在這個文件以後追加數據,不容許任何進程覆蓋或截斷這個文件。若是目錄具備這個屬性,系統將只容許在這個目錄下創建和修改文件,而不容許刪除任何文件。
i:系統不容許對這個文件進行任何的修改。若是目錄具備這個屬性,那麼任何的進程只能修改目錄之下的文件,不容許創建和刪除文件。
D:檢查壓縮文件中的錯誤。
d:在進行文件系統備份時,dump程序將忽略這個文件。
C:系統以透明的方式壓縮這個文件。從這個文件讀取時,返回的是解壓以後的數據;而向這個文件中寫入數據時,數據首先被壓縮以後才寫入磁盤。
:讓系統在刪除這個文件時,使用0填充文件所在的區域。
u:當一個應用程序請求刪除這個文件,系統會保留其數據塊以便之後可以恢復刪除這個文件
實例:#chattr +i file1
注:屬性須要相應內核的支持,不能利用chattr保護/,/dev,/var,/tmp
l chgrp
功能:更改擁有組
格式:#chgrp [參數] 組名 文件名
參數:-R:更改目錄全部內容的擁有組
實例:#chgrp group1 f1
l lsattr
功能:顯示文件的屬性
格式:lsattr [參數] [文件名]
參數:-R:查看目錄全部內容的屬性,包括子目錄中的內容
實例:#lsattr /etc/f1
2.用戶安全建議
(1)通常不使用root用戶進行平常管理操做
(2)保持口令的安全,不要寫SUID/SGID程序
(3)不要讓自已的文件或目錄可被他人寫
(4)當心地拷貝和移動文件
(5)不使用的帳號能夠禁用或刪除
(6)重要文件須要加密
(7)不用的端口就封掉、或採用跳機鏈接。
微信掃一掃 、關注公衆號
不定時分享資料視頻