RedHatLinux使用者管理經驗點滴(轉)

ba發表於2007-08-16
RedHatLinux使用者管理經驗點滴(轉)[@more@]  本文給學習RedHat Linux使用者參考,文章老了點,但是很多參考價值

  RedHat Linux是眾多Linux發行版本中較流行的一個。這裡結合筆者的使用經驗談談在RedHat Linux下的使用者管理。筆者使用的是RedHat 5.1發行版,核心版本2.2.11,如不作特別說明,下面的操作都是在root 賬戶下完成的。

  為普通使用者和使用者組加入磁碟配額限制

  Linux的quota程式允許為系統上每一使用者或使用者組指定所能使用的磁碟配額。目前quota僅能工作在ext2型別的檔案系統上。使用quota需要確定以下兩點:

  1?當前的系統核心支援quota。

  2?系統已正確安裝quota程式包。

  如果你當前的系統核心不支援quota,請重新編譯你的核心,當系統提示:

  Quota support(CONFIG—QUOTA)[n]

  回答y ,生成新的系統核心。

  如果沒有quota程式包,請到以下地址下載quota的源程式並編譯之。

  

  一般Linux的發行版本的核心都預設包含了quota支援,也附帶了quota 程式包,只需安裝quota 並加以設定便可讓quota工作。

  quota的具體設定步驟:

  1.編輯系統初始指令碼(RedHat是/etc/rc.d/rc.sysinit,別的發行版可能有所不同)讓它檢查quota並啟用quota。

  # Check quota and then turn quota on.

  if [ -x /usr/sbin/quotacheck ]

  then

   echo ″Checking quotas. This may take some time.″

   /usr/sbin/quotacheck -avug

   echo ″Done.″

   fi

   if [ -x /usr/sbin/quotaon ]

   then

     echo ″Turning on quota.″

     /usr/sbin/quotaon -avug

   fi

  在RedHat 5.1版的/etc/rc.d/rc.sysinit檔案中已包含了以上語句,請檢查你自己的系統初始指令碼檔案,沒有就加上。注意必須讓其在/etc/fstab。

  2.編輯 /etc/fstab。你的 /etc/fstab 檔案可能會是這樣的:

  /dev/hda1 /   ext2 defaults 1 1

  /dev/hda2 /home ext2 defaults 1 1

  選擇使用者所在分割槽所在行的第四個域,為使用者加入 quota支援,如下:

  /dev/hda1 /   ext2 defaults 1 1

  /dev/hda2 /home ext2 defaults,usrquota 1 1

  如為使用者組加入quota支援,可將usrquota替換為grpquota。

  如兩者兼而有之,可將這兩項一併寫入,如下:

     /dev/hda1 /   ext2 defaults 1 1

   /dev/hda2 /home ext2 defaults,usrquota,grpquota 1 1

  3.建立quota記錄檔案quota.user和quota.group。進入使用者所在分割槽根目錄,如上例中打入cd /home即可,按下面命令建立檔案:

  touch quota.user

  touch quota.group

  chmod 600 quota.user quota.group

  完成上面幾步以後,重新啟動計算機以使設定生效。

  4.為使用者或使用者組設定磁碟配額限制。假設在你的系統上有一名為bob 的使用者,現在想給他10MB的硬碟配額限制,他所擁有的最大檔案數不得超過100個。執行edquota -u dquo,系統將進入編輯環境(具體編輯環境視editor變數設定而定),將如下三行:

  Quotas for user bob:

  /dev/hda2: blocks in use: 14, limits (soft=0, hard=0)

  inodes in use: 12, limits (soft=0, hard=0)

  改為:

  Quotas for user bob:

  /dev/hda2: blocks in use: 14, limits (soft=0, hard=10240)

  inodes in use: 12, limits (soft=0, hard=100)

  其中:

  blocks in use:使用者已使用塊的大小,單位是kB。

  inodes in use:使用者現有檔案的大小。

  這兩項都是系統自動給出,不必改動。

  軟限制(soft limits)

  通常設定軟限制為一接近硬限制的值,超越此限制時,系統將警告使用者將到達最大磁碟配額限制。軟限制為0 時沒有軟限制。結合寬限期使用時,只要使用者超越了軟限制,一過寬限期,任何對磁碟空間的額外需求將被立即拒絕。

  硬限制(hard limits)

  磁碟配額的絕對限制,設定了quota的使用者不能超越此限制。

  寬限期(Grace Period)

  寬限期是使用者超越了軟限制而沒有到達硬限制時的一段放寬期,在這段時間內,使用者可以在硬限制範圍內自由地使用磁碟空間,超過這段時間,所有對磁碟空間的額外需求將被拒絕,即使使用者還在硬限制之內。寬限期的單位可以是秒、分、時、天。執行edquota -t命令設定寬限期。執行該命令後,將系統提示中的兩個0 days 改成你認為合適的值即可。

  有時想給一批使用者加上同樣的限制,比方說,給系統上所有100個使用者加上與bob同樣的限制,可手工先給bob加上限制,然後執行下面命令:

  edquota -p bob ′awk -F: ′$3 > 499 {print $1}′/etc/passwd′

  給使用者組設定磁碟配額限制與普通使用者類似,假設有一使用者組game,執行 edquota -g game即可。

  控制使用者的登入地點

  檔案/etc/secruity/access.conf可控制使用者登入地點,為了使用access.conf,必須在檔案/etc/pam.d/login中加入下面行:

  account required /lib/security/pam—access.so

  access.conf檔案的格式:

  permission : users : origins

  其中:

  permission:可以是 “+”或“-”,表示允許或拒絕。

  user:可以是使用者名稱、使用者組名,如果是all則表示所有使用者。

  origins:登入地點。local表示本地,all表示所有地點,console表示控制檯。另外,origins也可以是某一網路。

  後面兩個域中加上 except是“除了”的意思。例如:除了使用者wheel、shutdown、sync禁止所有的控制檯登入:

  -:ALL EXCEPT wheel shutdown sync:console

  root賬戶的登入地點不在access.conf檔案中控制,而是由/etc/securetty檔案控制,具體作法一看便知。

  限制使用者每次所發郵件大小

  Linux系統使用sendmail傳送郵件,配置檔案是/etc/sendmail.cf,預設使用TCP/IP協議。我們的Linux機器上往往會有多個使用者同時工作,或者乾脆就用它作郵件伺服器,在同一時刻,系統可能要收發很多郵件,因此不能讓某一使用者過多地佔用sendmail的時間。sendmail的預設配置對每次收發郵件的大小沒有限制,更改配置檔案/etc/sendmail.cf,找到O MaxMessageSize,去掉行首的#號,並將其後的數值改為一合適的數值,單位為位元組。如:

  O MaxMessageSize = 1048576

  意為每次收發郵件最大為1MB,任何超過這個值的郵件將被拒絕。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-961076/,如需轉載,請註明出處,否則將追究法律責任。

相關文章