Linux基礎命令六:賬號管理
阿新 • • 發佈:2018-12-21
1.useradd 建立新使用者
-
useradd 使用者名稱稱 :建立普通使用者
-
useradd的一些常用選項
-u:指定賬號UID -g:指定使用者基本組 -G:指定使用者的附加組 -c:指定使用者描述資訊,一般為賬戶全稱。 -d:指定使用者家目錄,預設家目錄是/home/username -s:指定使用者使用的shell相關檔案,預設為/bin/bash -e:設定使用者的失效日期,格式為“YYYY-MM-DD” -f:指定密碼是否會失效,0為立即失效,-1為永不失效 -r:建立一個系統賬戶
-
練習
1.建立一個普通使用者 [[email protected] ~]# useradd xixi [ [email protected] ~]# ll -d /home/xixi drwx------ 2 xixi xixi 4096 Nov 12 12:58 /home/xixi
#預設會建立一個使用者的家目錄,且許可權為700 [[email protected] ~]# grep xixi /etc/passwd /etc/group /etc/shadow
/etc/passwd:xixi:x:500:500::/home/xixi:/bin/bash
/etc/group:xixi:x:500: #預設建立一個與使用者名稱相同的使用者組名
/etc/shadow:xixi:!!:17847:0:99999:7:::
2.建立一個UID為600,基本組為xixi的使用者haha [ [email protected] ~]# useradd -u 600 -g xixi haha [[email protected] ~]# ll -d /home/haha drwx------ 2 haha xixi
4096 Nov 12 13:10 /home/haha [[email protected] ~]# grep haha /etc/passwd
/etc/shadow /etc/group
/etc/passwd:haha:x:600:500::/home/haha:/bin/bash
/etc/shadow:haha:!!:17847:0:99999:7:::
3.建立一個系統賬號test,且不允許其登陸系統 [ [email protected] ~]# useradd -r -s /sbin/nologin test [[email protected] ~]# ll -d /home/test ls: cannot
access /home/test: No such file or directory #不會建立家目錄
[[email protected] ~]# grep test /etc/passwd /etc/shadow /etc/group
/etc/passwd:test:x:497:497::/home/test:/sbin/nologin #UID在500以下
/etc/shadow:test:!!:17847:::::: /etc/group:test:x:497: ```
- useradd預設值
[[email protected] ~] #useradd -D
GROUP=100 #預設的使用者組
HOME=/home #預設的家目錄
INACTIVE=-1 #密碼失效日期
EXPIRE= #賬戶失效日期
SHELL=/bin/bash #預設的shell
SKEL=/etc/skel #使用者家目錄的內容資料參考目錄
CREATE_MAIL_SPOOL=yes #是否主動幫使用者建立有幸
2.groupadd 建立使用者組
- groupadd 組名 :建立一個組
- groupadd的其他選項:
-g: 指定GID
-r: 新建系統使用者組,與/etc/login.defs的GID_MIN有關
- 練習
1.建立一個組為test1
[[email protected] ~]# groupadd test1
[[email protected] ~]# grep test1 /etc/group /etc/gshadow
/etc/group:test1:x:501:
/etc/gshadow:test1:!::
2.建立一個GID為601的組test2
[[email protected] ~]# groupadd -u 601 test2
[[email protected] ~]# grep test2 /etc/gshadow /etc/group
/etc/gshadow:test2:!::
/etc/group:test2:x:601:
3. id 檢視
- 檢視使用者及使用者組資訊
[[email protected] ~]# id xixi
uid=500(xixi) gid=500(xixi) groups=500(xixi)
[[email protected] ~]# id test
uid=497(test) gid=497(test) groups=497(test)
4. passwd
- passwd 使用者名稱 :給這個使用者設定密碼
- passwd的其他選項
--stdin 通過前一個管道的資料,作為密碼輸入
-l 鎖定使用者
-u 解鎖使用者
-n 指定密碼最短使用期限
-x 指定密碼最長使用期限
-w 指定警告時間
-d 刪除使用者密碼,在redhat中,空密碼使用者禁止登陸
-S 列出密碼相關引數
- 練習
1.給xixi這個使用者設定密碼
[[email protected] ~]# passwd xixi
Changing password for user xixi.
New password: #根據系統提示輸入密碼
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password: #再次確認密碼
passwd: all authentication tokens updated successfully.
2.使用--stdin給haha設定密碼
[[email protected] ~]# echo "123456" | passwd --stdin haha
Changing password for user haha.
passwd: all authentication tokens updated successfully.
3.給test加密,設定其密碼最短使用期限為 2天,最長為50天,警告天數為5天
[[email protected] ~]# echo "123456" | passwd --stdin test
Changing password for user test.
passwd: all authentication tokens updated successfully.
[[email protected] ~]# passwd -n 2 -x 50 -w 5 test
Adjusting aging data for user test.
passwd: Success
[[email protected] ~]# grep -w test /etc/passwd /etc/shadow /etc/group #這裡記得加-w,否則之前建立的test1,test2也會被匹配
/etc/passwd:test:x:497:497::/home/test:/sbin/nologin
/etc/shadow:test:$6$jDcOr02c$5zHZJrvreFiQRQPNCkz.Ezjy4G8rlHZYKF4IhcXFnM4Nxml8oS8X45dUJKRkkkviclFzR1HNst/oQiyyd1JqY1:17847:2:50:5::: #可以看到時間已經修改成功
/etc/group:test:x:497:
- 關於/etc/shadow的第二段字元的密碼
加密後的密碼,格式為$1$????????$*
賬戶鎖定,格式為 !!或者*
5.chage
- chage 【選項】賬號名
-l:列出密碼詳細引數
-d:最近一次更改密碼的日期
- 新建一個使用者user,使用chage命令,使這個使用者實現第一次登入時強制更改密碼這一功能
[[email protected] ~]# useradd user
[[email protected] ~]# echo "123456" | passwd --stdin user
Changing password for user user.
passwd: all authentication tokens updated successfully.
[[email protected] ~]# chage -d 0 user
#使用user這個使用者登入
You are required to change your password immediately (root enforced)
Welcome to Alibaba Cloud Elastic Compute Service !
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user user.
Changing password for user.
(current) UNIX password: #輸入舊密碼
New password: #輸入新密碼
6.usermod 修改使用者資訊
- usermod 【選項】使用者名稱
-g: 修改使用者的基本組,修改的是/etc/shadow的第四個欄位
-G:修改使用者的附加組,修改的是/etc/group
-u: 修改使用者UID,即/etc/passwd的第三個欄位
-d:修改使用者的家目錄,即/etc/passwd的第六列
-f:修改使用者最短使用時間,後接天數,即/etc/shadow的第七個欄位
-e:修改使用者的失效時間,格式為“YYYY-MM-DD”,即/etc/shadow的第八個欄位
-s:修改使用者登入shell
- 練習
1.修改test的家目錄/home/onetest,該目錄一定要存在
[[email protected] ~]# mkdir /home/onetest
[[email protected] ~]# usermod -d /home/onetest test
[[email protected] ~]# grep -w test /etc/passwd
test:x:497:497::/home/onetest:/sbin/nologin
2.修改tset的UID為333
[[email protected] ~]# id test
uid=497(test) gid=497(test) groups=497(test)
[[email protected] ~]# usermod -u 333 test
[[email protected] ~]# id test
uid=333(test) gid=497(test) groups=497(test)
7.userdel 刪除使用者和組
- userdel 【選項】使用者名稱
-r: 刪除使用者及相關檔案,預設不刪除使用者檔案
- 練習
1.刪除haha,不加-r選項
[[email protected] ~]# userdel haha
[[email protected] ~]# ll -d /home/haha
drwx------ 2 500 xixi 4096 Nov 12 12:58 /home/haha
[[email protected] ~]# grep haha /etc/passwd /etc/group /etc/shadow
#無內容
[[email protected] ~]# rm -rf /home/haha
[[email protected] ~]# ll -d /home/haha
ls: cannot access /home/haha: No such file or directory
2.加-r刪除test使用者
[[email protected] ~]# userdel -r test
[[email protected] ~]# ll -d /home/test
ls: cannot access /home/test: No such file or directory
8.groupdel 刪除使用者組
- groupdel 組名
[[email protected] ~]# groupdel test2