所以我在 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 来完成它?
我想允许传入的 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) 我正在尝试将文件从我的一台本地机器复制到远程机器。复制大小高达 1405 字节的文件可以正常工作。当我尝试 scp 一个更大的文件时,该文件被复制但 scp 进程挂起并且不退出。我必须按 Ctrl-C 才能返回 shell。
我也观察到了与 FTP 相同的行为。关于可能导致这种情况的任何想法?
使用任何 FTP 客户端(我在 Ubuntu 12.04 上尝试使用lftp
),我希望能够与 FTP 服务器建立隐式 TLS 连接,但我无法成功连接。我得到的只是:'ls' at 0 [Delaying before reconnect 29]
scp
在所有情况下都能很好地工作,但是 Raspberry Pi 在安全环境 (lan) 中有效复制文件的能力很弱。通过 54 Mbit 无线局域网的理论上可能的 6.75 MB/s 缩小到大约 1.1 MB/s。
有没有办法在不加密的情况下远程复制文件?
它应该是一个 cli 命令,不依赖于额外的服务(ftp、samba)或至少具有最少的配置。我的意思是,一个标准工具,开箱即用,与标准程序/服务(如 scp/ssh)配合得很好。
我正在尝试使用 curl 通过 FTP 将当前文件夹中的所有文本文件上传到服务器位置。我尝试了以下行:
curl -T "{file1.txt, file2.txt}" ftp://XXX --user YYY
Run Code Online (Sandbox Code Playgroud)
其中 XXX 是服务器的 IP 地址,YYY 是用户名和密码。
我能够成功地将 file1.txt 传输到服务器,但它抱怨第二个文件说“无法打开‘file_name’!”
我交换了文件名,它适用于 file2.txt 而不是 file1.txt。似乎我的语法错误,但这是手册上所说的?
此外,理想情况下,我将能够做这样的事情:
curl -T *.txt ftp://XXX --user YYY
Run Code Online (Sandbox Code Playgroud)
因为我不会总是知道当前文件夹中的 txt 文件的名称或要传输的文件数量。
我认为我可能必须编写一个 bash 脚本,将 的输出收集ls *.txt
到一个数组中并将其放入 curl 所需的多文件格式。
我以前没有写过 bash 脚本——这是实现这一目标的最简单方法吗?
我喜欢 linux,因为我可以控制我的系统。但我确实从 mac 学校开始,那里的东西简单、漂亮、强大。我喜欢这种方式,而不是有很多旋钮和杠杆之类的东西。
有没有人知道一个强大的 Linux FTP 客户端,它符合 Panic 的传输?
这是我在 Mac OS 中选择的 FTP 软件,但我怀疑我需要说服这里的任何人我不想在 OS X 中开发网络应用程序。这很痛苦,imo。
目前我使用 Filezilla。它工作正常。但它的用户界面一团糟,恕我直言。
将久经考验的 vsftpd 配置移动到带有 Fedora 16 的新服务器上,我遇到了问题。一切似乎都按预期进行,但用户身份验证失败。我在任何日志中都找不到任何表明发生了什么的条目。
这是完整的配置文件:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=0
data_connection_timeout=0
nopriv_user=ftpsecure
connect_from_port_20=YES
listen=YES
chroot_local_user=YES
chroot_list_enable=NO
ls_recurse_enable=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
Run Code Online (Sandbox Code Playgroud)
FTP 向我询问用户名和密码,我提供了它们,登录不正确。我已经验证,该用户可以从 ssh 登录。有些事情搞砸了pam_service
。
匿名(如果更改为允许)似乎运行良好。
SELinux 被禁用。
Ftpsecure 似乎配置得很好......我完全不知所措!
以下是我检查但没有成功的日志文件:
/var/log/messages
/var/log/xferlog #empty
/var/log/vsftpd.log #empty
/var/log/secure
Run Code Online (Sandbox Code Playgroud)
在 中找到了一些东西/var/log/audit/audit.log
:
type=USER_AUTH msg=audit(1335632253.332:18486): user pid=19528 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication acct="kate" exe="/usr/sbin/vsftpd" hostname=ip68-5-219-23.oc.oc.cox.net addr=68.5.219.23 terminal=ftp res=failed'
也许我应该看看/var/log/wtf-is-wrong.help
:-)
更多信息:
/etc/pam.d/vsftpd 看起来像这样:
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user …
Run Code Online (Sandbox Code Playgroud) ftp ×10
vsftpd ×3
chroot ×2
centos ×1
command-line ×1
curl ×1
ftps ×1
gnome ×1
iptables ×1
networking ×1
pam ×1
scp ×1
security ×1
shell-script ×1
smb ×1
software-rec ×1
ssh ×1
ssl ×1
ubuntu ×1