(ZT)install and config vsftpd on debian
2015-04-05 22:09
344 查看
original url from : http://www.wyxuan.com/140.html
debian安装vsftpd并配置FTP服务器
安装
apt-get install vsftpd
配置
安装好之后,配置文件应该在/etc/vsftpd.conf,编辑这个文件,修改如下几个地方:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
以上每行解释如下:
1.禁止匿名用户访问ftp
2.允许本地用户访问ftp
3.允许本地用户上载文件
4.上载文件的时候,使用的掩码是022
然后重启vsftpd就可以了
/etc/init.d/vsftpd restart
#/etc/init.d/vsftpd start
创建ftp用户并修改密码:
adduser ftpuser
passwd ftpuser
限制用户访问目录:
配置文件应该在/etc/vsftpd.conf
chroot_local_user=NO
chroot_list_file=/etc/vsftpd.chroot_list
vsftpd.chroot_list文件里列出用户名称
重启vsftpd,这样,用户ftp上去,只能访问自己的目录了
////////////////////////////////////////////////////////////////////////////////
用的vsftpd_2.3.5-3_amd64.deb
实验不出来怎样才能用户登录后,呆在自己的目录.
只是可以用ftp工具上传下载ftp上的文件了, 登录后的用户可以随意切换到别的目录,东西都被看光了, 可怕.只能先玩玩.
以后整明白了,再补上.
vsftpd.conf修改的内容为:
/etc/vsftpd.chroot_list的内容:
以下2种情况, ftp工具(FlashFXP)访问不到ftp.
* chroot_local_user=NO
* /etc/vsftpd.chroot_list 中不写入登录的ftp用户名.
如果规划将ftp数据放到单独的数据盘
////////////////////////////////////////////////////////////////////////////////
实验中, 可能会用到的命令, 先贴上.
查看debian版本, show e.g. 7.8
lsb_release -a
<2015-0412>
debian 中查看UUID有关的命令
https://wiki.debian.org/Part-UUID
还是没能开机就挂载数据盘, 以后再搞.
写了一个.sh, 在服务器启动后, 手工运行一下. 提示缺失的目录手工建立一下.
* 将数据盘挂上
* 将数据盘中的目录作为ftpuser的目录.
这样做,有个不好的地方,如果没有运行.sh, 直接运行FTP客户端,如果觉察不到该ftp数据目录不是数据盘上的目录, 后果就是 : 主硬盘满了之后,需要自己mv到数据盘中,浪费好多时间.
<2015-0418>
为了防止自己忘记需要手工执行的.sh, 将该.sh的执行放到/etc/rc.local中,开机启动.
这样,服务器开机后,就可以直接用ftp客户端去连接了. 也不用接外设(显示器,鼠标,键盘)了.
debian安装vsftpd并配置FTP服务器
安装
apt-get install vsftpd
配置
安装好之后,配置文件应该在/etc/vsftpd.conf,编辑这个文件,修改如下几个地方:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
以上每行解释如下:
1.禁止匿名用户访问ftp
2.允许本地用户访问ftp
3.允许本地用户上载文件
4.上载文件的时候,使用的掩码是022
然后重启vsftpd就可以了
/etc/init.d/vsftpd restart
#/etc/init.d/vsftpd start
创建ftp用户并修改密码:
adduser ftpuser
passwd ftpuser
限制用户访问目录:
配置文件应该在/etc/vsftpd.conf
chroot_local_user=NO
chroot_list_file=/etc/vsftpd.chroot_list
vsftpd.chroot_list文件里列出用户名称
重启vsftpd,这样,用户ftp上去,只能访问自己的目录了
////////////////////////////////////////////////////////////////////////////////
用的vsftpd_2.3.5-3_amd64.deb
实验不出来怎样才能用户登录后,呆在自己的目录.
只是可以用ftp工具上传下载ftp上的文件了, 登录后的用户可以随意切换到别的目录,东西都被看光了, 可怕.只能先玩玩.
以后整明白了,再补上.
vsftpd.conf修改的内容为:
# Allow anonymous FTP? (Beware - allowed by default if you comment this out). 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 # # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) local_umask=022
chroot_local_user=YES chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd.chroot_list
/etc/vsftpd.chroot_list的内容:
# touch /etc/vsftpd.chroot_list # vi /etc/vsftpd.chroot_list ftp_upload ftp_download ftpuser
以下2种情况, ftp工具(FlashFXP)访问不到ftp.
* chroot_local_user=NO
* /etc/vsftpd.chroot_list 中不写入登录的ftp用户名.
如果规划将ftp数据放到单独的数据盘
将ftp目录放在另外的数据盘上 将 /media/data0/ftp/dir_ftp_upload/ 用chown和chmod改掉权限, 然后将ftp目录映射到数据盘目录. mount --bind /media/data0/ftp/dir_ftp_upload/ /home/ftpuser/dir_ftp_upload现在,除了ftp用户登录后,可以随便切换上级目录,没有其他问题了.
////////////////////////////////////////////////////////////////////////////////
实验中, 可能会用到的命令, 先贴上.
查看debian版本, show e.g. 7.8
lsb_release -a
install_and_cfg_vsftpd_on_debian 清屏 clear 移除 vsftpd dpkg -r vsftpd 查看 vsftpd 安装后的目录信息 dpkg -L vsftpd 安装vsftpd 安装之前,先卸载vsftpd dpkg -r vsftpd 安装前,已经将下载后的vsftpd安装文件拷贝到了本地 移除已经存在的配置文件 cd /etc/ rm vsftpd.conf 安装时,恢复丢失的配置文件 cd /home/debian-cd/ dpdg -i --force-confmiss vsftpd_2.3.5-3_amd64.deb 备份刚安装号的配置文件, 以后可以比较和恢复配置文件 cp vsftpd.conf ./vsftpd.conf.bk 重启网络 /etc/init.d/networking restart 比较配置文件的不同 diff vsftpd.conf vsftpd.conf.bk 安装 libcap2 apt-get intall libcap2 搜索字符串 /obj_string 在搜索结果中转到下一个字符串 n 使vim显示行号 :set number 跳到指定行 :112<ENTER> ///< 跳到112行 编辑 /etc/vsftpd.conf local_enable=YES ///< 26 line chroot_local_user=YES ///< 112 line 添加ftp组用户 显示用户 : cut -d: -f1 /etc/passwd 查看用户所在的组信息 : id user_name 删除用户 userdel ftp_upload 添加用户 adduser --home /srv/ftp/ftp_upload --ingroup ftp --shell /sbin/nologin ftp_upload adduser --home /srv/ftp/ftp_download --ingroup ftp --shell /sbin/nologin ftp_download 修改用户组到 ftp usermod -g ftp ftp_upload 查看用户信息 Id ftp_upload 修改用户口令 passwd ftp_upload 修改chroot_list文件, 安装完是没有的 vi /etc/vsftpd.chroot_list 添加需要ftp操作的ftp组用户 每行一个用名 查看vsftpd的ftp目录 cat /etc/passwd | grep ftp 可以看到ftp根目录为 : /srv/ftp/ 移除目录 rm -r /home/dir_to_remove 改变ftp用户在/home中的用户目录为可写 chmod a-w /home/ftp_upload 设置ftp目录权限 chmod -R 777 /home/ftp_upload 将ftp目录都设置到ftp组可访问 chgrp -R ftp /home/ftp_upload 查看ftp用户目录权限 Stat /home/ftp_upload 改变文件权限 chown ftpuser:ftpuser ./vsftpd*.* 在Debian本地测试ftp操作 ftp localhost 输入用户名和口令后, 进入ftp命令行操作. * 还是用服务器之外的计算机上的ftp工具实验,真实些.
<2015-0412>
列出所有设备的UUID, 用于/etc/fstab 中的 auto mount blkid
debian 中查看UUID有关的命令
https://wiki.debian.org/Part-UUID
还是没能开机就挂载数据盘, 以后再搞.
写了一个.sh, 在服务器启动后, 手工运行一下. 提示缺失的目录手工建立一下.
* 将数据盘挂上
* 将数据盘中的目录作为ftpuser的目录.
# @file mount_my_disk.sh # mount my disk data0 and data1 to /media/data0 and /media/data1 mount /dev/sdb /media/data0 mount /dev/sdc /media/data1 # mount /media/data0/ftp_data0 to /home/ftpuser/ftp_data0 mount --bind /media/data0/ftp_data0 /home/ftpuser/ftp_data0
这样做,有个不好的地方,如果没有运行.sh, 直接运行FTP客户端,如果觉察不到该ftp数据目录不是数据盘上的目录, 后果就是 : 主硬盘满了之后,需要自己mv到数据盘中,浪费好多时间.
<2015-0418>
为了防止自己忘记需要手工执行的.sh, 将该.sh的执行放到/etc/rc.local中,开机启动.
这样,服务器开机后,就可以直接用ftp客户端去连接了. 也不用接外设(显示器,鼠标,键盘)了.
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. /home/lostspeed/mount_my_disk.sh exit 0
相关文章推荐
- Install and config Redis on Mac OS X via Homebrew
- How to Install and Configure Bind 9 (DNS Server) on Ubuntu / Debian System
- Install OpenCL on Debian, Ubuntu and Mint orderly
- Google Chrome 59 Released – Install on Debian, Ubuntu and Linux Mint
- Setting Up A PXE Install Server For Multiple Linux Distributions and WinPE On Debian Lenny
- MySQL Install and Config on Linux.
- How to install and configure Jabber Server (Ejabberd) on Debian Lenny GNU / Linux
- Install Scala and SBT using apt-get on Ubuntu 14.04 or any Debian derivative using apt-get
- How to Install PHP 7 with Apache and MariaDB on CentOS 7/Debian 8
- How-To: Install Google’s Android Eclipse plugin (and/or adb) on 64-bit Debian/Ubuntu
- Install and config Redis on Mac OS X via Homebrew
- Install and config Redis on Mac OS X via Homebrew
- HOW TO INSTALL XEN HYPERVISOR ON DEBIAN 9 “STRETCH” AND DEBIAN 8 “JESSIE” LINUX SYSTEMS
- Git install and config on CentOS
- install and config tigervnc-1.1.0-16 on CenterOS6.4
- install and config redis on ubuntu14.04
- Install and config Apache, PHP, MySql on windows XP
- Could not install the app on the device, read the error above for details. Make sure you have an And
- Install Oracle 11gR2 on Debian wheezy(转)
- Installing Resin using the .deb package on Ubuntu and Debian