如何在 Ubuntu 新增與管理帳號

如何在 Ubuntu 新增與管理帳號

新增帳號

指令 :  useradd

  • $sudo adduser temp     //新增使用者 temp

  • 使用者檔案存放在/etc/passwd
  • 使用tail指令來檢視/etc/passwd檔案
  • tail 從後面觀看,這個指令對比較長的檔案檢視比較方便。
  • 指令:tail -[要觀看的行數]

修改帳號

指令 :  usermod

  • $sudo usermod -g sudo temp    //新增使用者temp 至sudo群組

刪除帳號

指令 :  userdel

  • $sudo userdel temp   //刪除使用者temp 

新增群組

指令 : addgroup

  • $ sudo addgroup [groupname]

大量新增帳號

方法一

要新增大批帳號的話, 可以用 Linux 裡面的 newusers 指令, 做法是先建立一個文字檔, 裡面包含了帳號的資料, 例如用戶名, 密碼, UID, Shell 等, newusers 便可以讀取設定並新增帳號。

建立用戶資料的文字檔, 例如新用戶檔案為 newUser.txt, 加入以下內容:

user1:password:1001:513:Sales user:/home/user1:/bin/bash
user2:password:1002:513:Sales user:/home/user2:/bin/bash
user3:password:1003:513:Sales user:/home/user3:/bin/bash

建立帳號只要用 newusers 讀取 newUser.txt 檔案:

  • $ sudo newusers ./newUser.txt

 newusers 除了新增帳號外, 也可以用作修改用戶密碼。

例如下面指令修改 user123 帳號密碼為 mypasswordhere:

  • $echo “user123:mypasswordhere” | newusers

方法二

首先先建立一個 user.lst 帳號密碼檔案,內容如下:

user1 123456
user2 123456
user3 123456

建立一個shell script 名為 add_user.sh

#!/bin/bash -e
file_name=$1
while read user pass
do
   useradd ${user} -m  #create user and home directory
   echo ${user}:${pass} | /usr/sbin/chpasswd
done < $file_name

執行此shell script

  • $./add_user user.lst

這樣就會一次建立 user1 user2 user3 3個帳號及設定密碼。

方法三

Step 1 : 建立名單  userList.txt

user1
user2
user3

Step 2 : 寫個Shell Script ,名稱為 "addUser.sh"

#!/bin/bash
for user in 'cat $1'
do
  echo $user
  useradd $user
done

Step 3 : 執行指令,即可批次新增名單帳號

  • $addUser.sh userList.txt

方法四

直接執行以下檔案 : addUser-1.sh

#!/bin/bash

users=(user1 user2 user3)

for user in "${users[@]}"
do
    adduser --disabled-password --gecos "" $user
    usermod -a -G sudo $user
    echo "${user}:${user}" | chpasswd
    chage -d 0 $user
done
#adduser --disabled-password --gecos 關閉密碼詢問互動,新建使用者
#usermod -a -G sudo 新增使用者至群主 (這邊是把使用者加入 sudo 群組,讓他們可以使用 sudo)
#echo "${user}:${user}" | chpasswd 更改使用者密碼與使用者帳號一至
#chage -d 0 $user 要求使用者第一次登入必須更改密碼

留言

這個網誌中的熱門文章

Ubuntu 常用指令、分類與簡介

iptables的觀念與使用

網路設定必要參數IP、netmask(遮罩)、Gateway(閘道)、DNS

了解、分析登錄檔 - log

Python 與SQLite 資料庫

Blogger文章排版範本

Pandas 模組

如何撰寫Shell Script

查詢指令或設定 -Linux 線上手冊 - man

下載網頁使用 requests 模組