下指令的方式新增使用者
前提
這篇是參與這裡的討論,重新整理而來。
站在管理者的角度,假設要新增一位使用者「cooker」。
新增使用者
執行以下的指令,就可以新增一位使用者叫做「cooker」。過程中會詢問,要為「cooker」設定的密碼。和一些額外的資訊。請依照提示執行。
$ sudo adduser cooker
更改密碼
$ sudo passwd cooker
參考文章
- Ubuntu / Community Help Wiki / SystemAdministration / AddUsersHowto
- 凍仁的筆記 / adduser - 新增使用者指令
套件探索
探索「adduser」
查詢「adduser」屬於哪個套件
$ dpkg -S adduser
看起來是屬於「adduser」這個套件。
準備等會要工作的資料夾
$ mkdir ~/tmp/adduser -p
$ cd ~/tmp/adduser
$ mkdir download source
下載「adduser」這個「package」,並解開。
$ cd download
$ apt-get download adduser
$ dpkg -x adduser_3.113+nmu3ubuntu3_all.deb adduser
$ ar xf adduser_3.113+nmu3ubuntu3_all.deb
$ dpkg -e adduser_3.113+nmu3ubuntu3_all.deb
觀看「etc」底下有什麼檔。
$ ls /adduser/etc
發現只有「deluser.conf」,沒有「adduser.conf」。
所以觀看「postinst」。
$ vi DEBIAN/postinst
原來是安裝後,會根據「/etc/adduser.conf」是否存在,才會複製一份到「/etc」底下。
if [ ! -e "/etc/adduser.conf" ]; then
cp /usr/share/adduser/adduser.conf /etc/adduser.conf
fi
不過「DEBIAN/postinst」後面還有,尚未弄懂。
觀看「usr/sbin」有哪些執行檔。
ls adduser/usr/sbin -l
共有四個檔。 「adduser」和「deluser」。 「addgroup」symbolic link「adduser」。 「delgroup」symbolic link「deluser」。
$ vi adduser/usr/sbin/adduser
$ vi adduser/usr/sbin/deluser
發現是「perl」寫的。
查看有哪些「manual」可以查閱。
$ ls adduser/usr/share/man/man5
$ ls adduser/usr/share/man/man8
所以可以查閱的manual如下。
man 5
- $ man 5 adduser.conf
- $ man 5 deluser.conf
man 8
額外的參考
ls adduser/usr/share/doc/adduser/examples/
下載「adduser」這個「source package」,並解開。
cd ~/tmp/adduser/source
apt-get source adduser
觀看「control」檔。
$ vi adduser-3.113+nmu3ubuntu3/debian/control
探索「useradd」
查看「useradd」屬於哪個套件。
$ dpkg -S useradd
看起來是屬於「passwd」這個套件。
準備等會要工作的資料夾
$ mkdir ~/tmp/passwd -p
$ cd ~/tmp/passwd
$ mkdir download source
下載「passwd」這個「package」,並解開。
$ cd download
$ apt-get download passwd
$ dpkg -x passwd_1%3a4.1.5.1-1ubuntu9_amd64.deb passwd
$ ar xf passwd_1%3a4.1.5.1-1ubuntu9_amd64.deb
$ dpkg -e passwd_1%3a4.1.5.1-1ubuntu9_amd64.deb
下載「passwd」的「source package」,並解開。
cd ~/tmp/passwd/source
apt-get source passwd
「passwd」的「source package」是「shadow」。
觀看「control」檔。
$ vi shadow-4.1.5.1/debian/control
回到「download」資料夾。
$ cd ~/tmp/passwd/download
查看有哪些「manual」可以查閱。
$ ls passwd/usr/share/man/man1 -1
$ ls passwd/usr/share/man/man5 -1
$ ls passwd/usr/share/man/man8 -1
man 1
man 5
man 8
- $ man 8 chgpasswd
- $ man 8 chpasswd
- $ man 8 cpgr
- $ man 8 cppw
- $ man 8 groupadd
- $ man 8 groupdel
- $ man 8 groupmod
- $ man 8 grpck
- $ man 8 grpconv
- $ man 8 grpunconv
- $ man 8 newusers
- $ man 8 pwck
- $ man 8 pwconv
- $ man 8 pwunconv
- $ man 8 shadowconfig
- $ man 8 useradd
- $ man 8 userdel
- $ man 8 usermod
- $ man 8 vigr
- $ man 8 vipw