所以我在 VPS - CentOS Linux 安装上。我在服务器上有 vsFTPd。我目前可以通过 root 用户对服务器进行 SFTP 访问,但现在我正在尝试创建一个新用户,该用户只能通过 FTP 访问服务器上的特定目录,我已经完成了以下操作:
1. mkdir /var/www/mydomain.com
2. mkdir /var/www/mydomain.com/html
3. useradd <-username>
4. passwd <-username>
5. chown –R <-username> /var/www/mydomain.com
5. groupadd <-groupname>
6. gpasswd -a <-username> <-groupname>
7. chgrp -R <-groupname> /var/www/mydomain.com
8. chmod -R g+rw /var/www/mydomain.com
Run Code Online (Sandbox Code Playgroud)
我正在努力做的是创建只能访问的用户 /var/www/mydomain.com- 我观察到用户正确登录到正确的文件夹,但是用户可以浏览“返回”到其他目录。我希望用户停留在特定文件夹中并且无法“浏览”回来。
有任何想法吗?
我找到了关于 chrooting 的不同文章,但根本没有想出在上面包含的步骤中使用它。
我在我的 linux (rasbian) 上运行 vsftpd 作为 ftp 服务器,我以 root 用户身份登录到机器。
我想仍然只能使用 /var/www,我该如何配置 vsftpd conf 来完成它?
我已经vsftpd使用 Amazon Linux AMI 在 Amazon EC2 上进行了设置。我创建了一个用户,现在可以通过 ftp 成功连接。但是,如果我尝试上传某些内容,则会收到错误消息
553 Could not create file.
Run Code Online (Sandbox Code Playgroud)
我认为这与权限有关,但我对它的了解还不够,无法修复它。所以基本上,我必须做什么才能上传文件?
我想允许传入的 FTP 流量。
CentOS 5.4:
这是我的/etc/sysconfig/iptables文件。
# Generated by iptables-save v1.3.5 on Thu Oct 3 21:23:07 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [133:14837]
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -p tcp -m tcp --sport 20 -j ACCEPT
COMMIT
# Completed on Thu Oct 3 21:23:07 2013
Run Code Online (Sandbox Code Playgroud)
此外,默认情况下, ip_conntrack_netbios_n 模块正在加载。
#service iptables restart …Run Code Online (Sandbox Code Playgroud) 我正在练习 ftp 但遇到了一个问题: ls 命令在 ftp> 上不起作用。为什么?我检查了 2 个远程服务器,但 ls 对任何一个服务器都不起作用,并且在执行 ls 时给出了不同的输出。请参阅下面的 2 个遥控盒。
下面显示了我今天安装 vsftpd 的远程服务器。
ravbholua@ravbholua-Aspire-5315:~$ ftp rs
Connected to ravi.com.
220 (vsFTPd 3.0.2)
Name (rs:ravbholua):
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/ravbholua"
ftp> ls
500 Illegal PORT command.
ftp: bind: Address already in use
ftp>
Run Code Online (Sandbox Code Playgroud)
以下是我必须发送一些文件的另一台远程机器。但是由于 ftp> 上的 ls 不起作用,我将如何将文件从本地盒子传输到该盒子,因为没有 ls 无法确认文件是否已传输。
ravbholua@ravbholua-Aspire-5315:~$ ftp 125.21.153.140
Connected to 125.21.153.140. …Run Code Online (Sandbox Code Playgroud) 我的问题是我需要更改哪些设置和/或运行命令以允许我登录到我的 vsftpd 系统?
当我使用 ftp 而不是 sftp 登录时,出现此错误:
Name (localhost:dbadmin): dbadmin
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/dbadmin
Login failed.
ftp>
Run Code Online (Sandbox Code Playgroud)
这在使用 登录时有效sftp@,但我的服务器在防火墙后面,我需要能够使用 ftp 和 sftp 登录。
我一直在查看很多关于“OOPS”错误的帖子,但到目前为止都没有成功登录。
以下是有关我的系统和设置的一些信息:
我正在运行 CentOS 6.4。
iptables 和 ip6tables 被停止和禁用。
我的主目录受保护 700,我尝试了 750,只是想看看这是否有所不同。它没。
以下是活动线路 /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
Run Code Online (Sandbox Code Playgroud)
我的登录名不在 user_list 中。
我正在尝试让vsftpd文件服务器在 Ubuntu 13.10 上运行,但我无法从另一个网络连接到服务器,尽管另一个网络已连接到服务器的网络并且ping正在工作。vsftpd重新启动有些可疑,在配置时,vsftpd我被要求使用以下命令重新启动它:
service vsftpd restart
Run Code Online (Sandbox Code Playgroud)
输出显示:“停止:未知实例”。我不知道那是什么意思?
我有一个 vsftpd 服务器设置,我希望能够从外部 IP(使用我的域名)和我的本地网络 (192.168.1.x) 进行被动传输访问。目前我有 /etc/vsftpd.conf 设置可以从外部访问:
pasv_enable=Yes
pasv_max_port=<max>
pasv_min_port=<min>
pasv_addr_resolve=YES
pasv_address=<domain name>
这工作正常,但是当我想在本地连接时,它会尝试将解析的 IP 用于被动地址(外部与本地)。
有没有办法根据连接的来源有条件地使 vsftpd 使用不同的 pasv_address ?
我vsftpd在 Fedora 10 上安装了实用程序来限制用户访问他们的 (chroot) 主目录。当我使用ftp提示连接时它工作正常。但是,当我使用sftp.
为了实现与 相同的功能,需要进行哪些更改sftp?
我有安装了 Arch Linux 的 Rapsberry Pi B+。uname报告版本:
[computer@computer001 ~]$ uname -a
Linux computer001 3.18.3-3-ARCH #1 PREEMPT Mon Jan 26 20:10:28 MST 2015 armv6l GNU/Linux
Run Code Online (Sandbox Code Playgroud)
我已经通过安装 ftp 服务器pacman -S vsftpd并且安装已经通过,没有任何错误。然后我尝试配置它,结果如下vsftpd.conf:
anonymous_enable=NO
local_enable=YES
write_enable=YES
#local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=computer
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
ftpd_banner=Welcome to personal ftp service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
#chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
ls_recurse_enable=YES
listen=YES
#listen_ipv6=YES
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试重新启动时vsftpd,我得到:
[computer@computer001 etc]$ sudo systemctl restart vsftpd.service && systemctl status -l …Run Code Online (Sandbox Code Playgroud) vsftpd ×10
ftp ×4
centos ×2
chroot ×2
permissions ×2
amazon-ec2 ×1
arch-linux ×1
ip ×1
iptables ×1
process ×1
pure-ftpd ×1
raspberry-pi ×1
services ×1
sftp ×1