摘自:http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=7595&extra=page%3D1%26filter%3Dtypeid%26typeid%3D36 1. /etc/passwd由 : 分隔成7個欄位(1) 用戶名 規則:大小 ...
摘自:http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=7595&extra=page%3D1%26filter%3Dtypeid%26typeid%3D36
1. /etc/passwd
由 : 分隔成7個欄位
(1) 用戶名 規則:大小寫字母、數字、減號(不能出現在首位)、點以及下劃線,其他字元不合法
(2) x 放密碼,安全起見放到 /etc/shadow
(3) uid (0-4294967294=2^32-2) root uid=0 1-499系統保留 普通賬戶是從500開始
(4) gid 對應 /etc/group
(5) 註釋說明,該欄位沒有實際意義,通常記錄該用戶的一些屬性,例如姓名、電話、地址等等 用 chfn 更改
(6) 用戶家目錄
(7) shell /bin/bash, /bin/false, /sbin/nologin
2. /etc/shadow
使用 : 分隔9個欄位
(1) 用戶名
(2) 密碼,用SHA-512加密過,不可逆
(3)上次更改密碼的日期,例如上次更改密碼的日期為2012年1月1日,則這個值就是 ‘365 x (2012-1970) + 10 + 1= 15341’.
(4)要過多少天才可以更改密碼, 0 不限制
(5)密碼多少天後到期,預設是99999,可以理解為永遠不需要改
(6)密碼到期前的警告期限
(7)賬號失效期限,到期後過多少天鎖定帳號
(8)賬號的生命周期
(9)作為保留用的,沒有什麼意義
3. 新增/刪除用戶和組
useradd:
-c comment 指定一段註釋性描述。
-d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄。
-g 用戶組 指定用戶所屬的用戶組。
-G 用戶組,用戶組 指定用戶所屬的附加組。
-s Shell文件 指定用戶的登錄Shell。
-u 用戶號 指定用戶的用戶號,如果同時有-o選項,則可以重覆使用其他用戶的標識號。
用戶名 指定新賬號的登錄名。
userdel:
不帶選項使用 userdel,只會刪除用戶。用戶的家目錄將仍會在/home目錄下。
-r 選項,可以刪除用戶時完全刪除家目錄,同樣會刪除用戶的郵件池,如果存在的話。
-f 選項來強制刪除用戶,當用戶已經登入 Linux 系統時此選項仍舊生效。
groupadd :
-g:指定新建工作組的id;
-r:創建系統工作組,系統工作組的組ID小於500;
-K:覆蓋配置文件“/ect/login.defs”;
-o:允許添加組ID號不唯一的工作組。
組名:指定新建工作組的組名
groupdel:
如果組內有用戶,不能刪除
usermod:
-a 把用戶追加到某些組中,僅與-G選項一起使用
-c 修改/etc/passwd文件第五段comment
-d 修改用戶的家目錄通常和-m選項一起使用
-e 指定用戶帳號禁用的日期,格式YY-MM-DD
-f 用戶密碼過期多少天後採用就禁用該帳號,0表示密碼已過期就禁用帳號,-1表示禁用此功能,預設值是-1
-g 修改用戶的gid,改組一定存在
-G 把用戶追加到某些組中,僅與-a選項一起使用
-l 修改用戶的登錄名稱
-L 鎖定用戶的密碼
-m 修改用戶的家目錄通常和-d選項一起使用
-s 修改用戶的shell
-u 修改用戶的uid,該uid必須唯一
-U 解鎖用戶的密碼
4. 創建、修改用戶密碼
passwd
創建密碼的規則:長度大於10;含大小寫字母數字以及特殊字元 ;不規則性;不要帶有自己名字、公司名字、自己電話、自己生日等。
mkpasswd 生成密碼的工具,安裝 expect包
5. 用戶身份切換
su - 用來初始化環境變數 $PATH $HOME等
sudo su到root需要輸入root的密碼不安全
visudo 編輯/etc/sudoers 配置文件 沒有命令需安裝 yum install -y sudo
格式: user host=(as_user) commands
比如: aming ALL=(root) /bin/ls //它的意思是,讓aming這個普通用戶,擁有root的許可權,針對ls這個命令。
應用:只允許使用普通賬戶登陸,而普通賬戶登錄後,可以不輸入密碼就能sudo切換到root賬戶 (root不允許遠程登錄)
User_Alias USER_SU = test, test1, aming //做用戶的別名,可以寫多個用戶
Cmnd_Alias SU = /bin/su //做命令的別名,可以寫多個命令
USER_SU ALL=(ALL) NOPASSWD: SU //其中NOPASSWD的意思是,普通用戶使用sudo的時候,不需要輸入自己的密碼。