歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

RedHatLinux用戶管理經驗點滴

RedHat Linux是眾多Linux發行版本中較流行的一個。這裡結合筆者的使用經驗談談在RedHat Linux下的用戶管理。筆者使用的是RedHat 5.1發行版,核心版本2.2.11,如不作特別說明,下面的操作都是在root 賬戶下完成的。 為普通用戶和用戶組加入磁盤配額限制 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的源程序並編譯之。

ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz

一般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,任何超過這個值的郵件將被拒絕。

Copyright © Linux教程網 All Rights Reserved