首頁  >  文章  >  運維  >  Linux系統中的使用者管理

Linux系統中的使用者管理

巴扎黑
巴扎黑原創
2017-08-02 16:08:233306瀏覽

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
(帳號:密碼:使用者ID:群組ID:一般的資訊:宿主目錄:shell)

欄位描述如下:

#              account   使用者在系統中的名字,且它無法包含大寫字母.

         

              UID       使用者 ID 數。

              GID       使用者的主要群組 ID 數。

              GECOS     此欄位是可選擇的,且通常是為了儲存資訊目的而設的。通常,它包含了使用者的全名.

              directory 使用者的$HOME 目錄.

      為不存在的執行(程式),使用者無法透過login(1) 登入.)

1.1.1 使用者分類

UID=0的       是超級使用者
UID=500~ 60000 為一般使用者
UID=1~499     是偽使用者(與系統和程式服務相關)

1.2 /etc/shadow 檔案

root:# 21312sd$44:wd323%cds:14945:0:99999:7:::
使用者名稱:加密密碼:最後一次修改時間:最小時間間隔:最大時間間隔:警告時間:帳號閒置時間:失效時間:

1.3 /etc/group 檔案

vim /etc/group

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

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


2、常用指令:

新增一個使用者:useradd [-ugGdsce] 使用者名稱
useradd -g webadmin -G root,web -c 'test suer' bob
-u UID
-g 缺省所屬使用者群組GID
-G 指定使用者屬於多個群組
-d 宿主目錄
-s 指令解析器Shell
-c 描述資訊
-e 指定使用者失效時間

設定密碼:passwd 使用者名稱

修改使用者資訊:
             修改使用者名稱:    usermod -l 新使用者名稱為舊使用者名稱
  刪除一個使用者:userdel [-r] 使用者名稱(-r 刪除使用者的宿主目錄)

為群組設定密碼: gpasswd 群組名稱
gpasswd [-adArR] 使用者名稱群組名稱
- a 將一個使用者加入某個群組
-d 將使用者從群組中刪除
-A 設定使用者群組管理員
-r 刪除使用者群組密碼
-R 禁止使用者切換為改組

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

#鎖定一個使用者:passwd -l  jack  / usermod -L jack
解鎖一個使用者:passwd -uf jack  / usermod -U jack

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

#新增群組: groupadd [-g GID] 群組名稱(檢視: grep webadmin /etc/group)

刪除群組:groupdel webadmin

群組改名:groupmod -n 新名稱舊名稱



####################################################################################################################################################################################### ###

3、其他指令:

pwck   偵測/etc/passwd檔案(鎖定檔案)
vipw   編輯/etc/passwd檔案檢視(鎖定檔案)
id     檢視使用者id和群組資訊
finger 查看使用者詳細資料
su     切換使用者(su - 使用者名稱)
passwd -S 查看使用者密碼狀態
who、w 查看目前燈虎使用者資訊
grpck  使用者群組設定檔偵測
vigr   編輯/etc/group檔案(鎖定檔案)
chage [-lmM]  設定密碼(LINUX下可用)
      -l 查看使用者密碼設定chage -l jack
   的最小天數
      -M 密碼修改的最大天數
      -d 密碼最後修改的日期
      -I 密碼過期後,若定帳號的,表示密碼立即過期,若為-1則永不過期
      -W 設定密碼過期前,開始警告天數


4、案例:授權sofeware 目錄對jack 、mary有寫入權限

root建立一個目錄:

mkdir /software

#新增兩個使用者:
useradd jack
useradd mary

設定密碼:
password jack
password mary

新增一個群組
groupadd softadm

將使用者新增至群組
usermod -G softadm jack
gpasswd -a mary softadm

檢視群組成員:
grep softadm /etc/group

將目錄有root群組授權為softadm群組
chgrp softadm ./software

#給群組新增目錄寫入權限
chmod g+w ./software


#5、擴充(RedHead系列)

5.1 批次新增使用者

# f35d6e602fd7d0f0edfa6f7d103c1b57 newusers指令匯入使用者資訊檔案

例如user.info 內容如下
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 c368d0ec7181bfd9590ccef7e6388b7f pwunconv 指令取消shadow password 功能

pwunconv
##5bdf4c78156c7953567bb5a0aef2fc53 chpasswd指令匯入密碼

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

chpasswd 7f41cc117e41685fb49049a1afac5ce5 pwconv 指令將密碼寫入shadow檔案

pwconv
##優化方案:寫腳本

#!/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 "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"
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 "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"

for ((i=$begin_id;i<=$end_id;i++))
do

#add the new_user to the my_new_group,and no add new_user&#39;s group

useradd -n -g $my_new_group $new_user$i

#delete the new_user password

passwd -d $new_user$i

chage -d 0 $new_user$i     //

done

echo "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"

5.2 限制使用者su 為root

groupadd sugroup

chmod 4550 /bin/su

chgrp sugroup /bin.su

ls -l /bin/ su

設定後,只有sugroup群組總的使用者可以使用su切換root
sueradd bob
passwd bob
usermod -G sugroup bob


5.3 用sudo 取代su

sudo 的設定檔/etc/sudoers

(管理員)編輯設定檔指令:

visudo
格式:使用者名稱(群組名稱)主機位址(主機名)=指令(絕對路徑)

例如:
使用者授權:bob 192.186.9.3=/usr/sbin/useradd,/usr/sbin/userdel
群組授權:  %webadmin host1=/ bin/vim /etc/httpd/conf/httpd.conf


以上是Linux系統中的使用者管理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn