2010年11月18日 星期四

Linux期末考

請安裝一個CentOS(vm),並符合以下需求:
  1. 檔案系統採LVM方式,VG名稱改為mainvg,並具有以下LV配置:
  LV名稱   掛載點   大小
  lv_root  /   10GB
  lv_home  /home  2GB
  lv_var    /var  5GB
 
  2. 網路卡採Bridged橋接方式,IP位址為固定(140.137.215.2xx)
  3. 主機名稱為a2xx.snpy.org(以學號方式命名xx)
  4. 安裝軟體需要勾選Server後,再加入以下自訂軟體:
    開發函式庫,MySQL伺服器,管理工具,系統工具,叢集與叢集儲存
  5. 建立一使用者tom,群組為wheel,密碼為ump392a,並加入無密碼可以sudo。
  6. 設定開機自動啟動服務:httpd, mysqld, named, nfs, saslauthd, smb, ypbind

安裝設定略過不談.....
4.如果有忘記勾選安裝的套件:
# yum grouplist      //找到要裝的套件群組名稱
#yum groupinstall "群組名稱" "群組2" ....    //建議使用英文

5.建立使用者:
# useradd -g wheel tom
# passwd tom
#visudo    //底下這行註解取消
%wheel        ALL=(ALL)       NOPASSWD: ALL

6.設定開機啟動服務
# chkconfig 服務名稱 --list     //檢查設定狀態
# chkconfig 服務名稱 on/off    //設定開機起停,--level 3,5    在rc3 與 5的起停設定
設定E-mail伺服器,並符合以下需求:
  1. 禁止使用一般SMTP送信(由來源IP或網域),改採SMTP帳號與密碼驗證方式。
  2. 能夠寄送與接收以下網域的信件:
    a2xx.snpy.org
    mail.a2xx.snpy.org
  3. 使用POP3協定供使用者收信。
  挑戰題:每個帳號信箱未讀的信件最多只能使用5MB的空間。


1.安裝postfix與sasl
# yum install postfix cyrus-sasl cyrus-sasl-lib cyrus-sasl-md5 cyrus-sasl-plain

2.確認sendmail狀態:
#/etc/init.d/sendmail status   //若有啟動記得停止,並設定開機不啟動
#netstat -naplt    //檢查25port有無被占用

3.設定postfix
# vim /etc/postfix/main.cf

myhostname = a238.snpy.org
mydomain = a238.snpy.org
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, mail.$myhostname
smtpd_sasl_auth_enable = yes      //啟動sasl相關模組功能
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous

4.設定DNS:
# cd /var/named/chroot/
# cp /usr/share/doc/bind-9.3.6/sample/* . -rf
# /usr/sbin/dns-keygen
XXXXXXXXXXXXXXXXXXXXXXXXXX      //將產生的值拷貝到應放的位置
#vim etc/nmaed.conf
view "localhost_resolver"
{
        include "/etc/named.rfc1912.zones";      //localhiost的zone檔案放置區,將a238...放到檔案裏面
};
view "internal"
{
        zone "a238.snpy.org" {
                type master;
                file "named.a238";
        };
};
key ddns_key
{
        algorithm hmac-md5;
        secret "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
};
view    "external"
{
        zone "a238.snpy.org" {
                type master;
                file "named.a238";
        };
};

# cp var/named/localhost.zone var/named/named.a238       //都在chroot情況下做
# vim var/named/named.a238
$TTL    86400
@               IN SOA  @       root (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum

                IN NS           @
                IN A            140.137.215.238
mail            IN A            140.137.215.238
@               IN MX 10        @
mail            IN MX 10        mail

# /etc/init.d/named restart
# dig mail.a238.snpy.org MX @localhost
# dig a238.snpy.org MX @localhost
//上面兩個都要正常解析出MX紀錄

#/etc/init.d/postfix resatrt    //在outlook上設定好應該就可以收發信了

5.最多5mb---利用quota來做,下面samba也要就一起處理
#vim /etc/fstab
/dev/mainvg/lv_root     /                       ext3    defaults,usrquota       1 1
/dev/mainvg/lv_home     /home                   ext3    defaults        1 2
/dev/mainvg/lv_var      /var                    ext3    defaults,usrquota        1 2

#mount -a    //根據fstab重新掛載
#mount       //檢查一下
/dev/mapper/mainvg-lv_root on / type ext3 (rw,usrquota)
/dev/mapper/mainvg-lv_var on /var type ext3 (rw,usrquota)
#quotacheck -avgu         //產生quota檔案
#quotaon -avug       //啟動quota
#edquota tom
Disk quotas for user tom (uid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/mapper/mainvg-lv_root      10240       9000      10240          2        0        0
  /dev/mapper/mainvg-lv_var          4       4096       5120          1        0        0

#edquota -p tom -u 使用者    //以tom的設定為範本設定其他人

**找到postfix上設定信件大小的設定**
# 信箱大小限制,單位 bytes,0 為不限。
mailbox_size_limit = 0
# 單封信件大小限制,單位 bytes
message_size_limit = 5120000
設定Samba伺服器,提供Windows以網路芳鄰存取檔案,並符合以下需求:
  1. Samba主機資源分享的名稱為SAMBA3(設定值: server string)
  2. 使用者使用帳號/密碼才能登入Samba主機
  3. 登入成功後可看到兩個目錄,一個是使用者名稱(代表家目錄,可讀寫),另一個是分享區,名稱為public_share(可讀寫)
  4. 每個人在public_share分享區中存放的檔案不得超過10MB。


1.編輯設定檔
# vim /etc/samba/smb.conf
server string = SAMBA3
security = user

[public_share]
        comment = public_share
        path = /opt/public_share
        public = yes
        writable = yes
        browseable = yes

2.設定密碼:
#smbpasswd -a tom     //新增iom的samba密碼

3.建立目錄:
#mdir /opt/public_share
#chmod 777 /opt/public_share    //根據題意給予權限

4.測試:
# testparm    //測試有無打錯字
#/etc/init.d/smb   restart

//可用windows連網芳看是否正常
請建置NIS伺服器,並符合以下需求:
  1. 設定前請先建立使用者eddie,UID為1100,群組為rd,GID為3000。
  2. NIS網域名稱為a2xx。
  3. 以NFS提供/home/eddie/目錄供140.137.215.0/24的電腦掛載,並設定為可讀寫,並確認在其他NIS用戶端以eddie成功登入後可進入掛載的家目錄。
  4. NIS的帳號資料需包含使用者tom與eddie。

1.安裝server套件
# yum install ypbind ypserv yp-tools

2.增加eddie
# groupadd -g 3000 rd
#useradd -u 1100 -g rd eddie     //記得設定passwd

3.設定nis server
# nisdomainname a238
# vim /etc/sysconfig/network    //加入
NISDOMAIN=a238

#vim /etc/hosts     //檢查a238可否解析,應該有下面一行
140.137.215.238         a238.snpy.org a238

#vim /etc/ypserv.conf      //將最後一行註解與空白取消
*                        : *       : *                : none

#/etc/init.d/ypserv restart      //啟動服務
# /etc/init.d/yppasswdd restart       //啟動密碼服務

# rpcinfo -p     //確認是否正常啟動
    100004    2   udp    716  ypserv
    100004    1   udp    716  ypserv
    100004    2   tcp    719  ypserv
    100004    1   tcp    719  ypserv
    100009    1   udp    728  yppasswdd

# /usr/lib/yp/ypinit -m    //建立nis map檔(資料庫格式),將server帳號資料放到/var/yp/marcus 下
                                 //做完後帳號有修改要重做一次,yppasswd可以改密碼
At this point, we have to construct a list of the hosts which will run NIS
servers.  a238.snpy.org is in the list of NIS server hosts.  Please continue to add
the names for the other hosts, one per line.  When you are done with the
list, type a <control D>.
        next host to add:  a238.snpy.org
        next host to add:  a238
        next host to add:          //用ctrl+D來離開
The current list of NIS servers looks like this:

a238.snpy.org
master.marcus

Is this correct?  [y/n: y]  y
We need a few minutes to build the databases...
Building /var/yp/marcus/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory `/var/yp/marcus'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating mail.aliases...
gmake[1]: Leaving directory `/var/yp/marcus'

a238.snpy.org has been set up as a NIS master server.

Now you can run ypinit -s a238.snpy.org on all slave server.
# ypcat -h localhost passwd.byname    //可檢查是否正常運作,會show出帳號資料

4.nfs
# vim /etc/exports
/home/eddie     140.137.215.0/24(rw,sync)
#exportfs   //也可以重開服務

沒有留言:

張貼留言