標籤:uid 想法 建立 修改 config 更換 使用者名稱 距離 username
一、認識/etc/passwd和/etc/shadow
1.passwd的構造
為passwd其中一個使用者的使用者資訊,分別表示為[使用者名稱][密碼][UID][GID][注釋][家目錄][Shell]
2.shadow的構造
,分別表示為[使用者名稱][密碼][上次更改密碼距離1997年1月1日的天數][過~天才可以更換密碼][失效日期][密碼到期前~天警告][預設空][預設空]
注意:如果密碼為!!,則表示為無密碼
如果密碼為*,則表示該帳號不允許登陸
二、添加使用者
1.groupadd [-g GID] groupname
2.useradd [-u UID] [-g GID] [-G ExtraGID][-M] [-d 路徑] username
-d表示將根目錄指向所指明的路徑
-G表示附加組,即GID為主組,ExtraGID為附加組(二奶=-=)
-M表示不建立根目錄(但是存在他的檔案!!)
值得注意的是,-M之後是無法 su - username的,因為並不存在username的根目錄,因此如果要su - username的話,需要
mkdir /home/username ,cp -r /etc/skel /home/username,這樣才可以使用該命令,因為使用者的環境變數初始化等東西都
在/etc/skel的檔案夾內
3.userdel [-r] username
-r表示將改帳號的[home directory]和[/var/spool/mail/username]一併刪除
4.usermod [待補充]
三、使用者身份切換
1.su
su -c "touch /tmp/username.txt" - username
表示為使用username身份使用命令(常用)
2.sudo和visudo [sudo -u username] [command]
讓普通使用者臨時獲得某個使用者的許可權
eg:sudo -u test touch test
表示為root可以執行test使用者的指令,建立test檔案
四、其他
1.如何禁止root的遠程登入
修改/etc/ssh/sshd_config,修改裡面的,把yes改為no
然後重啟服務/etc/init.d/sshd restart 即可
(ssh為用戶端,sshd為服務端)
2.更改密碼只需輸入一次的方法
1)passwd --stdin username(互動)
2) echo "new passwd" |passwd --stdin username(非互動)
3) echo -e "new passwd\nnew passwd"|passwd username(非互動)
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
華麗的分割線
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
今天心血來潮感覺我不僅需要把Linux學好,今天上課的時候讓我產生了一個想法,把《電腦網路》上課的東西也總結到這裡來
然後總結的東西也可以作為我期末複習的資料,感覺醬紫也是挺不錯的,反正還是那句話,加油吧
人之所以會迷茫,是因為想得太多做的太少
【centOS】帳號管理