標籤:使用者管理類命令總結
使用者和許可權管理:
1、使用者是什嗎?
使用者是實現許可權管理的基礎,可以標示資源可以被哪些使用者使用(讀、寫、執行),進行資源分派,是安全許可權模型的核心要素之一。
2、沒有使用者,可否?可以
密碼的作用:使用者認證,在多使用者的作業系統:
儲存使用者的方式---資訊庫:1使用者、2密碼
名稱解析:User IDentifier, UID
使用者容器:組(group),角色(role)
組名,Group IDentifier, GID
解析:在資料庫按搜尋碼尋找到對應的條目,並找與之對應額外其它資料過程
可以用於使用者資料存放的方式:
資料庫
文字檔
SQL資料庫
ldap資料庫
使用者資料檔案:/etc/passwd:
加密方法:
對稱式加密:DES, 3DES, AES
公開金鑰加密:DSA, RSA
單向加密:雪崩效應,定長輸出,無法復原
MD5: 資訊摘要 Message Digest Algorithm,128bits
SHA1: 安全的hash演算法, Secure Hash Algorithm 160bits
SHA256:
SHA512:
密碼資訊庫:/etc/shadow
Tom:mageeduabce, $6$abce$fkdlagjdkalghio3qu4389qjtrkiejgr
Jerry:mageeduxyzm $6$xyzm$878956ukijotrjiytoeutyvimyeuiore
md5sum, sha1sum
組:使用者容器,角色
/etc/group
/etc/gshadow
安全上下文:
運行中的進程有其屬主和屬組:
大綱:useradd, id, passwd, usermod, chsh, chage, chfn, userdel, groupadd, groupmod, groupdel, su
建立使用者:
useradd UserName
/etc/passwd:
使用者名稱:x:UID:基本組ID:comment資訊:HOME:預設shell
useradd: adduser
-u UID:指定UID
-g GID: 指定GID,即指定使用者的基本組,但GID要事先存在
-G GID:指定使用者的額外組,組要事先存在;
-d /path/to/somewhre:
-c "Comment":
-s /path/to/shell: 指定預設shell,應該指定使用/etc/shells檔案中出現的shell;
-m: 建立使用者時,強制給使用者建立家目錄;
-M: 建立使用者,但不建立家目錄;
-r: 建立系統使用者
id: 1-499
不會為使用者建立家目錄
預設shell為/sbin/nologin
-D: default,為useradd命令建立的使用者指定新的預設值
groupadd GrpName
-g GID: 建立組並為其指定GID
使用者類別:
管理員:0
普通使用者:1-65535
系統使用者:1-499
登入使用者:500+
使用者組:
Administrator 群組
普通組
以使用者為視角,組可為兩類:
基本組: 顯示在/etc/passwd中GID欄位組,為使用者的基本組;
額外組,附加組: /etc/group
userdel: 刪除使用者, 預設會保留家目錄
格式:userdel UserName
-r: 一併刪除家目錄
總結:
/etc/passwd:Username:x:UID:GID:Comment:Home:Shell
/etc/group:GroupName:x:GID:User List
/etc/skel, /etc/default/useradd
設定使用者密碼: passwd
普通使用者:passwd
管理員:
改自己密碼:passwd
改其它使用者密碼:passwd UserName
密碼安全性策略:足夠複雜
夠長;
交叉應用數字、大寫字母、小寫字母和特殊中的至少三種;
盡量避免使用易猜測的密碼;
定期更換;
/etc/shadow檔案的格式:
UserName:加密的密碼:最近一次密碼修改時間:最短使用到期日:最長使用到期日:警告區間:非活動區間:帳號的到期期限:預留段
-l: 鎖使用者
-u: 解鎖
設定組密碼:gpasswd GroupName
如何修改使用者的屬性定義:
修改使用者預設shell: chsh 查看當前系統可用shell #cat /etc/shells
修改使用者注釋:chfn
usermod:
-u UID:
-g GID:
-G GID: 預設會覆蓋原有的附加組;如果是添加,則同時使用-a選項;
-c String:
-d /path/to/New_Home: 預設不會遷移使用者的家目錄;如果要遷移,則同時使用-m
-s SHELL:
-l New_login_name:
-L: 鎖定使用者帳號
-U: 解鎖
如何修改組屬性定義:
groupmod:
-g GID
-n New_Group_Name:
修改帳號日期屬性:chage
-E --expiredate EXPIRE DATE 到期
-I --inactive 非活動
-m --mindays
-M --maxdays
-W --warndays 警告日期
查看使用者相關資訊id:
id UserName
-u: 顯示UID,跟-n一起使用則顯示使用者名稱
-g: 顯示基本組ID,跟-n一起使用則顯示基本組名
-G: 顯示所有組ID,跟-n一起使用則顯示所有組名
組管理相關命令總結:
groupadd
groupmod
groupdel
gpasswd
newgrp 前登入使用者臨時加入到已有的組中
su: Switch User
切換使用者:
su Username
-l --login make the shell a login shell
-c --command ‘COMMAND‘ pass a single command to the shell with -c
# su -l user1 -c ‘ls -l -a‘
練習:
1、建立一個使用者mandriva,其ID號為2002,基本組為distro(組ID為3003),附加組為linux;
# groupadd linux
# groupadd -g 3003 distro
# useradd -u 2002 -g distro -G linux mandriva
2、建立一個使用者fedora,其全名為Fedora Community,預設shell為tcsh;
# useradd -c "Fedora Community" -s /bin/tcsh fedora
3、修改mandriva的ID號為4004,基本組為linux,附加組為distro和fedora;
# usermod -u 4004 -g linux -G distro,fedora mandriva
4、給fedora加密碼,並設定其密碼最短使用到期日為2天,最長為50天;
# passwd fedora
# chage -m 2 -M 50 fedora
5、將mandriva的預設shell改為/bin/bash;
#chsh -s /bin/bash mandriva
Linux使用者管理類命令總結