yum -y install vsftpd //安装vsftp这个服务
yum -y install ftp //安装ftp这个命令工具
[root@localhost]#useradd -d /opt/haha -g ftp -s /sbin/nologin haha
Creating mailbox file: File exists //我的这里操作有报错,顺道说下这个问题
linux系统下添加用户后,会在系统里自动加一个邮箱(系统邮箱),路径是:/var/spool/mail/用户名.
可以直接用命令#rm -rf /var/spool/mail/用户名,这样就可以再次添加同一名字的用户.
说明:
-s /sbin/nologin 是让其不能登陆系统
-d 是指定用户目录为/opt/haha ,这里可以替换成任何你需要的目录。
-g ftp 把用户加入到ftp组中(vsftp已创建)
haha是ftp用户名
执行该命令后,如果出现这样的错误提示:
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
这说明用户的目录已经存在(/var/www,这个可以是任何你设定的目录),不可再新建此目录,并非添加用户失败,可以忽略。
[root@localhost]#echo "xixi" | passwd --stdin haha
修改/var/www目录属性:(或任何自己定义的目录)
# chown -R haha /opt/haha递归把所有目录及文件的拥有者设为新添加的ftp用户
# chmod -R 755 /opt/haha 递归地设置拥护者全部权限,其他用户只有读取和执行权限
[root@localhost]# service vsftpd restart
就这样就创建用户成功了,然后系统本地可以登录,但是我在客户端登录又遇到错误了。
列出用户目录失败,找不出什么原因,然后我又设置被动模式
#vim /etc/vsftpd/vsftpd.conf(在最后一行添加如下内容)
pasv_min_port=10050 (设置被动模式的端口范围)
pasv_max_port=10060(设置被动模式的端口范围)
#vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050:10060 -j ACCEPT
#service vsftpd restart
#service iptables restart
备注:定义了用户的指定目录后,如果还需要往其他目录传文件之类的,可以新建目录,并授权就可以了。
centos 7.1安装ftp服务
- 创建ftp账号
- 需要增加账号及密码,并设置目录及权限,以河南管局为例
账号/密码:xxsmcs/xxsmcs
- 若存在账号,需要删除掉:
#userdel -rf xxsmcs
- 创建主目录/data/xxupload
#mkdir /data/xxupload
- 创建用户及目录
- 创建目录
# mkdir -p /data/xxupload/xxsmcs
- 创建用户
#useradd -G ftp -d /data/xxupload/xxsmcs -M xxsmcs
- 根据提示设置密码(用户名及密码务必设置为一致,便于后期维护)
#passwd xxsmcs
根据提示输入密码2次
- 修改文件和文件夹的用户和用户组属性
# chown xxsmcs.ftp /data/xxupload/xxsmcs -R
- 修改文件和文件夹读写执行属性
# chmod 750 /data/xxupload/xxsmcs -R
- 隐藏ftp目录
(1)修改ftp配置文件
#vim /etc/vsftpd/vsftpd.conf
- 去掉以下2行前面的注释
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
- 添加2行语句
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
(2)创建完后将ftp账号名添加到下面2个文件中
#vim /etc/vsftpd/user_list,
#vim /etc/vsftpd/chroot_list