linux中賬號管理的命令非常多,我這里主要介紹最常見的幾個命令,這些命令分別是針對用戶和組的管理
主要介紹對用戶管理的命令:
一、用戶創建:useradd
useradd命令用于Linux中創建的新的系統用戶。useradd可用來建立用戶帳號。帳號建好之后,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號,實際上是保存在/etc/passwd文本文件中
格式:useradd[options] LOGIN
選項:
-u UID: [UID_MIN, UID_MAX]定義在/etc/login.defs
-o 配合-u 選項,不檢查UID的唯一性
例如:將一個普通rooter用戶變成了一個管理員,因為不檢查UID的唯一性,會導致現有的id和原有的id一樣
-g GID:指明用戶所屬基本組,可為組名,也可以GID
-c "COMMENT":用戶的注釋信息
-d HOME_DIR:以指定的路徑(不存在)為家目錄(這個選項要注意,指定的父目錄一定要存在,子目錄不存在,如果子目錄存在會報錯)
-s SHELL: 指明用戶的默認shell程序
可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,…]:為用戶指明附加組,組必須事先存在
-N 不創建私用組做主組,使用users組做主組
-r: 創建系統用戶CentOS 6: ID<500,CentOS 7: ID<1000
例如:
創建用戶gentoo,附加組為bin和root,默認shell為/bin/csh,注釋信息為"Gentoo Distribution"
useradd -G bin,root -s /bin/csh -c "Gentoo Distribution" gentoo
二、用戶屬性修改usermod
usermod命令用于修改用戶的基本信息。usermod命令不允許你改變正在線上的使用者帳號名稱。當usermod命令用來改變user id,必須確認這名user沒在電腦上執行任何程序。你需手動更改使用者的crontab檔。也需手動更改使用者的at工作檔。采用NIS server須在server上更動相關的NIS設定
格式:useradd[options] LOGIN
選項:
-u UID: 新UID
-g GID: 新基本組
-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項,表示append;
-s SHELL:新的默認SHELL;
-c 'COMMENT':新的注釋信息;
-d HOME: 新家目錄不會自動創建,原家目錄中的文件不會同時移動至新的家目錄;若要創建新家目錄并移動原家數據,同時使用-m選項
-l login_name: 新的名字;
-L: lock指定用戶,在/etc/shadow 密碼欄的增加!
-U: unlock指定用戶,將/etc/shadow 密碼欄的! 拿掉
-e YYYY-MM-DD: 指明用戶賬號過期日期;
-f INACTIVE: 設定非活動期限;
例如:
把mage用戶的uid改為2000,屬主改為wang,附加組有bin和root,把shell改為了/bin/csh,家目錄改為/test/mage并保留了原來的家數據,把用戶名改為了magew,用戶賬號過期日期是2017.1.1,非活動期限是3
usermod -u 2000 -g wang -G bin,root -s /bin/csh -d /test/mage -m -c "mage very good" -l magew -e 20017-01-01 -f 3 mage
三、刪除用戶userdel
userdel命令用于刪除給定的用戶,以及與用戶相關的文件。若不加選項,則僅刪除用戶帳號,而不刪除相關文件。
格式:useradd[options]… LOGIN
選項:
-f:強制刪除用戶,即使用戶當前已登錄;
-r:刪除用戶的同時,刪除與用戶相關的所有文件。
這個命令比較簡單請不要輕易用-r選項;他會刪除用戶的同時刪除用戶所有的文件和目錄,切記如果用戶目錄下有重要的文件,在刪除前請備份。 其實也有最簡單的辦法,但這種辦法有點不安全,也就是直接在/etc/passwd中刪除您想要刪除用戶的記錄;但最好不要這樣做,/etc/passwd是極為重要的文件,可能您一不小心會操作失誤
四、設置密碼passwd
passwd命令用于設置用戶的認證信息,包括用戶密碼、密碼過期時間等。系統管理者則能用它管理系統用戶的密碼。只有管理者可以指定用戶名稱,一般用戶只能變更自己的密碼。
格式:passwd[OPTIONS] UserName: 修改指定用戶的密碼,僅root用戶權限
passwd: 修改自己的密碼;
選項:
-l:鎖定指定用戶
-u:解鎖指定用戶
-e:強制用戶下次登錄修改密碼
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天開始警告
-iinactivedays:非活動期限;
–stdin:從標準輸入接收用戶密碼;
echo "PASSWORD" | passwd–stdinUSERNAME
五、修改用戶密碼策略
chage命令是用來修改帳號和密碼的有效期限。
格式:chage[OPTION]… LOGIN
選項:
-d LAST_DAY
-E, –expiredateEXPIRE_DATE
-I, –inactive INACTIVE
-m, –mindaysMIN_DAYS
-M, –maxdaysMAX_DAYS
-W, –warndaysWARN_DAYS
–l,顯示密碼策略
例如:
可以通過如下命令修改我的密碼過期時間:
[root@linuxde ~]# chage -M 60 root [root@linuxde ~]# chage -l root 最近一次密碼修改時間 : 8月 3, 2016 密碼過期時間 : 從不 密碼失效時間 : 從不 帳戶過期時間 : 從不 兩次改變密碼之間相距的最小天數 :0 兩次改變密碼之間相距的最大天數 :60 在密碼過期之前警告的天數 : 9
然后通過如下命令設置密碼失效時間:
[root@linuxde ~]# chage -I 9 root [root@linuxde ~]# chage -l root 最近一次密碼修改時間 : 8月 3, 2016 密碼過期時間 : 9月 11, 2016 密碼失效時間 : 9月 16, 2016 帳戶過期時間 : 從不 兩次改變密碼之間相距的最小天數 :0 兩次改變密碼之間相距的最大天數 :60 在密碼過期之前警告的天數 : 9
六、創建組groupadd
groupadd命令用于創建一個新的工作組,新工作組的信息將被添加到系統文件中。
格式:groupadd[OPTION]… group_name
選項:
-g GID: 指明GID號;[GID_MIN, GID_MAX]
-r: 創建系統組;
CentOS 6: ID<500
CentOS 7: ID<1000
七、修改和刪除組
組屬性修改:groupmod:
groupmod[OPTION]… group
-n group_name: 新名字
-g GID: 新的GID;
組刪除:groupdel:
groupdel GROUP
八、更改組密碼gpasswd
格式:gpasswd[OPTION] GROUP
選項:
-a user: 將user添加至指定組中;
-d user: 從指定組中移除用戶user
-A user1,user2,…: 設置有管理權限的用戶列表
九、更改和查看組成員groupmems
格式:groupmems[options] [action]
選項:
-g, –group groupname更改為指定組(只有root)
Actions:
-a, –add username 指定用戶加入組
-d, –delete username 從組中刪除用戶
-p, –purge 從組中清除所有成員
-l, –list 顯示組成員列表
例如:
1、把root組從用戶sunny刪除
2、使用groupmems,把組user9加到wangcai中成為他的附加組
十、一些小練習
1、創建testuser uid 1234,主組:bin,輔助組:root,ftp,shell:/bin/csh home:/testdir/testuser
2、修改testuser uid:4321,主組:root,輔助組:nobody,loginname:test,home:/home/test 家數據遷移
3、批量創建帳號:user1…user10;uid:3000-3009,shell:/bin/csh,home:/testdir/username;passwd:usernamepass注意家目錄相關配置,使用戶正常登錄
(1)批量創建用戶使用的是newusers
(2)批量創建密碼使用的是chpassswd命令
(3)批量創建用戶家目錄是空的,需要從/etc/skel把家目錄拷貝到普通用戶家目錄中
原創文章,作者:xiaoqing,如若轉載,請注明出處:http://www.www58058.com/30585