50個LINUX問答題(轉)

ba發表於2007-08-16
50個LINUX問答題(轉)[@more@]一. 實驗題 (總共 50 題)

1. 某公司需要在網路上共享一個資料夾/home/share,所有人都只有只讀許可權,且只有192.168.1.0/24子網的使用者可以讀寫訪問,其他的只讀,試透過NFS共享該資料夾。假定NFS伺服器的IP地址是192.168.1.1。


2. 利用iptables實現內部網代理上網,假定當前網路為218.193.118.0,閘道器為218.193.118.254,本機IP為218.193.118.x,192.168.1.1內部網為192.168.1.x。

3. 利用iptables實現內外互通,假定當前網路為218.193.118.0,閘道器為218.193.118.254,本機IP為218.193.118.x,192.168.1.1,內部網為192.168.1.x
192.168.1.11為內網Web站點,試做好定向訪問。


4. 在Linxu主機上,IP為218.193.118.x啟動兩個DNS,一個在標準埠53監聽,另一個在54埠監聽,將所有來自內部網(192.168.1.x)的DNS請求全部轉向到54埠;其他的保留在53埠。

5. 能否限定一個內部網IP在訪問任何一個地址的時候訪問的都是某個指定的網站主頁呢?所有主頁訪問轉向到 例如:IP 192.168.1.2
輸入 <>
訪問;<>

6. 啟用swat在Windows下對Linux的samba進行配置

7. 建立一個系統使用者test,建立test的別名test1 test2 ,並將其轉化成Samba使用者test,配置其能夠登入使用者主目錄,透過smbclient和smbmount驗證。

8. 新增一個共享目錄myshare,路經為/home/share,要求guest使用者不輸入密碼可以瀏覽,只有lsl,lwl使用者可以進行寫操作。使用smbmount進行連線。

9. 配置Samba伺服器,讓每臺主機有不同的連線共享目錄,針對主機名提供不同的連線共享目錄,使其具有寫的許可權,匿名使用者不能訪問。也就是說,主機ABC會連線到SMB伺服器指定的/usr/remotpc/ABC目錄上。使用smbclient進行連線並下載其中的一個檔案。

10. 讓smbclient以名稱式訪問,通常我們使用smb客戶端軟體的時候都是使用IP進行連線,現在希望透過主機名或者netbios名稱訪問,假定windows機器的名稱是wujispace,IP地址是192.168.1.2則希望透過smblcient -L wujispace進行訪問,或者透過smbmount進行訪問

11. 透過xhost遠端使用Linux的X資源

12. 在Linux下透過NFS以只讀方式輸出/home目錄;以可讀寫方式輸出/tmp;並從其它機器上驗證;另外注意將該共享目錄的掛在作成開機自動掛載。

13. 在Apache中設定基於名字的虛擬主機服務,apache所在機器IP為192.168.1.10,假定域名和IP關係為www1.com.cn =192.168.1.11,www2.com.cn = 192.168.1.12,在每個虛擬主機中配置不同的DocumentRoot,ServerAdmin,ServerName等資訊,然後設定每個虛擬主機的監聽方式(在80還是8080埠監聽)。

14. 開放 /home/upload 做為 192.168.1.0/24 這個網域的資料上傳目錄,其中,這個 /home/upload 的使用者及所屬群組為 upload 這個名字,他的 UID 與 GID 均為510

15. 如果Linux下未安裝Webmin則安裝,配置webmin以便允許本地網192.168.1.0使用者登入,啟動webmin,在windows下透過webmin新增使用者,並進行相關配置。改變webmin配置為使用SSL登入。

16. 配置SSH服務,以便root使用者可以登入,允許本地網(192.168.1.0)主機可以連線該服務
並使用Linux下的scp,sftp等工具進行檔案傳輸;使用Windows下的putty.exe,scp.exe,sftp.exe等工具進行檔案傳輸。

17. 安裝Turbolinux下的VNC伺服器和客戶端包,並啟用VNC伺服器,提供遠端桌面共享機制

18. 在瀏覽器中,連線VNC-Server,要求如下
1.瀏覽器必須支援Java虛擬機器,[積極嘗試]
2.輸入 ,因為預設埠為5801,[請透過netstat –nl察看]
3.輸入登入伺服器的口令
注意:實現Linux和windows之間的互相遠端桌面共享,251的ftp伺服器上有windwos的VNC版本。

19. 配置賬號linux,在sudo的方式下透過口令驗證可以檢視任何系統檔案;配置帳號win,在sudo方式下無須任何口令可以執行shutdown命令,[別名必須大寫]

20. 給出兩種設定根使用者在3分鐘後如果沒有任何操作則自動logoff的配置過程及涉及到的配置檔案。

21. 限制系統使用者linux遠端登入,限制根使用者從tty2登入,從遠端任何地方登陸

22. 寫一個簡單的C語言程式,然後使用cc進行含除錯資訊的編譯,最後使用gdb進行程式除錯。

23. 如何限制使用者對su命令的使用,如果要求只能某個組可以su到root其它組不能,怎麼做?

24. 使用Samba中的備份和恢復功能,對windows共享目錄下的資源進行備份和恢復,試用smbmount和smbclient兩種登入方式進行處理。

25. 設定Linux中的DNS主域控制器,要管轄lsl.com.cn域,DNS伺服器所在的主機IP地址為218.193.118.XX,域名為dns.lsl.com.cn,對應的資料檔案為lsl.com.cn,逆向資料檔案為118.193.218.arp;並利用host進行測試。在測試成功的基礎上,新增如下安全控制:
只允許218.193.118.yy,218.193.118.zz訪問該DNS伺服器。

26. 顯示系統中eth0網路介面的配置情況,並描述其中主要引數的含義,然後新增一個邏輯網路介面eth0:0,ip為192.168.11.11,檢視該邏輯介面是否處於啟用狀態,如果是則關閉它;否則啟用它.

27. 傳送5個ICMP包給218.193.118.79,描述反饋資訊的具體含義;增加每個包的資料長度到1024,然後再發5個包到上述IP;增加包的數量到100,但是要求不需要返回所有資訊行,只需要頭尾幾行和統計資訊。

28. 增加一個邏輯介面eth0:0,配置當前網段中的IP,然後透過該介面跟蹤到達網路地址210.34.48.34的所有路徑,並描述反饋資訊的含義。[可能不會成功,因為eth0:0不是一個真實的網路裝置,但是如果是eth1就可以]

29. 列出系統上可用的活躍的TCP和UDP網路連線;在此基礎上列出是哪些程式開啟或者連線這些網路介面;啟動系統地ftp伺服器程式,列出與ftp相關的所有網路連線。

30. 監聽並捕獲透過eth0介面,來自192.168.0.1的所有tcp相關且埠為21的10個資料包,並儲存到test.dump檔案中。

31. 監聽並捕獲20個來自主機192.168.0.1 和 192.168.0.2的所有基於tcp協議埠為21,20的所有資料包,並儲存到test.dump檔案中,然後使用tcpdump開啟並閱讀。

32. 如果想要獲取主機218.193.118.79和除了主機218.193.118.10之外所有主機通訊的ip包過濾的是源主機為218.193.118.79與目的網路為218.193.118.0的報頭。

33. 掃描218.193.118.0網路,看看哪些主機是上線的,並針對其中一臺上線的主機進行具體的探測,以便確定該主機提供的服務和開放的埠.

34. 配置Linux下的DHCP,完成如下功能:
1. 指定預設租期時間為1天
2. 指定當前分配的IP地址屬於C類網
3. 指定釋出閘道器和DNS給客戶機
閘道器:192.168.1.1
DNS: 210.34.48.34
4. 指定子網為192.168.1.0,IP範圍為
192.168.1.1到192.168.1.100
5. 固定某臺主機的IP地址
6. 指定DHCP的監聽介面為eth0
7. 使用windows和Linux主機作為客戶機進行DHCP測試


35. 設定Turbolinux Server中的telnet伺服器,配置該服務在執行級別3和5啟動,指定只能由192.168.1.11才能訪問該telnet服務,並允許根使用者使用telnet.

36. 設定Linux下的防火牆
1.設定一個使用者鏈
2.記錄所有透過23埠的所有資料包,並用良好的可識別的格式記錄
3.檢視日誌中記錄的資訊

37. 設定TurboLinux中的proftpd伺服器:允許匿名登入,並且匿名登入中如果IP地址為192.168.1.11則允許其上傳資料,其他只允許下載;設定匿名登入的歡迎文字;禁止218.193.118.0網段的訪問;

38. 設定Linux下的防火牆,針對eth0
1.設定filter表的預設策略為 DROP
2.開放本機的ping探測機制和telnet登入
3.啟動telnet進行測試

39. 利用Linux中的SQUID將Linux主機設定成上網代理機,並用Windows的IE瀏覽器進行驗證。請將上述代理3128變成80,做成比較透明的代理。

40. 在Linux下觀察網路環境,然後編寫一個指令碼,實現如下功能:
設定可用的IP地址,設定預設閘道器,設定可用的DNS
設定該指令碼執行許可權,然後放入系統的啟動指令碼中,以便開機後能夠自動配置網路。

41. 透過ntp實現網路時間同步
1.透過ntpdate指定時間伺服器為time.mit.edu
2.將Linux主機配置成時間伺服器,透過客戶程式xntpdc進行測試

42. 使用mysql
1.檢視當前的資料庫
2.新增一個資料庫week,在庫中加入一個表today,欄位包括:
ID 整數,name 10個可變字元
3.顯示week資料庫的所有表
4.透過檔案將today表需要的資料輸入
5.顯示today表中所有的資料


43. 在mysql中,建立一個使用者test,口令為123456;授權他只能查詢mysql庫中的db表,可以查詢、更新、新增、刪除user表,並允許該使用者從本地或者遠端都可以登入mysql資料庫伺服器. 請進行測試.

44. 配置Linux下的Apache伺服器:
1.設定apche文件根路徑為/var/www/html
2.設定伺服器監聽埠為8080
3.設定預設主頁檔案為index.htm,並在文件主目錄下寫一個測試用的index.htm檔案
4.設定管理員的Email地址為你的郵件地址
5.啟動apache伺服器並進行驗證

45. 在Apache伺服器中設定系統使用者宿主目錄的訪問方式,假定使用者名稱為test:
1.設定使用者宿主目錄的對映UserDir 為 public
2.只允許192.168.1.11主機能夠訪問該主頁
3.並在使用者宿主目錄下建立一個測試用的index.html文件
4.透過 進行測試,能夠顯示index.html的內容

46. 在Apache伺服器中設定系統使用者宿主目錄的訪問方式,假定使用者名稱為test:
1.加入使用者身份驗證,只允許test,test1,test2使用者訪問
2.直接在httpd.conf檔案中配置實現上述功能
3.透過外部的.htaccess檔案實現上述功能

47. 在Apache中設定基於IP的虛擬主機服務,假定IP分別為192.168.1.11,192.168.1.12,在每個虛擬主機中配置不同的DocumentRoot,ServerAdmin,ServerName等資訊,然後設定每個虛擬主機的監聽方式(在80還是8080埠監聽)。

48. 顯示系統的arp快取表,並將以下的對應關係存入檔案,然後以載入檔案方式新增到arp表中,再次顯示arp快取表,然後刪除192.168.0.3所在行。
192.168.0.2 AA:BB:CC:00:00:00
192.168.0.3 AA:BB:CC:DD:00:00
192.168.0.4 AA:BB:CC:EE:00:00

49. 設定Turbo Linux中的proftpd服務:獨立啟動,允許根使用者登入,加入歡迎資訊顯示(顯示當前已經登入的使用者數量,使用者的帳號等),加入目錄切換的資訊提示,限制嘗試登入的次數為3次

50.將Linux設計成一個多服務系統,提供:SSH,FTP,HTTP,Samba,NFS,VNC,DNS,DHCP,
WebMin,Swat,mysql,代理上網;並使用iptables,TCP_Wrapper等方式進行安全控制,基本要求如下:
0.設定內部網192.168.1.0,外部網211.80.194.0,確定內外網的閘道器
1. 內部網使用者可以很方便地連線並使用各種服務,當然需要身份驗證
2. 在外部網,使用者只能從固定的幾臺主機登陸(如.101,201,301等)
3. 匿名使用者可以登陸ftp,http,VNC等,但是得到的服務是有限制的
4. 根使用者可以從2中規定的幾臺主機和本地終端登入,其他方式登入均被拒絕(Webmin,swat除外)
5. 配置所有服務在開機啟動的時候自動啟動,除了VNC只在5級啟動外,其他都在3和5級啟動
6. 所有來訪的資訊都要以容易使別的方式登記到系統日誌檔案中,以便日後查閱

51.完成ftp的主機訪問控制和使用者訪問控制,查詢Limit相關資料,Order,deny,allow等。
2005-12-2-來自無極空間站的實驗題集

1. 設定Turbo Linux中的proftpd服務:獨立啟動,允許根使用者登入,加入歡迎資訊顯示(顯示當前已經登入的使用者數量,使用者的帳號等),加入目錄切換的資訊提示,限制嘗試登入的次數為3次

答案:1.編輯/etc/proftpd/proftpd.conf加入
ServerType standalone
RootLogin on
DisplayLogin /etc/proftpd/message.msg
DisplayFirstChDir /etc/proftpd/.message
MaxLoginAttempts 3
2.編輯message.msg檔案,加入%U,%N
3.啟動服務 service proftpd start
4.如果root使用者還是不能登陸則在/etc/ftpusers中將root所在行註釋掉


2. 在Apache中設定基於IP的虛擬主機服務,假定IP分別為192.168.1.11,192.168.1.12,在每個虛擬主機中配置不同的DocumentRoot,ServerAdmin,ServerName等資訊,然後設定每個虛擬主機的監聽方式(在80還是8080埠監聽)。

答案:1.在配置檔案/etc/httpd/conf/httpd.conf中新增

DocumentRoot "/var/www/x"
ServerAdmin
ServerName 192.168.1.x

Listen 192.168.1.11:80
Listen 192.168.1.12:8080
2.建立上述/var/www/x目錄,加入相關測試檔案*.html
3.透過瀏覽器進行測試訪問 http://192.168.1.x


3. 在Apache伺服器中設定系統使用者宿主目錄的訪問方式,假定使用者名稱為test:
1.加入使用者身份驗證,只允許test,test1,test2使用者訪問
2.直接在httpd.conf檔案中配置實現上述功能
3.透過外部的.htaccess檔案實現上述功能

答案:1.在配置檔案中找到 加入
AuthType Basic
AuthName “Input your name & pass"
AuthUserFile /etc/httpd/conf/users
Require valid-user
2.利用命令新增使用者 htpasswd -c /etc/httpd/conf/users test
htpasswd -c /etc/httpd/conf/users test1
htpasswd -c /etc/httpd/conf/users test2
3.登入測試
4.將1種的四行資訊寫入.htaccess檔案中
透過AllowOverride設定AuthConfig,以便允許使用.htaccess

4. 在Apache伺服器中設定系統使用者宿主目錄的訪問方式,假定使用者名稱為test:
1.設定使用者宿主目錄的對映UserDir 為 public
2.只允許192.168.1.11主機能夠訪問該主頁
3.並在使用者宿主目錄下建立一個測試用的index.html文件
4.透過 進行測試,能夠顯示index.html的內容

答案:1.編輯/etc/httpd/conf/httpd.conf
UserDir public

AllowOverride FileInfo AuthConfig Limit
Options Indexes SymLinksIfOwnerMatch

Order allow,deny
Allow from 192.168.1.11


2.cd /home/test
mkdir public;cd public
echo "hello 192.168.1.11">index.html
3.開啟瀏覽器進行測試,注意該瀏覽所在的IP必須為192.168.1.11

5. 配置Linux下的Apache伺服器:
1.設定apche文件根路徑為/var/www/html
2.設定伺服器監聽埠為8080
3.設定預設主頁檔案為index.htm,並在文件主目錄下寫一個測試用的index.htm檔案
4.設定管理員的Email地址為你的郵件地址
5.啟動apache伺服器並進行驗證

答案:1.編輯/etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html"
Port 8080
DirectoryIndex index.htm
ServerAdmin
2.service httpd start
3.在瀏覽器中輸入

6. 在mysql中,建立一個使用者test,口令為123456;授權他只能查詢mysql庫中的db表,可以查詢、更新、新增、刪除user表,並允許該使用者從本地或者遠端都可以登入mysql資料庫伺服器. 請進行測試.

答案:1.在mysql伺服器上登入mysql
2.grant select on mysql.db to test@localhost identified by "123456";
grant select on mysql.db to test@"%" identified by "123456";
3.grant select,delete,update,insert on mysql.user to test@localhost identified by "123456";
grant select,delete,update,insert on mysql.user to test@"%" identified by "123456";
4.本地 mysql -u test
遠端 mysql -h mysql所在IP -u test

7. 使用mysql
1.檢視當前的資料庫
2.新增一個資料庫week,在庫中加入一個表today,欄位包括:
ID 整數,name 10個可變字元
3.顯示week資料庫的所有表
4.透過檔案將today表需要的資料輸入
5.顯示today表中所有的資料


答案:1.service mysql start
2.show databases;
3.create database week;
4.use week;
5.create table today(id int,name varchar(10);
6.show tables;
7.load data local infile "data.txt" into table today;
8.select * from today;

8. 透過ntp實現網路時間同步
1.透過ntpdate指定時間伺服器為time.mit.edu
2.將Linux主機配置成時間伺服器,透過客戶程式xntpdc進行測試

答案:1.ntpdate time.mit.edu
2.編輯/etc/ntp.conf
server time.mit.edu
driftfile /etc/ntp.drift
3.service ntpd start
4.xntpdc NTP伺服器IP

9. 在Linux下觀察網路環境,然後編寫一個指令碼,實現如下功能:
設定可用的IP地址,設定預設閘道器,設定可用的DNS
設定該指令碼執行許可權,然後放入系統的啟動指令碼中,以便開機後能夠自動配置網路。

答案:1.利用vi編輯localnetcfg檔案
ifconfig eth0 218.193.118.xx
route add default gw 218.193.118.254
echo "nameserver 210.34.48.34">/etc/resolv.conf
2.chmod u+x localnetcfg
3.將該指令碼放入/etc/rc.d/init.d目錄下
然後在/etc/rc.d/rc3.d或者rc5.d目錄下設定Sxxlocalnetcfg符號連結檔案連結上述的localnetcfg檔案。

10. 利用Linux中的SQUID將Linux主機設定成上網代理機,並用Windows的IE瀏覽器進行驗證。請將上述代理3128變成80,做成比較透明的代理。

答案:1. Squid的配置檔案/etc/squid/squid.conf,修改
http_port 3128
cache_dir ufs /var/spool/squid 100 16 256
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
cache_effective_user nobody
cache_effective_group nobody
http_access allow all
2.確定/var/spool/squid目錄的存在
3.啟動squid,service squid start
4.設定IE瀏覽器
工具選單--〉internet選項à區域網設定à
IPAdd: 192.168.1.1 Port: 3128

5.iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 --dport 80
-j DNAT --to 192.168.1.1:3128


11. 顯示系統的arp快取表,並將以下的對應關係存入檔案,然後以載入檔案方式新增到arp表中,再次顯示arp快取表,然後刪除192.168.0.3所在行。
192.168.0.2 AA:BB:CC:00:00:00
192.168.0.3 AA:BB:CC:DD:00:00
192.168.0.4 AA:BB:CC:EE:00:00

答案:arp -a
#存入檔案 test.arp
arp -f test.arp
arp -d 192.168.0.3

12. 設定TurboLinux中的proftpd伺服器:允許匿名登入,並且匿名登入中如果IP地址為192.168.1.11則允許其上傳資料,其他只允許下載;設定匿名登入的歡迎文字;禁止218.193.118.0網段的訪問;

答案:1.編輯/etc/proftpd/proftpd.conf

Order deny,allow
Deny from 218.193.118.
Allow from all



Order deny,allow
allow 192.168.1.11

DisplayLogin message.msg

2.啟動服務 service proftpd start

13. 設定Linux下的防火牆
1.設定一個使用者鏈
2.記錄所有透過23埠的所有資料包,並用良好的可識別的格式記錄
3.檢視日誌中記錄的資訊

答案:iptables -N TELNET
iptables -A TELNET -j LOG --log-tcp-options --log-ip-options
--log-prefix "[IPTABLES Telnet]:"
iptables -A LOG_DROP -j ACCEPT
iptables -A INPUT -p tcp --dport 23 -j LOG_DROP
iptables -A OUTPUT -p tcp --sport 23 -j LOG_DROP


14. 設定Turbolinux Server中的telnet伺服器,配置該服務在執行級別3和5啟動,指定只能由192.168.1.11才能訪問該telnet服務,並允許根使用者使用telnet.

答案:1.chkconfig telnet --level 35 on
2.編輯/etc/hosts.allow
in.telnetd : 192.168.1.11
3.編輯/etc/pam.d/login,註釋第一行。
4.啟動telnet服務 service xinetd restart

15. 配置Linux下的DHCP,完成如下功能:
1. 指定預設租期時間為1天
2. 指定當前分配的IP地址屬於C類網
3. 指定釋出閘道器和DNS給客戶機
閘道器:192.168.1.1
DNS: 210.34.48.34
4. 指定子網為192.168.1.0,IP範圍為
192.168.1.1到192.168.1.100
5. 固定某臺主機的IP地址
6. 指定DHCP的監聽介面為eth0
7. 使用windows和Linux主機作為客戶機進行DHCP測試


答案:1.編輯dhcpd的配置檔案/etc/dhcpd.conf
default-lease-time 86400;
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
option domain-name-servers 210.34.48.34;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.1 192.168.1.100;
}
host pc1{
hardware ethernet xx:xx:xx:xx:xx:xx
 fixed-address 192.168.1.1;
}
2.建立dhcpd.leases
touch /var/dhcp/dhcpd.leases
3.啟用DHCP服務程式
/usr/sbin/dhcpd eth0
4.進行測試

16. 掃描218.193.118.0網路,看看哪些主機是上線的,並針對其中一臺上線的主機進行具體的探測,以便確定該主機提供的服務和開放的埠.

答案:nmap -sP 218.193.118.0/24
nmap 218.193.118.79

17. 如果想要獲取主機218.193.118.79和除了主機218.193.118.10之外所有主機通訊的ip包過濾的是源主機為218.193.118.79與目的網路為218.193.118.0的報頭。

答案:tcpdump ip host 218.193.118.79 and ! 218.193.118.10
tcpdump src host 218.193.118.79 and dst net 218.193.118.0/24


18. 監聽並捕獲20個來自主機192.168.0.1 和 192.168.0.2的所有基於tcp協議埠為21,20的所有資料包,並儲存到test.dump檔案中,然後使用tcpdump開啟並閱讀。

答案:tcpdump hots 192.168.0.1 and host 192.168.0.2 and tcp and port 21 -c 20 -w test.dump
tcpdump -r test.dump

19. 監聽並捕獲透過eth0介面,來自192.168.0.1的所有tcp相關且埠為21的10個資料包,並儲存到test.dump檔案中。

答案:tcpdump -i eth0 -c 10 tcp and port 21 ipaddr 192.168.0.1 -w test.dump

20. 列出系統上可用的活躍的TCP和UDP網路連線;在此基礎上列出是哪些程式開啟或者連線這些網路介面;啟動系統地ftp伺服器程式,列出與ftp相關的所有網路連線。

答案:netstat -t -u
netstat -t -u -p
netstat -t -u -p | grep ftp

21. 增加一個邏輯介面eth0:0,配置當前網段中的IP,然後透過該介面跟蹤到達網路地址210.34.48.34的所有路徑,並描述反饋資訊的含義。

答案:ifconfig eth0:0 218.193.118.230
traceroute -i eth0:0 210.34.48.34

22. 傳送5個ICMP包給218.193.118.79,描述反饋資訊的具體含義;增加每個包的資料長度到1024,然後再發5個包到上述IP;增加包的數量到100,但是要求不需要返回所有資訊行,只需要頭尾幾行和統計資訊。

答案:ping -c 5 218.193.118.79
ping -c 5 -s 1024 218.193.118.79
ping -c 100 -q 218.193.118.79

23. 顯示系統中eth0網路介面的配置情況,並描述其中主要引數的含義,然後新增一個邏輯網路介面eth0:0,ip為192.168.11.11,檢視該邏輯介面是否處於啟用狀態,如果是則關閉它;否則啟用它.

答案:ifconfig eth0
ifconfig eth0:0 192.168.11.11
ifconfig eth0:0
ifconfig eth0:0 down

24. 設定Linux中的DNS主域控制器,要管轄lsl.com.cn域,DNS伺服器所在的主機IP地址為218.193.118.XX,域名為dns.lsl.com.cn,對應的資料檔案為lsl.com.cn,逆向資料檔案為118.193.218.arp;並利用host進行測試。在測試成功的基礎上,新增如下安全控制:
只允許218.193.118.yy,218.193.118.zz訪問該DNS伺服器。

答案:1.需要修改/etc/named.conf設定區資訊 lsl.com.cn,並指定資料檔案lsl.com.cn
2.編輯/var/named/lsl.com.cn資料檔案,新增相對域名到IP的對映
3.編輯/var/named/118.193.218.arp資料檔案,新增IP到域名的對映
4.修改/etc/resolv.conf中的DNS指向218.193.118.XX
5.啟動named後臺程式
6.host dns.lsl.com.cn, host 218.193.118.XX

7.options {
allow-query { 218.193.118.yy;218.193.118.zz; };
};
8.重啟named程式

25. 使用Samba中的備份和恢復功能,對windows共享目錄下的資源進行備份和恢復,試用smbmount和smbclient兩種登入方式進行處理。

答案:在smbclient下
smb:>tar c LO RE
smbclient //SMB/Service -T c LO RE
備份 RE到本地的LO,(RE指檔案或目錄)

smb:>tar x LO RE
smbclient //SMB/Share -T x LO RE
恢復本地的LO到RE, (RE指檔案或目錄)

26. 如何限制使用者對su命令的使用,如果要求只能某個組可以su到root其它組不能,怎麼做?

答案:1.透過pam認證實現
2.透過修改/bin/su的許可權做到

27. 寫一個簡單的C語言程式,然後使用cc進行含除錯資訊的編譯,最後使用gdb進行程式除錯。

答案:實驗4 步驟:
1.用cc編譯程式的時候包含-g選項
cc –g –o outfile source.c
2. gdb outfile
3. 各種gdb命令的使用
run,list,break RowNum,next,kill,quit
list獲得每行的編號
break 行號,設定斷點
run執行, next單步執行, kill終止程式


28. 限制系統使用者linux遠端登入,限制根使用者從tty2登入,從遠端任何地方登陸

答案:1.編輯/etc/securetty
註釋其中的tty2所在行,這樣可以限制root使用者在tty2的登入
2.編輯/etc/security/access.conf,新增
-:linux:EXCEPT LOCAL
3.編輯/etc/pam.d/login,增加
account required /lib/security/pam_access.so


29. 給出兩種設定根使用者在3分鐘後如果沒有任何操作則自動logoff的配置過程及涉及到的配置檔案。

答案:1.在使用者主目錄/root下,編輯.bashrc檔案
增加 TMOUT=180
2.編輯/etc/bashrc
增加 TMOUT=180
3.編輯/etc/profile
增加 TMOUT=180
4.根使用者需要重新登入後才能將該設定生效

30. 配置賬號linux,在sudo的方式下透過口令驗證可以檢視任何系統檔案;配置帳號win,在sudo方式下無須任何口令可以執行shutdown命令

答案:1.在根使用者方式下,透過visudo編輯/etc/sudoers
在User Previliges Specification處加入
linux ALL=(ALL) PASSWD:ALL
win ALL=/sbin/shutdown,/sbin/halt

2.su linux 進行測試
su win進行測試

31. 在瀏覽器中,連線VNC-Server,要求如下
1.瀏覽器必須支援Java虛擬機器
2.輸入 ,因為預設埠為5801
3.輸入登入伺服器的口令

答案:

32. 安裝Turbolinux下的VNC伺服器和客戶端包,並啟用VNC伺服器,提供遠端桌面共享機制

答案:1.安裝vnc伺服器包
2.vncserver 然後設定登入口令,給出顯示埠號:1
3.vncviewer IP:1
輸入口令即可登入


33. 配置SSH服務,以便root使用者可以登入,允許本地網(192.168.1.0)主機可以連線該服務
並使用Linux下的scp,sftp等工具進行檔案傳輸;使用Windows下的putty.exe,scp.exe,sftp.exe等工具進行檔案傳輸。

答案:1./etc/ssh/sshd_config
Port 22
Protocol 2,1
PermitRootLogin yes
2.修改/etc/hosts.allow
sshd:192.168.1.
3.service sshd start
4.ssh root@SSH_IP


34. 如果Linux下未安裝Webmin則安裝,配置webmin以便允許本地網192.168.1.0使用者登入,啟動webmin,在windows下透過webmin新增使用者,並進行相關配置。改變webmin配置為使用SSL登入。

答案:1.配置檔案
/etc/webmin/miniserv.conf
allow=192.168.1.0/24
2.啟動webmin伺服器 service webmin start
3.透過IE訪問

35. 開放 /home/upload 做為 192.168.1.0/24 這個網域的資料上傳目錄,其中,這個 /home/upload 的使用者及所屬群組為 upload 這個名字,他的 UID 與 GID 均為510

答案:1.建立組和使用者
groupadd -g 510 upload
adduser -g 510 -u 510 upload
2.編輯/etc/exports
/home/upload 192.168.1.*(rw,all_squash,anonuid=510,anongid=510)
3.啟動服務
4.mount進行測試


36. 在Apache中設定基於名字的虛擬主機服務,apache所在機器IP為192.168.1.10,假定域名和IP關係為www1.com.cn =192.168.1.11,www2.com.cn = 192.168.1.12,在每個虛擬主機中配置不同的DocumentRoot,ServerAdmin,ServerName等資訊,然後設定每個虛擬主機的監聽方式(在80還是8080埠監聽)。

答案:1.配置192.168.1.10上的DNS做好相關對映關係
www1.com.cn www2.com.cn 2.配置apche伺服器,指定
namevirtualhost 192.168.1.10
以及各個虛擬主機段
3.確定各個虛擬主機的主目錄,加入不同的測試檔案,進行測試

37. 在Linux下透過NFS以只讀方式輸出/home目錄;以可讀寫方式輸出/tmp;並從其它機器上驗證;另外注意將該共享目錄的掛在作成開機自動掛載。

答案:1.編輯/etc/exports
/home *(ro)
/tmp *(rw,sync)
2.service portmap start
service nfs start
3.mount -t nfs IP:/home /LocalTestDir
4.編輯/etc/fstab檔案,增加上述掛載的資訊

38. 設定Linux下的防火牆,針對eth0
1.設定filter表的預設策略為 DROP
2.開放本機的ping探測機制和telnet登入
3.啟動telnet進行測試

答案:iptables -t filter -F
iptables -t filter -P DROP
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
iptables -t filter -A INPUT -i eth0 -p tcp --dport 23 -j ACCEPT
iptables -t filter -A OUTPUT -o eth0 -p tcp --sport 23 -j ACCEPT

39. 讓smbclient以名稱式訪問,通常我們使用smb客戶端軟體的時候都是使用IP進行連線,現在希望透過主機名或者netbios名稱訪問,假定windows機器的名稱是wujispace,IP地址是192.168.1.2則希望透過smblcient -L wujispace進行訪問,或者透過smbmount進行訪問

答案:基本步驟:
1.觀察/etc/samba或者/etc目錄下有一個檔案:lmhosts
2.按照“IP 名稱”的格式新增相關記錄
例如: 172.19.11.11 LSL_LWL
然後使用
smbclient -L LSL_LWL
連線SMB伺服器。


40. 配置Samba伺服器,讓每臺主機有不同的連線共享目錄,針對主機名提供不同的連線共享目錄,使其具有寫的許可權,匿名使用者不能訪問。也就是說,主機ABC會連線到SMB伺服器指定的/usr/remotpc/ABC目錄上。使用smbclient進行連線並下載其中的一個檔案。

答案:基本步驟:
1.建立/usr/remotepc目錄和相應的主機名子目錄
2.修改smb.conf檔案,增加相應的段
[pchome]
comment = Remote PC Directories
path = /usr/remotepc/%m
public = no
writable = yes


41. 新增一個共享目錄myshare,路經為/home/share,要求guest使用者不輸入密碼可以瀏覽,只有lsl,lwl使用者可以進行寫操作。使用smbmount進行連線。

答案:1.修改/etc/samba/smb.conf
[myshare]
path = /home/share
guest ok = yes #或者public = yes
writeable = yes
write list = lsl,lwl

2.保證/home/share的Other許可權需為rwx,或者將lsl,lwl加入share檔案的組使用者中

42. 建立一個系統使用者test,建立test的別名test1 test2 ,並將其轉化成Samba使用者test,配置其能夠登入使用者主目錄,透過smbclient和smbmount驗證。

答案:1.adduser test;passwd test
2.修改/etc/samba/smbusers 新增 test=test1 test2
3.編寫smbpasswd,將test使用者加入其中
smbpasswd test
4.修改/etc/samba/smb.conf
啟用口令驗證,指定口令檔案 smbpasswd
5.service smb start

43. 啟用swat在Windows下對Linux的samba進行配置

答案:1.chkconfig swat on
2.vi /etc/hosts.allow
加入:swat : ALL
3.重啟 xinetd
service xinetd restart
4.客戶端透過瀏覽器輸入:

輸入root/一般使用者的使用者名稱和口令


44. 能否限定一個內部網IP在訪問任何一個地址的時候訪問的都是某個指定的網站主頁呢?所有主頁訪問轉向到 例如:IP 192.168.1.2
輸入 <>
訪問;<>

答案:iptables -t nat -A PREROUTING -s 192.168.1.2 -p tcp --dport 80
-j DNAT --to 202.108.22.5:80
iptables -t nat -A POSTROUTING -s 192.168.1.2 -p tcp --dport 80
-j SNAT --to 218.193.118.x

45. 在Linxu主機上,IP為218.193.118.x啟動兩個DNS,一個在標準埠53監聽,另一個在54埠監聽,將所有來自內部網(192.168.1.x)的DNS請求全部轉向到54埠;其他的保留在53埠。

答案:1.設定一個DNS配置檔案 /etc/named_lsl.conf,加入
options
{ listen-on port 54 {211.163.76.1;};
directory "/var/named";
};
...其他的必要資訊

可以用named的-c 選項指定named讀入不同的配置檔案,比如:
/usr/sbin/named -u named -c /etc/named_lsl.conf
2.iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p udp --dport 53 -j REDIRECT 54

3.iptables -t nat -A POSTROUTING -p udp --sport 54 -j SNAT --to 218.193.118.x

46. 利用iptables實現內外互通,假定當前網路為218.193.118.0,閘道器為218.193.118.254,本機IP為218.193.118.x,192.168.1.1,內部網為192.168.1.x
192.168.1.11為內網Web站點,試做好定向訪問。


答案:ifconfig eth0 218.193.118.x
route add default gw 218.193.118.254
ifconfig eth0:0 192.168.1.1

iptables -t nat -A PREROUTING -d 218.193.118.x -p tcp --dport http -j DNAT --to 192.168.1.11
iptables -t nat -A PREROUTING -d 218.193.118.x -j DNAT --to 192.168.1.1

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 218.193.118.x

47. 利用iptables實現內部網代理上網,假定當前網路為218.193.118.0,閘道器為218.193.118.254,本機IP為218.193.118.x,192.168.1.1內部網為192.168.1.x。

答案:ifconfig eth0 218.193.118.x
route add default gw 218.193.118.254
ifconfig eth0:0 192.168.1.1

iptables -t nat -A PREROUTING -d 218.193.118.x -j DNAT --to 192.168.1.1
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 218.193.118.x

48. 透過xhost遠端使用Linux的X資源

答案:假設你想在本地(本地IP:192.168.0.1)執行192.168.0.2的X應用程式,首先在本地xhost + 192.168.0.2,允許192.168.0.2連線本地的X Server(xhost的具體用法man xhost),然後登入到192.168.0.2上,export DISPLAY=192.168.0.1:0。然後就可以在本地使用192.168.0.2的X應用程式了。

49. 某公司需要在網路上共享一個資料夾/home/share,所有人都只有只讀許可權,且只有192.168.1.0/24子網的使用者可以讀寫訪問,其他的只讀,試透過NFS共享該資料夾。假定NFS伺服器的IP地址是192.168.1.1。


答案:1.編輯/etc/exports
/home/share *(ro) 192.168.1.0/24(rw,sync)
2.service portmap start
service nfs start
3.mount -t nfs IP:/home /LocalTestDir

50.將Linux設計成一個多服務系統,提供:SSH,FTP,HTTP,Samba,NFS,VNC,DNS,DHCP,
WebMin,Swat,mysql,代理上網;並使用iptables,TCP_Wrapper等方式進行安全控制,基本要求如下:
0.設定內部網192.168.1.0,外部網211.80.194.0,確定內外網的閘道器
1. 內部網使用者可以很方便地連線並使用各種服務,當然需要身份驗證
2. 在外部網,使用者只能從固定的幾臺主機登陸(如.101,201,301等)
3. 匿名使用者可以登陸ftp,http,VNC等,但是得到的服務是有限制的
4. 根使用者可以從2中規定的幾臺主機和本地終端登入,其他方式登入均被拒絕(Webmin,swat除外)
5. 配置所有服務在開機啟動的時候自動啟動,除了VNC只在5級啟動外,其他都在3和5級啟動
6. 所有來訪的資訊都要以容易使別的方式登記到系統日誌檔案中,以便日後查閱
參考答案:此為綜合實驗,自行解決

51.完成ftp的主機訪問控制和使用者訪問控制,查詢Limit相關資料,Order,deny,allow等。
參考答案:

Order allow,deny
Deny from all
Allow from 218.193.118.


52. proftp的配置例子
1。ftp伺服器支援斷點續傳,且最大支援同時10人線上,每個ip只允許一個連線;
2。允許ftpusers使用者組只能訪問自己的目錄,而不能訪問上級或者其他目錄;
3。使用者登陸伺服器時不顯示ftp伺服器版本資訊,以增加安全性;
4。建立一個kaoyan的ftp帳戶,屬於ftpusers組,kaoyan使用者只允許下載,沒有可寫的許可權。下載速率限制在50Kbytes/s。
5。建立一個upload使用者,也屬於ftpusers組,同kaoyan使用者的宿主目錄一樣,允許upload使用者上傳檔案和建立目錄的許可權,但不允許下載,並且不允許刪除目錄和檔案的許可權,上傳的速率控制在100Kbytes/s
先是前期的使用者和組新增以及目錄的許可權設定
group add ftpusers
useradd -d /home/kaoyan -g ftpusers -s /bin/fales kaoyan
useradd -d /home/kaoyan -g ftpusers -s /bin/fales upload
chown -R kaoyan:upload /home/kaoyan
chmod -R 775 /home/kaoyan
如果你只想ftpusers組的使用者訪問,可以設定成770都行。
設定/usr/local/proftpd/etc/proftpd.conf
注意#表示註釋,對設定沒影響,可以不寫
ServerName "Frank's FTP Server"
ServerType standalone
DefaultServer on
Port 21
Umask 022
MaxInstances 30 #最多有30個proftpd的PID
User nobody
Group nobody
TimeoutStalled 10
MaxClients 10 #最多允許10個使用者線上
MaxClientsPerHost 1 "對不起,一個IP只允許一個連線"
AllowStoreRestart on
#允許斷點續傳(上傳),斷點續續(下載)是預設支援的,不用設定
DisplayLogin welcome.msg #歡迎詞檔案
ServerIdent off #遮蔽伺服器版本資訊
DefaultRoot ~ ftpusers #設定ftpusers組只能訪問自己的目錄

AllowOverwrite on


#不允許寫
DenyUser kaoyan

#不允許刪除,改名,下載
DenyUser upload

TransferRate RETR 50 user kaoyan
TransferRate STOR 100 user upload

我這裡實現的方式還可以透過




Limit大致有以下動作,基本能覆蓋全部的許可權了
CMD:Change Working Directory 改變目錄
MKD:MaKe Directory 建立目錄的許可權
RNFR: ReName FRom 更改目錄名的許可權
DELE:DELEte 刪除檔案的許可權
RMD:ReMove Directory 刪除目錄的許可權
RETR:RETRieve 從服務端下載到客戶端的許可權
STOR:STORe 從客戶端上傳到服務端的許可權
READ:可讀的許可權,不包括列目錄的許可權,相當於RETR,STAT等
WRITE:寫檔案或者目錄的許可權,包括MKD和RMD
DIRS:是否允許列目錄,相當於LIST,NLST等許可權,還是比較實用的
ALL:所有許可權
LOGIN:是否允許登陸的許可權

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

相關文章