創建用戶、設置密碼、修改用戶、刪除用戶:
useradd testuser 創建用戶testuser
passwd testuser 給創建的用戶testuser設置密碼
說明:新創建的用戶會在/home下創建一個用戶目錄testuser
usermod --help 修改用戶這個命令的相關參數
userdel testuser 刪除用戶testuser
rm -rf testuser 刪除用戶testuser所在目錄
上面的幾個命令只有root賬號纔可以使用,如果你不知道自己的系統上面的命令在什麼位置可以使用如下命令查找其路徑:
locate useradd
創建新用戶後,同時會在etc目錄下的passwd文件中添加這個新用戶的相關信息
說明:爲了截圖,此處我使用了tail -3 passwd命令,只將該文件的最後3行信息(也是我關注的信息)顯示出來
Linux 創建用戶、設置密碼、修改用戶、刪除用戶
命令行窗口下用戶的相互切換:
su 用戶名
說明:su是switch user的縮寫,表示用戶切換
從新的用戶狀態下輸入“exit”即可退回到剛纔的用戶狀態
用戶組的添加和刪除:
groupadd testgroup 組的添加
groupadd -g 201 sales 增加組ID號是201的SALES組
usermod -a -G sales username 把username增加到1個新組sales,保留原來的組。
groupdel testgroup 組的刪除
說明:組的增加和刪除信息會在etc目錄的group文件中體現出來。
/etc/login.defs 建立用戶的默認環境,默認建立的用戶有效期是9999天
echo password | passwd --stdin username 把password密碼設置給username
passwd的--stdin參數ubuntu不支持,debian也不支持這個
1、passwd 簡單說明;
我們已經學會如何添加用戶了,所以我們還要學習設置或修改用戶的密碼;passwd命令的用法也很多,我們只選如下的幾個參數加以說明;想了解更多,請參考man passwd或passwd --help ;
passwd [OPTION...]
passwd 作爲普通用戶和超級權限用戶都可以運行,但作爲普通用戶只能更改自己的用戶密碼,但前提是沒有被root用戶鎖定;如果root用戶運行passwd ,可以設置或修改任何用戶的密碼;
passwd 命令後面不接任何參數或用戶名,則表示修改當前用戶的密碼;請看下面的例子;
[root@localhost ~]# passwd 注:沒有加任何用戶,我是用root用戶來執行的passwd 表示修改root用戶的密碼;下面也有提示;
Changing password for user root.
New UNIX password: 注:請輸入新密碼;
Retype new UNIX password: 注:驗證新密碼;
passwd: all authentication tokens updated successfully. 注:修改root密碼成功;
如果是普通用戶執行passwd 只能修改自己的密碼;
如果新建用戶後,要爲新用戶創建密碼,則用 passwd 用戶名 ,注意要以root用戶的權限來創建;
[root@localhost ~]# passwd beinan 注:更改或創建beinan用戶的密碼;
Changing password for user beinan.
New UNIX password: 注:請輸入新密碼;
Retype new UNIX password: 注:再輸入一次;
passwd: all authentication tokens updated successfully. 注:成功;
普通用戶如果想更改自己的密碼,直接運行passwd即可;比如當前操作的用戶是beinan;
[beinan@localhost ~]$ passwd
Changing password for user beinan. 注:更改beinan用戶的密碼;
(current) UNIX password: 注:請輸入當前密碼;
New UNIX password: 注:請輸入新密碼;
Retype new UNIX password: 注:確認新密碼;
passwd: all authentication tokens updated successfully. 注:更改成功;
2、passwd 幾個比較重要的參數;
[root@localhost beinan]# passwd --help
Usage: passwd [OPTION...] <accountName>
-k, --keep-tokens keep non-expired authentication tokens
注:保留即將過期的用戶在期滿後能仍能使用;
-d, --delete delete the password for the named account (root only)
注:刪除用戶密碼,僅能以root權限操作;
-l, --lock lock the named account (root only)
注:鎖住用戶無權更改其密碼,僅能通過root權限操作;
-u, --unlock unlock the named account (root only)
注:解除鎖定;
-f, --force force operation
注:強制操作;僅root權限才能操作;
-x, --maximum=DAYS maximum password lifetime (root only) 注:兩次密碼修正的最大天數,後面接數字;僅能root權限操作;
-n, --minimum=DAYS minimum password lifetime (root only) 注:兩次密碼修改的最小天數,後面接數字,僅能root權限操作;
-w, --warning=DAYS number of days warning users receives before 注:在距多少天提醒用戶修改密碼;僅能root權限操作;
password expiration (root only)
-i, --inactive=DAYS number of days after password expiration when an 注:在密碼過期後多少天,用戶被禁掉,僅能以root操作;
account becomes disabled (root only)
-S, --status report password status on the named account (root 注:查詢用戶的密碼狀態,僅能root用戶操作;
only)
--stdin read new tokens from stdin (root only)
比如我們讓某個用戶不能修改密碼,可以用-l 參數來鎖定:
[root@localhost ~]# passwd -l beinan 注:鎖定用戶beinan不能更改密碼;
Locking password for user beinan.
passwd: Success 注:鎖定成功;
[beinan@localhost ~]# su beinan 注:通過su切換到beinan用戶;
[beinan@localhost ~]$ passwd 注:beinan來更改密碼;
Changing password for user beinan.
Changing password for beinan
(current) UNIX password: 注:輸入beinan的當前密碼;
passwd: Authentication token manipulation error 注:失敗,不能更改密碼;
再來一例:
[root@localhost ~]# passwd -d beinan 注:清除beinan用戶密碼;
Removing password for user beinan.
passwd: Success 注:清除成功;
[root@localhost ~]# passwd -S beinan 注:查詢beinan用戶密碼狀態;
Empty password. 注:空密碼,也就是沒有密碼;
注意: 當我們清除一個用戶的密碼時,登錄時就無需密碼;這一點要加以注意;
Linux指令詳解chpasswd批量修改用戶密碼
語法:
1:# echo 用戶名:密碼 | chpasswd
2:# chpasswd < doiido.txt
參數:
-e :如果使用了-e選項,口令將只能以加密的方式傳遞
如果未使用-e選項,口令將按明文的形式傳遞
注意事項
1:用戶名必須是系統上已存在的用戶
2:普通用戶沒有使用這個指令的權限
3:如果輸入文件是按非加密方式傳遞的話,請對該文件進行適當的加密。
4:指令文件不能有空行
1、直接修改doiido用戶的密碼爲helloboy
echo doiido:helloboy |chpasswd
2、使用doiido.txt裏面的用戶名密碼批量修改相應用戶的密碼
2.1:首先建立指令文件doiido.txt(格式爲[username:passwd])
# vi doiido.txt
doiido1:helloboy
doiido2:hellogirl
2.2:將doiido.txt的內容傳輸到chpasswd指令來修改相應用戶的密碼
# chpasswd < doiido.txt
3、讓普通用戶使用chpasswd
默認普通用戶是沒有chpasswd的權限,但是可以通過修改命令文件權限來修改
# chmod 4755 /usr/sbin/chpasswd
這樣普通用戶就可以使用chpasswd來修改密碼
chage 命令
功能:修改帳號和密碼的有效期限
用法:chage[-l][-m mindays][-M maxdays][-I inactive][-E expiredate][-W warndays][-d lastdays]username
參數:
-l:列出用戶的以及密碼的有效期限
-m:修改密碼的最小天數
-M:修改密碼的最大天數
-I:密碼過期後,鎖定帳號的天數
-d:指定密碼最後修改的日期
-E:有效期,0表示立即過期,-1表示永不過期
-W:密碼過期前,開始警告天數
chage -M 30 username 改變密碼的有效期限爲30天
chage -d 2012-01-01 username 用戶下次登錄必須修改密碼
ssh username@localhost ssh模擬登陸驗證密碼