1352222 发表于 2015-5-29 05:57:29

Ubuntu Server 10.4 使用经历(四)之 FTP

  之前一直用SSH最为访问远程文件的方式,没有考虑FTP,最近有朋友小范围内需要共享资料,为了安全和使用方便开始使用FTP,原先以为FTP很简单,所以没有重视,此次安装还是出现了一些问题。
  系统环境:
  Ubuntu Server 10.04
  PuTTY 远程访问
  
  1. 安装vsftp FTP Server



sudo apt-get install vsftpd

  现在vsftp已经做到了很多默认,安装后,它会自动建立ftp一个用户 创建ftp用户组 创建/srv/ftp目录 如下所示



drwxr-xr-x 3 root ftp4096 2010-09-19 13:08 ftp

  2.重启服务



sudo /etc/init.d/vsftpd restart

  你会发现,系统提示你service vsftpd restart方法,如果你采用此方法,你需要安装dbus,否则系统会在命令执行时提示你找不到dbus的一个文件。仅用上面命令不需要安装。
  3.修改配置文件



sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_bak
sudo vi /etc/vsftpd.conf
  vsftpd 默认关闭匿名访问,我的主要配置内容如下:



listen=YES
#
# Allow anonymous FTP? (Disabled by default)
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# You may fully customise the login banner string:
ftpd_banner=Welcome to XXX FTP service.
#
# chroot_list_enable below.
chroot_local_user=YES
#
max_clients=5
max_login_fails=3
max_per_ip=2
local_max_rate=256000
  都配置完后,发现ftp用户并不能正常访问服务器,查找原因开始。
  4.ftp 用户创建及修改
  自己建立一个ftp2用户,并修改密码



sudo useradd -g ftp -d /srv/ftp ftpa
sudo passwd ftpa

  用户可以访问ftp server,正常连接,但如果禁止其不能terminal登录的话



sudo useradd -g ftp -d /srv/ftp -s /sbin/nologin ftpa

  用户不能登陆,通过网上寻找发现
  vsftp 会查找/etc/shells文件,以判断其用户是否包含,默认情况下Ubuntu(openbsd)中的shells 没有/sbin/nologin,所以要通过手动添加来实现



sudo vi /etc/shells

  添加/sbin/nologin
  此时就可以实现ftp用户登录,terminal不能登陆的效果。至于默认的ftp用户 我们可以不用,查看/etc/passwd文件可知,ftp 属于 /bin/false,也不再shells中所以不能登录。
  至此ftp基本搭建完成。
  
页: [1]
查看完整版本: Ubuntu Server 10.4 使用经历(四)之 FTP