1.什么是ubuntu的service
可以粗略理解为:service(服务)是随开机自启动的,并且在后台运行的程序。
通过man service
查看解释为:service 运行一个位于/etc/init.d/目录下的脚本SCRIPT,或者是位于/etc/init下的upstart程序。下面看看/etc/init.d/
目录下有哪些脚本:
可以看到最后那里有个ssh脚本,打开看一下(其实在ubuntu下,文件颜色为绿色的代表可执行文件,蓝色代表目录,白色代表普通文件),确实是脚本文件:
2.添加vsftpd服务
- 默认情况下,ubuntu只装了ftp的客户端,没装服务端,因此需要先安装服务端,
- vsftpd服务器(very secure FTP daemon)是ftp服务器的一种,安全性比其他的FTP服务器要高一些,还有其他优点,用apt-get进行安装:
sudo apt-get install vsftpd
:
- 查看/etc/init.d/目录,可以发现新增了vsftpd脚本文件:
- 修改vsftpd的配置文件
对于ubuntu而言,/etc目录几乎存放了系统的所有配置文件,例如账号密码(/etc/passwd),各种服务的起始文件等,其中就包括vsftpd:
根据网上的教程,修改vsftpd.conf文件的内容如下:
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
# ftp服务器的目录
local_root=/home/yao/ftpfiles
# 默认情况下,vsftpd不允许chroot目录具有可写权限,这里设置为可写
allow_writeable_chroot=YES
- 在ftp服务器目录/home/yao/ftpfiles下添加文件:
- 修改配置文件之后需要重新启动一下vsftpd服务:
sudo service vsftpd restart
- 在浏览器中打开链接
ftp://127.0.0.1
并输入账号密码,能够访问ftp了:
在windows主机下试一下(之前一直都无法连接,后来发现是虚拟机的22端口没打开,防火墙打开22端口之后就可以访问了,以后遇到此类问题需要同时检查windows的防火墙配置和虚拟机的防火墙配置):
3.手动添加一个自定义服务
基于上面的解释, 其实添加一个服务很简单, 只需要添加一个脚本到/etc/init.d/并赋予它可执行权限即可,(后面需要用到再看了,可参考前面的链接)。