一、服务
1、#service vsftpd start/stop/restart //表示启动/停止/重启vsftpd服务2、让vsftpd开机就启动:
#ntsysv //定制开机启动项
然后选中vsftpd,在[]有个*号表示选中。
在ubuntu系统里没有ntsysv这个工具(其在redhat,centos, fedora中有)。
ubuntu有另一个工具:sysv-rc-conf,有相同的功能。
安装方法 apt-get install sysv-rc-conf
使用 # sysv-rc-conf
二、配置用户
1、先添加用户再修改文件
xk@xk:~$ sudo adduser test
xk@xk:~$ sudo vi /etc/passwd //找到testftp用户的那一行,修改为:
test:x:500:50:FTP User:/home/testftp:/sbin/nologin
其中:test表示用户名;x表示加密;500表示UID;50表示GID,这里50表示FTP组;FTP User表示对用户的说明;/home/testftp表示用户的主目录;/bin/bash表示用户登录系统后首先启动的shell,nologin表示不能登录系统。
2、或者使用如下命令
xk@xk:~$ sudo useradd -d /opt/testftp -g ftp -s /sbin/nologin test
xk@xk:~$ sudo passwd test
-s /sbin/nologin是让其不能登陆系统,-d 是指定用户目录为/opt/srsman
注:ubuntu下这一命令是useradd后面可以带参数,其他的貌似是adduser
三、限制权限
1、限制用户目录,不得改变目录到上级
修改/etc/vsftpd.conf,将下面两行的注释去掉
chroot_list_enable=YES
chroot_list_file=/etc/chroot_list
新增一个文件: /etc/chroot_list
内容写需要限制的用户名:
srsman
重新启动vsftpd
一直提示550 permission denied,有的说把selinux关了就好,可我都没装啊
**************************************************************************************************************
再次折腾vsftp,参考http://www.cnblogs.com/hhuai/archive/2011/02/12/1952647.html
1.一直卡在 500 OOPS: cannot locate user entry:*** 错误上,后来发现少加了一行
guest_enable=YES
2.设置用户不能跳到自己根的上一级
chroot_list_enable=YES 开启chroot限制
chroot_list_file=/etc/vsftpd/chroot_list
新建chroot_list文件,并添加要限制的用户名
重启后发现错误:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
是用户根目录写权限与chroot限制冲突的问题,在vsftp.conf中加入
allow_writeable_chroot=YES
https://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/