CentOS安装vsftpd并限制用户访问自己目录
2012-01-30 11:29
519 查看
1.yum安装vsftpd:
2.设置每次开机时自动运行及手工启动它:
可以查看ftp端口是否在侦听了!
3.配置文件
配置/etc/vsftpd/ftpusers 和 /etc/vsftpd/user_list,#不能登陆FTP的用户;
配置 /etc/vsftpd/vsftpd.conf
4.设定FTP目录
递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组
5.增加FTP用户
6.重启FTP
7.有时会出现上传多个小文件时卡住的情况,可以编辑/etc/vsftpd/vsftpd.conf如下:
或者将文件打包上传到服务端再解压来解决此问题。
8.修改已有用户的FTP目录
注: /home/www/abc.com 为修改的目标文件夹 abc 为要修改目录的用户名
9.vsftpd的默认设置是所有目录都可以被客户进入,极为不安全,因此要限制用户可以访问目录,限制用户只能访问自己家目录,设置方法如下:
chroot_local_user=YES就行了。
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list代替也行。
在vsftpd.conf最下面增加这一行,重启ftp即可
本机可以测试:
说明可以正常访问了。 如果外部不能访问就需要检查Iptable设置了。
如果不能正常访问,查看是什么问题:
1. 查看配置:
2. 查看登陆情况:
3. 查看Iptables
在Iptables添加:
1 | yum install vsftpd |
2 | touch /var/log/vsftpd.log # 创建vsftp的日志文件 |
1 | chkconfig vsftpd on |
2 | service vsftpd start |
3 | netstat -tl |
3.配置文件
配置/etc/vsftpd/ftpusers 和 /etc/vsftpd/user_list,#不能登陆FTP的用户;
配置 /etc/vsftpd/vsftpd.conf
1 | #anonymous_enable=YES |
2 | anonymous_enable=NO #设定不允许匿名用户访问 |
3 | chroot_local_user=YES #把系统内所有的FTP用户都限制在家目录中 |
4 | ascii_upload_enable=YES |
5 | ascii_download_enable=YES 设定支持ASCII模式的上传和下载功能。 |
6 | pam_service_name=vsftpd PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证 |
1 | #修改 /home/wwwroot 目录属性: |
2 | chmod -R 777 /home/wwwroot |
3 | #递归地给此目录下所有文件和子目录的读、写、执行权限 |
4 | chgrp -R ftp /home/wwwroot |
5.增加FTP用户
1 | adduser -d /home/wwwroot -g ftp -s /sbin/nologin 用户名 |
2 | #增加用户,组是FTP,目录是/home/wwwroot |
3 | passwd 用户名 |
4 | #设定用户密码 |
5 | Changing password for user beinan. |
6 | New password: |
7 | Retype new password: |
8 | passwd : all authentication tokens updated successfully. |
1 | service vsftpd restart |
2 | guest_enable=YES #设定启用虚拟用户功能。 |
3 | guest_username= ftp #指定虚拟用户的宿主用户。-CentOS中已经有内置的ftp用户了 |
4 | user_config_dir=/etc/vsftpd/vuser_conf #设定虚拟用户个人vsftp的配置文件存放路径。存放虚拟用户个性的配置文件(配置文件名=虚拟用户名) |
1 | vi /etc/vsftpd/vsftpd.conf |
2 | connect_from_port_20=YES |
3 | pasv_min_port=49152 |
4 | pasv_max_port=65534 |
5 | data_connection_timeout=1 |
8.修改已有用户的FTP目录
1 | usermod -d /home/www/abc.com abc |
9.vsftpd的默认设置是所有目录都可以被客户进入,极为不安全,因此要限制用户可以访问目录,限制用户只能访问自己家目录,设置方法如下:
1 | chroot_local_user=YES |
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list代替也行。
在vsftpd.conf最下面增加这一行,重启ftp即可
本机可以测试:
01 | [root@hexuweb101 username] # ftp |
02 | ftp > open 127.0.0.1 |
03 | Connected to 127.0.0.1 (127.0.0.1). |
04 | 220 (vsFTPd 2.0.5) |
05 | Name (127.0.0.1:root): username |
06 | 331 Please specify the password. |
07 | Password: |
08 | 230 Login successful. |
09 | Remote system type is UNIX. |
10 | Using binary mode to transfer files. |
11 | ftp > quit |
12 | 221 Goodbye. |
如果不能正常访问,查看是什么问题:
1. 查看配置:
2. 查看登陆情况:
1 | tail -f /var/log/secure |
在Iptables添加:
1 | vi /etc/sysconfig/iptables |
2 | iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT |
3 | iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT |
相关文章推荐
- CentOS安装vsftpd并限制用户访问自己目录
- 关于vsftpd配置,限制用户访问家目录
- Vsftp(vsftpd)如何配置可以把用户限制在自己的home目录
- centos下svn安装,svn用户管理,svn用户目录管理(虚拟机下访问)
- vsftpd添加用户并限制目录(指定用户访问指定目录)
- centos下配置sftp且限制用户访问目录
- centos下配置sftp且限制用户访问目录
- Centos 安装vsftp 虚拟用户,单独访问目录
- linux Ubuntu 安装 vsftpd 配置 限制用户访问
- VSFTP限制某用户只能访问自己的目录
- vsftpd控制用户禁止访问上级目录 只能访问自己目录
- 配置Ubuntu安装vsftpd 只能访问默认目录 禁止用户登录SSH允许FTP Ubuntu 安装vsftpd 方法
- centos7 安装vsftpd和配置虚拟用户访问及权限分配
- Linux安装配置FTP,用户登陆后只允许访问指定的目录。并解决vsftpd的”530 Login incorrect”错误
- centos下配置sftp且限制用户访问目录
- AS5 vsftpd限制登录用户访问目录(转)
- vsftpd添加用户并限制目录(指定用户访问指定目录)
- vsftpd控制用户禁止访问上级目录 只能访问自己目录
- vsftp限制FTP用户只能访问自己的目录
- vsftpd添加用户并限制目录(指定用户访问指定目录)