linux下常用命令

时间:2022-04-08 11:07:02

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.com
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.通过 http://ip/~test 进行测试,能够显示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.com
2.service httpd start
3.在浏览器中输入 http://serverip:8080

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指文件或目录)
先是前期的用户和组添加以及目录的权限设置
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:是否允许登陆的权限