最近用到了linux用戶管理炎功,因此寫個文章記錄一下
- 用戶操作
- 添加用戶
格式:useradd [-選項] [用戶名]
選項:
-s, --shell SHELL 新賬戶的登錄 shell
-u, --uid UID 新賬戶的用戶 ID
-b, --base-dir BASE_DIR 新賬戶的主目錄的基目錄
-d, --home-dir HOME_DIR 新賬戶的主目錄
-e, --expiredate EXPIRE_DATE 新賬戶的過期日期
-f, --inactive INACTIVE 新賬戶的密碼不活動期
-g, --gid GROUP 新賬戶主組的名稱或 ID
-l, --no-log-init 不要將此用戶添加到最近登錄和登錄失敗數(shù)據(jù)庫
-m, --create-home 創(chuàng)建用戶的主目錄
-M, --no-create-home 不創(chuàng)建用戶的主目錄
-N, --no-user-group 不創(chuàng)建同名的組
-U, --user-group 創(chuàng)建與用戶同名的組
-p, --password PASSWORD 加密后的新賬戶密碼
-r, --system 創(chuàng)建一個系統(tǒng)賬戶
- 修改口令
passwd 用戶名;不加用戶名就是修改自己賬戶的口令
- 刪除用戶
格式:userdel [選項] 用戶名
選項:
-r, --remove 刪除主目錄和郵件池
- 切換用戶
su [-] [用戶名]
注:su后面可以加-岖寞,也可以不加。一般用戶執(zhí)行su命令不加用戶名的情況下,默認切換到root用戶 - sudo命令
這個命令默認root才可以使用霸旗,普通用戶要使用的話需要在/etc/sudoers
中添加規(guī)則
[dandelion@localhost skel]$ sudo touch readme.md
[sudo] dandelion 的密碼:
dandelion 不在 sudoers 文件中签舞。此事將被報告秕脓。
vi /etc/sudoers
## Next comes the main part: which users can run what software on
## which machines (the sudoers file can be shared between multiple
## systems).
## Syntax:
##
## user MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
dandelion ALL=(ALL) ALL
## 用戶名 所有主機=(獲取哪個用戶的身份) sudo可以使用的命令
[dandelion@localhost skel]$ sudo touch readme.md
[sudo] dandelion 的密碼:
[dandelion@localhost skel]$ ls
readme.md
[dandelion@localhost skel]$
- linux用戶信息存儲在
/etc/passwd
文件當中
文件格式:用戶名:密碼:UID:GID:用戶信息:HOME目錄路徑:用戶shell
例如:
shylock:x:1001:1001::/home/shylock:/bin/bash
第一個字段:用戶名柒瓣,代表用戶賬號的字符串;
第二個字段:存放的是該賬戶的口令吠架;此處為x是因為后來基于安全因素芙贫,講其放入了 /etc/shadow中了,這里用x代替傍药;
第三個字段:這個數(shù)字代表用戶識別號磺平,也稱為uid;同樣拐辽,如果把test用戶的uid修改 為0拣挪,系統(tǒng)就會認為root和test是同一個賬戶。(uid的取值范圍是0~65535俱诸,實 際上已經可以支持到429 496 7294)
第四個字段:這個數(shù)字表示組標識號菠劝,也稱為gid;它對應著/etc/group中的一條記錄睁搭。
第五個字段:注釋說明赶诊,沒有實際意義;
第六個字段:用戶的家目錄园骆,當用戶登錄時舔痪,就處在這個目錄下;
最后一個字段:用戶為用戶的shell遇伞;用戶登錄后辙喂,要啟動一個進程,用來將用戶下達的指 令傳給內核鸠珠;
【參考網(wǎng)站CSDN:第五章:Linux系統(tǒng)用戶與用戶組管理】
- linux用戶密碼信息存儲在文件
/etc/shadow
當中
存儲的內容包括加密后的密碼巍耗,密碼過期時間,密碼過期提示天數(shù)等
例如:
shylock:$6$doIEJZ1r$I2b2dqfVYr/0cE5vHoKVEnvUPeWVeabwon2C.EV87NVv0suoe1d1y1WrnkmVEsx85hyWIHbtkBEkPhGdeavxQ/:18311:0:99999:7:::
第一個字段:用戶名渐排,與/etc/passwd對應炬太;
第二個字段:用戶密碼;是該賬號的真正密碼驯耻,這個密碼已經加密亲族。
第三個字段:上次更改密碼的日期;
第四個字段:要過多少天才可以更改密碼可缚;
第五個字段:密碼多少天后才可以更改密碼霎迫;默認為0,即不受限制帘靡。
第六個字段:密碼到期前的警告期限知给;默認為99999,可以理解為永遠不需要改。
第七個字段:賬號的生命周期涩赢;
第八個字段:賬號的生命周期戈次;
最后一個字段:做保留用的,無意義筒扒;
【參考網(wǎng)站CSDN:第五章:Linux系統(tǒng)用戶與用戶組管理】
- 文件
/etc/default/useradd
怯邪,通過useradd
添加用戶時的規(guī)則文件
[dandelion@localhost default]$ cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home //用戶的家目錄創(chuàng)建的位置
INACTIVE=-1 //是否啟用賬號過期停權,-1表示不啟用
EXPIRE= //賬號終止日期花墩,不設置表示不啟用
SHELL=/bin/bash //所用shell的類型
SKEL=/etc/skel //創(chuàng)建用戶時悬秉,默認在用戶家目錄創(chuàng)建的文件(創(chuàng)建的文件都是從這個目錄下拷貝過去的)
CREATE_MAIL_SPOOL=yes
- 用戶組操作
- 添加用戶組
groupadd 用戶組名
或者groupadd -g 用戶指定GID 用戶組名
如果不加-g,則會按系統(tǒng)默認的gid創(chuàng)建組观游,跟uid一樣搂捧,gid也是從1000開始的 - 刪除用戶組
groupdel 用戶組名
- 顯示用戶所屬的用戶組
groups
- 修改用戶組信息
groupmod
[root@localhost etc]# groupmod
用法:groupmod [選項] 組
選項:
-g, --gid GID 將組 ID 改為 GID
-h, --help 顯示此幫助信息并推出
-n, --new-name NEW_GROUP 改名為 NEW_GROUP
-o, --non-unique 允許使用重復的 GID
-p, --password PASSWORD 將密碼更改為(加密過的) PASSWORD
-R, --root CHROOT_DIR chroot 到的目錄
- gpasswd用法
格式:gpasswd [選項] 組
選項:
-a, --add USER 向組 GROUP 中添加用戶 USER
-d, --delete USER 從組 GROUP 中添加或刪除用戶
-r, --delete-password remove the GROUP's password
-R, --restrict 向其成員限制訪問組 GROUP
-M, --members USER,... 設置組 GROUP 的成員列表
-A, --administrators ADMIN,... 設置組的管理員列表
除非使用 -A 或 -M 選項,不能結合使用這些選項懂缕。
設置用戶組密碼:gpasswd 用戶組名
設置用戶組管理員命令:gpasswd -A 用戶名 用戶組名
添加某賬號到組命令:gpasswd -M 用戶名 用戶組名
從組中刪除某賬號命令:gpasswd -d 用戶名 用戶組名