一. 实验题 (总共 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在访问任何一个地址的时候访问的都是某个指定的网站主页呢?所有主页访问转向到
访问;
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等。
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
admin@126.comServerName 192.168.1.x
Listen 192.168.1.11:80
Listen 192.168.1.12:8080
2.创建上述/var/www/x目录,加入相关测试文件*.html
3.通过浏览器进行测试访问
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
wujispace@126.com2.service httpd start
3.在浏览器中输入
6. 在mysql中,建立一个用户test,口令为123456;授权他只能查询mysql库中的db表,可以查询、更新、添加、删除user表,并允许该用户从本地或者远程都可以登录mysql数据库服务器. 请进行测试.
答案:1.在mysql服务器上登录mysql
2.grant select on mysql.db to
test@localhostidentified by "123456";
grant select on mysql.db to
test@"%" identified by "123456";
3.grant select,delete,update,insert on mysql.user to
test@localhostidentified 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_IP34. 如果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 192.168.1.11
www2.com.cn 192.168.1.12
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在访问任何一个地址的时候访问的都是某个指定的网站主页呢?所有主页访问转向到
访问;
答案: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:是否允许登陆的权限