跳到主內容

【Linux】帳號管理

新增/刪除帳號

# -u 自訂UID
# -g 加入某群組,可使用GID, 或是群組名
# -d 自定使用的家目錄
# -M 不建立家目錄
# -s 自訂shell
# 新增帳號(包含家目錄)
# centos
usradd 新帳號名稱
# ubuntu
adduser 新帳號名稱



# 刪除帳號(保留家目錄) 
userdel user1
# 刪除帳號(刪除家目錄) 
userdel -r user1


# 修改帳號
usermod [-LU][-c <備註>][-d <登入目錄>][-e <有效期限>] [-f <緩沖天數>][-g <群組>][-G <群組>][-l <帳號名稱>][-s ] [-u ][用戶帳號]
#-c<備註> 修改用戶帳號的備註文字。
#-d登入目錄> 修改用戶登入時的目錄。
#-e<有效期限> 修改帳號的有效期限。
#-f<緩沖天數> 修改在密碼過期後多少天即關閉該帳號。
#-g<群組> 修改用戶所屬的群組。
#-G<群組> 修改用戶所屬的附加群組。
#-l<帳號名稱> 修改用戶帳號名稱。
#-L 鎖定用戶密碼,使密碼無效。
#-s 修改用戶登入後所使用的shell。
#-u 修改用戶ID。
#-U 解除密碼鎖定。

# user1 加入 root 群組
usermod -aG root user1
# user1 移出 root 群組
gpasswd -d root user1

 

設定密碼過期

#chage:密碼失效是通過此命令來管理的。
#參數意思:
#-m 密碼可更改的最小天數。為零時代表任何時候都可以更改密碼。
#-M 密碼保持有效的最大天數。
#-W 用戶密碼到期前,提前收到警告信息的天數。
#-E 帳號到期的日期。過了這天,此帳號將不可用。
#-d 上一次更改的日期
#-i 停滯時期。如果一個密碼已過期這些天,那麽此帳號將不可用。
#-l 例出當前的設置。由非特權用戶來確定他們的密碼或帳號何時過期。

# 設定密碼過期時間0天(使用者登入需更改密碼)
sudo chage -d 0 使用者名稱
# 設定密碼永不過期
sudo chage -M -1 使用者名稱
# 設定帳號不會過期
sudo usermod -e '' 使用者名稱
# 設定帳號密碼都不會過期
sudo chage -M -1 -E -1 使用者名稱

禁止 root ssh 登入

# 修改/etc/ssh/sshd_config  
vim /etc/ssh/sshd_config  

# PermitRootLogin yes 
# 改為
PermitRootLogin no

# 重新啟動 ssh服務
systemctl restart sshd

群駔相關

# 新增群組
# groupadd [-g GID] 群組名
groupadd group1 

# 刪除群組
# groupdel群組名
groupdel group1

# 查詢使用者群組
# 方法一 groups 使用者
groups webmaster
########################/*
[root@test webmon]# groups  webmaster
webmaster : webmaster nginx
#########################*/
# 方法二 cat /etc/group
cat /etc/group | grep webmaster
########################/*
[root@webmon205 webmon]# cat /etc/group | grep webmaster
webmaster:x:1000:webmaster
nginx:x:979:webmaster
#########################*/

# 將使用者加入某群組
# ex.將user1加入ftp群組
usermod -a -G ftp user1
# ex.將user1移出ftp群組
gpasswd -d ftp app

# 修改主群組
# ex.將user1主群組改為nginx
usermod -g nginx user1