1、用戶
個人理解的是,給使用者一個在系統中使用的身份,即用戶。
用戶分兩種:管理員和普通用戶。
而每一個用戶都有一些屬性,每一個屬性都是用冒號分割開來。配置文件存儲在【/etc/passwd】中。
例如,sarash:x:507:508::/home/sarash:/bin/nologin
他們分別是,用戶名,密碼,ID號,主組ID號,注釋,家目錄,默認登錄shell
用戶名是用來登錄的賬號,密碼位置并沒有存儲真正的密碼在這里,只是一個占位符。如果的確想要看到密碼存儲結果,可以使用命令:pwunconv。
其中 pwconv, pwunconv, grpconv, grpunconv – convert to and from shadow passwords and groups 就是用戶密碼隱藏 顯示 組密碼隱藏顯示的命令
增加用戶的常用命令是:
useradd [options] login
-u UID: [UID_MIN, UID_MAX]定義在/etc/login.defs
-o 配合-u 選項,不檢查UID的唯一性
-g GID:指明用戶所屬基本組,可為組名,也可以GID
-c "COMMENT":用戶的注釋信息
-d HOME_DIR:以指定的路徑(不存在)為家目錄
-s SHELL: 指明用戶的默認shell程序 在/etc/shells文件中有系統可用shell
-G GROUP1[,GROUP2,…]:為用戶指明附加組,組必須事先存在
-N 不創建私用組做主組,使用users組做主組
-r: 創建系統用戶CentOS 6: ID<500,CentOS 7: ID<1000
userdel [options] LOGIN
-f, –force 刪除用戶的主目錄和郵箱,即使用戶登錄中,或者郵箱公用
-r 刪除用戶家目錄及郵箱
【注意】:在新建服務型用戶的時候(例如MySQL),由于這些用戶不需要登錄(/bin/nologin),也不需要家目錄,所以定義成系統用戶最好。可以防止惡意的登錄。
一般來說, 1~99 會保留給系統預設的帳號,另外 100~499 則保留給一些服務來使用。centos7 就加倍。
#cat 【/etc/default/useradd】 用戶配置信息
# useradd defaults file –新增用戶時的默認信息
GROUP=100 –user組的組ID
HOME=/home –默認家目錄路徑
INACTIVE=-1 –寬限期?
EXPIRE= –口令有效期?
SHELL=/bin/bash –默認shell
SKEL=/etc/skel –默認配置信息文件
CREATE_MAIL_SPOOL=yes –是否創建郵箱
2、密碼
#cat 【/etc/shadow】
root:$6$f3B1B1NC$zybHBGqE/SWMtRVk8iqVz.WP.JC/kmBDajcPc4JFcwsPZS/RvsJqJDTZMGtH7CSs5guC40DqXWegF7zRY/x7M1:17089:0:99999:7:::
該配置文件中以":"分割,分別代表:用戶名,密碼,上一次修改時間,兩次修改密碼相隔最短時天數,兩次修改密碼最長天數,提前多少天提示用戶修改密碼,口令過期幾天后禁用,用戶過期日期–從1970年算起,最后是保留字段
對于密碼位置的解釋:
$6$:這個6 表是加密方式。1:MD5 5:SHA-256 6:SHA-512(常見)更改加密算法 authconfig–passalgo=sha256 –update
$f3B1B1NC$:這就是salt,鹽。加密的時候,根據用戶的密碼,加上這串字符,組成了獨一無二的密碼顯示格式。
$第三串字符$:加密后的字符。用戶登錄時 ,加密格式+salt+輸入密碼=密碼字符串。 單向,不能逆算。得出的字符串相同才能登錄。
1、如果密碼為空,則該用戶在登錄時,無須輸入密碼即可登錄,這在做一些測試的時候可以用到。
2、如果密碼為!+密碼,表示該用戶已經被鎖定了。
3、!! 如果是兩個嘆號,表示該用戶還沒有設置密碼,或者說用戶的密碼已經過期。
4、*,在服務用戶那邊有些是星號【,。。。好像是不需要密碼,網上暫時沒找到解釋,節約時間先留下】
對于【/etc/login.defs】 這個文件配置信息如下
MAIL_DIR /var/spool/mail –郵件目錄
PASS_MAX_DAYS 99999 –密碼最長使用天數 99999 相當于無限大
PASS_MIN_DAYS 0 –密碼最小禁止修改的時間,即在這個時間內禁止密碼再次修改
PASS_MIN_LEN 5 –密碼最小長度
PASS_WARN_AGE 7 –密碼過期前多少天開始給予提醒
UID_MIN 500 –用戶新建最小ID號
UID_MAX 60000 –用戶新建最大ID號
GID_MIN 500 –用戶組新建最小ID號
GID_MAX 60000 –用戶組新建最大ID號
CREATE_HOME yes –默認是否創建家目錄
UMASK 077 在家目錄新建文件的權限umusk值
USERGROUPS_ENAB yes –刪除用戶時 如果用戶組沒有用戶是否刪除用戶組
ENCRYPT_METHOD SHA512 –加密格式
用法:usermod [選項] 登錄(用戶名)
選項:
-c, –comment 注釋 GECOS 字段的新值
-d, –home HOME_DIR 用戶的新主目錄
-e, –expiredate EXPIRE_DATE 設定帳戶過期的日期為 EXPIRE_DATE
-f, –inactive INACTIVE 過期 INACTIVE 天數后,設定密碼為失效狀態
-g, –gid GROUP 強制使用 GROUP 為新主組
-G, –groups GROUPS 新的附加組列表 GROUPS
-a, –append GROUP 將用戶追加至上邊 -G 中提到的附加組中,
并不從其它組中刪除此用戶
-l, –login LOGIN 新的登錄名稱
-L, –lock 鎖定用戶帳號
-m, –move-home 將家目錄內容移至新位置 (僅于 -d 一起使用)
-o, –non-unique 允許使用重復的(非唯一的) UID
-p, –password PASSWORD 將加密過的密碼 (PASSWORD) 設為新密碼
-R, –root CHROOT_DIR chroot 到的目錄
-s, –shell SHELL 該用戶帳號的新登錄 shell
-u, –uid UID 用戶帳號的新 UID
-U, –unlock 解鎖用戶帳號
-Z, –selinux-user SEUSER 用戶賬戶的新 SELinux 用戶映射
3、用戶組
具有某種共同特征的用戶集合起來就是用戶組(Group)。用戶組(Group)配置文件主要有 /etc/group和/etc/gshadow
cat【/etc/group】
root:x:0:gentoo
users:x:100:
/etc/group 的內容包括用戶組(Group)、用戶組口令、GID及該用戶組所包含的用戶(User),每個用戶組一條記錄;格式如下:
group_name:passwd:GID:user_list 用戶組的GID如同UID,系統組在500或者1000以下。
4、用戶組密碼
對于大型服務器,針對很多用戶和組,定制一些關系結構比較復雜的權限模型,設置用戶組密碼是極有必要的。比如我們不想讓一些非用戶組成員永久擁有用戶組的權限和特性,這時我們可以通過密碼驗證的方式來讓某些用戶臨時擁有一些用戶組特性,這時就要用到用戶組密碼;
cat【/etc/gshadow】
格式如下:
groupname:password:admin,admin,…:member,member,…
密碼位置如果為!或者為空表示無須密碼,或者尚未設置密碼。
–joker的部落閣
原創文章,作者:joker,如若轉載,請注明出處:http://www.www58058.com/54250