Linux系統(tǒng)中的用戶管理

1.常用配置文件

用戶信息文件:? /etc/password
密碼文件:????? /etc/shadow
用戶組文件:??? /etc/group
用戶組密碼文件:/etc/gshadow

1.1 /etc/password文件

vim /etc/password

fubh:x:1020:1000::/home/fubh:/bin/bash

man 5 password? #查看配置文件幫助

(密碼文件)里每行一條記錄,并且每行有這樣的格式:

account:password:UID:GID:GECOS:directory:shell
(帳號(hào):密碼:用戶ID:組ID:一般的信息:宿主目錄:shell)

字段描述如下:

????????????? account?? 使用者在系統(tǒng)中的名字,它不能包含大寫(xiě)字母.

????????????? password? 加密的用戶密碼,或者星號(hào)。

????????????? UID?????? 用戶 ID 數(shù)。

????????????? GID?????? 用戶的主要組 ID 數(shù)。

????????????? GECOS???? 這字段是可選的,通常為了存放信息目的而設(shè)的。通常,它包含了用戶的全名.

????????????? directory 用戶的 $HOME 目錄.

????????????? shell???? 登錄時(shí)運(yùn)行的程序(如果空的,使用/bin/sh如果設(shè)為不存在的執(zhí)行(程序),用戶不能通過(guò)login(1) 登錄.)

1.1.1 用戶分類

UID=0的?????? 是超級(jí)用戶
UID=500~60000 為普通用戶
UID=1~499???? 是偽用戶(與系統(tǒng)和程序服務(wù)相關(guān))

1.2 /etc/shadow 文件

root:#21312sd$44:wd323%cds:14945:0:99999:7:::
用戶名:加密密碼:最后一次修改時(shí)間:最小時(shí)間間隔:最大時(shí)間間隔:警告時(shí)間:賬號(hào)閑置時(shí)間:失效時(shí)間:

1.3 /etc/group 文件

vim /etc/group

sudo:x:27:web,yanghuang,zhoumin,duyp,taofh,luanqq

group_name:password:GID:user_list
(組名:組密碼:組ID:組成員)

2、常用命令:

添加一個(gè)用戶:useradd [-ugGdsce] 用戶名
useradd -g webadmin -G root,web -c ‘test suer’ bob
-u UID
-g 缺省所屬用戶組GID
-G 指定用戶屬于多個(gè)組
-d 宿主目錄
-s 命令解析器Shell
-c 描述信息
-e 指定用戶失效時(shí)間

設(shè)置密碼:passwd 用戶名

修改用戶信息:
???????????? 修改用戶名:??? usermod -l 新用戶名 舊用戶名
???????????? 添加用戶所屬組:usermod -G sys bob_fu

刪除一個(gè)用戶:userdel [-r] 用戶名 (-r 刪除用戶的宿主目錄)

給組設(shè)置密碼: gpasswd 組名
gpasswd [-adArR] 用戶名 組名
-a 將一個(gè)用戶添加到某個(gè)組
-d 將用戶從組中刪除
-A 設(shè)置用戶組管理員
-r 刪除用戶組密碼
-R 禁止用戶切換為改組

例如:
gpasswd webadmin
gpasswd -a bob_fu webadmin
gpasswd -A bob_fu webadmin
gpasswd -r webadmin

鎖定一個(gè)用戶:passwd -l? jack? / usermod -L jack
解鎖一個(gè)用戶:passwd -uf jack? / usermod -U jack

切換所屬組:newgrp webadmin
查看所屬組:groups lisi

添加組:groupadd [-g GID] 組名 (查看: grep webadmin /etc/group)

刪除組:groupdel webadmin

組改名:groupmod -n 新名 舊名

3、其他命令:

pwck?? 檢測(cè)/etc/passwd文件(鎖定文件)
vipw?? 編輯/etc/passwd文件查看(鎖定文件)
id???? 查看用戶id和組信息
finger 查看用戶詳細(xì)信息
su???? 切換用戶 (su – 用戶名)
passwd -S 查看用戶密碼狀態(tài)
who、w 查看當(dāng)前燈虎用戶信息
grpck? 用戶組配置文件檢測(cè)
vigr?? 編輯/etc/group文件(鎖定文件)
chage [-lmM]? 設(shè)置密碼(linux下可用)
????? -l 查看用戶密碼設(shè)置 chage -l jack
????? -m 密碼修改的最小天數(shù)
????? -M 密碼修改的最大天數(shù)
????? -d 密碼最后修改的日期
????? -I 密碼過(guò)期后,牟定賬號(hào)的天數(shù)
????? -E 設(shè)置密碼過(guò)期日期,若為0,表示密碼立即過(guò)期,若為-1則永不過(guò)期
????? -W 設(shè)置密碼過(guò)期前,開(kāi)始警告天數(shù)

4、案例:授權(quán)sofeware 目錄 對(duì)jack 、mary有寫(xiě)權(quán)限

root創(chuàng)建一個(gè)目錄:
mkdir /software

添加兩個(gè)用戶:
useradd jack
useradd mary

設(shè)置密碼:
password jack
password mary

添加一個(gè)組
groupadd softadm

將用戶添加到組
usermod -G softadm jack
gpasswd -a mary softadm

查看組成員:
grep softadm /etc/group

將目錄有root組授權(quán)為softadm組
chgrp softadm ./software

給組添加目錄寫(xiě)權(quán)限
chmod g+w ./software

5、擴(kuò)展(RedHead系列)

5.1 批量添加用戶

newusers命令導(dǎo)入用戶信息文件
例如 user.info 內(nèi)容如下
test01::10001:503::/home/test01:/bin/bash
test02::10002:503::/home/test02:/bin/bash
test03::10003:503::/home/test03:/bin/bash
test04::10004:503::/home/test04:/bin/bash
test05::10005:503::/home/test05:/bin/bash
test06::10006:503::/home/test06:/bin/bash

newusers
pwunconv 命令取消 shadow password 功能

pwunconv

chpasswd命令 導(dǎo)入密碼

例如pass.info 內(nèi)容如下
test01:admin+01
test02:admin+02
test03:admin+03
test04:admin+04
test05:admin+05
test06:admin+06

chpasswd pwconv 命令 將密碼寫(xiě)入shadow文件

pwconv

優(yōu)化方案:寫(xiě)腳本

#!/bin/bash  #add-some-users.sh  #The?script?is?add?some?users?to?a?new?group.    echo?"Welcome?to?the?add?some?users!"  echo?-n?"Please?input?the?new?group(example?:?mygroup)?:?"    read??my_new_group??  groupadd?$my_new_group    echo?-n?"Add?the?$my_new_group?group?is?successful!"  echo?"&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;"  echo?"Then?add?some?users?to?the?$my_new_group?group!"    echo?-n?"Please?input?the?username(example:?student)?:?"  read?new_user  echo?-n?"Please?input?the?username(begin_id)(example:?1?)?:?"  read?begin_id  echo?-n?"Please?input?the?username(end_id)(example:?10?)?:?"  read?end_id    echo?"&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;"    for?((i=$begin_id;i<h4>5.2 限制用戶su 為root</h4><p>groupadd sugroup</p><p>chmod 4550 /bin/su<br>chgrp sugroup /bin.su<br>ls -l /bin/su<br>設(shè)定后,只有sugroup組總的用戶可以使用su切換root<br>sueradd bob<br>passwd bob<br>usermod -G sugroup bob<br></p><h4>5.3 用sudo 替代su</h4><p>sudo 的配置文件 /etc/sudoers<br><br>(管理員)編輯配置文件命令:<br>visudo <br>格式:用戶名(組名)主機(jī)地址(主機(jī)名)=命令(絕對(duì)路徑)<br><br>例如:<br>用戶授權(quán):bob 192.186.9.3=/usr/sbin/useradd,/usr/sbin/userdel<br>組授權(quán):? %webadmin host1=/bin/vim /etc/httpd/conf/httpd.conf<br><br></p>

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊12 分享