我在互联网上发现了这个,同时在 FreeBSD 中建立了一个 FTP 服务器。
将 nologin 放入 /etc/shells 可能会创建一个后门,这些帐户可以通过该后门与 FTP 一起使用。
(见:http : //osdir.com/ml/freebsd-questions/2005-12/msg02392.html)
谁能解释一下这是为什么?为什么复制 nologin 并将其放入 /etc/shells 可以解决此问题?
我在我的 VPS 上设置了 vsftpd,我不希望用户被允许离开他们的 ftp 主目录。我使用的是 local_user ftp,而不是匿名的,所以我补充说:
chroot_local_user=是
我在很多论坛帖子中都读过,这是不安全的。
我正在使用 Windows FTP 客户端连接到我的 Linux 机器。但是我没有看到任何更改 FTP 用户密码的命令。我怎样才能做到这一点?
我正在尝试在 Windows 2008 Server 上设置 FTP 服务器。我可以在本地连接:
C:\>ftp localhost
Connected to WebHead1
220 Microsoft FTP Service
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试从远程连接时,它不起作用:
~>ftp x.x.x.x
ftp: Can't connect to `x.x.x.x': Operation timed out
ftp: Can't connect to `x.x.x.x'
Run Code Online (Sandbox Code Playgroud)
我已经尝试了所有我能想到的设置。FTP 服务器绑定到所有未分配的 IP 并侦听端口 21。我还在防火墙设置中检查了“FTP 服务器”。FTP 日志文件中没有任何内容。我完全没有想法!
在尝试为 vsftpd 创建新的 FTP 用户时,我偶然发现了这个问题。使用以下命令创建新用户并尝试使用 FileZilla 登录后,我会收到“密码不正确”错误。
useradd f -p pass -d /home/f -s /bin/false
Run Code Online (Sandbox Code Playgroud)
这样做之后,/etc/shadow包含
f:pass:1111:0:99:2:::
Run Code Online (Sandbox Code Playgroud)
一旦我运行以下命令并提供相同的通行证
passwd f
Run Code Online (Sandbox Code Playgroud)
/etc/shadow包含
f:$1$U1c5vVwg$x5TVDDDmhi0a7RWFer6Jn1:1111:0:99:2:::
Run Code Online (Sandbox Code Playgroud)
似乎在我运行passwd时会发生加密,但不会在useradd 时发生
重要的是,在执行此操作后,我可以使用完全相同的凭据登录到 FTP。
我使用 CentOS 5.11,vsftpd 用于 FTP,FileZilla 用于 FTP 访问
/var/log/secure包含:
Dec 17 useradd[644]: new group: name=f, GID=511
Dec 17 useradd[644]: new user: name=f, UID=511, GID=511, home=/home/f, shell=/bin/false
Run Code Online (Sandbox Code Playgroud)
为什么当我传递-p pass给 useradd时它不起作用?我需要做什么才能让它发挥作用?
我在 Windows 7 上设置 FTP 服务器时遇到问题。
我已经使用控制面板 -> 程序 -> 打开和关闭 Windows 功能添加了该服务。
我可以在控制面板 -> 服务中看到该服务已启动。
但是,当我启动 Windows 命令行窗口时cmd,我未连接。,
C:\Users\mattf>ftp localhost
ftp> ls
Not connected.
ftp> open localhost
ftp> ls
Not connected.
ftp> dir
Not connected.
ftp> quit
C:\Users\mattf>
Run Code Online (Sandbox Code Playgroud)
这就是我所拥有的。我不知道为什么这不起作用 - 可能是防火墙设置吗?
我想设置 FTP 服务器以只允许某些用户,所以使用 vsftpd,我添加vsftpd.conf:
local_enable=YES
user_config_dir=/etc/vsftpd_user_conf
Run Code Online (Sandbox Code Playgroud)
在/etc/vsftpd_user_conf为UNIX用户foo在一个文件foo我设置:
local_root=/home/foo/ftpdir
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
virtual_use_local_privs=YES
local_umask=022
Run Code Online (Sandbox Code Playgroud)
...然后我启动了 vsftpd。我可以使用用户 foo 登录到 FTP。不过我也可以用其他unix用户!如何禁用其他 unix 用户?
可能重复:
Linux 目录权限
我正在与一些第三方开发人员合作,我想授予 SFTP(或 FTP)访问他们正在处理的网站的根文件夹的权限,'/var/www/html/website_abc'以便他们可以将文件上传到那里。请注意,我在同一个 EC2 实例上托管我的其他网站,例如'/var/www/html/website_xyz'.
只是为了强调我在 1 个 EC2 实例上使用多个网站,网站的结构如下:
/var/www/html/
/var/www/html/website_abc
...
/var/www/html/website_xyz
我的目标如下:
我已经进行了搜索,但大多数人都在谈论如何通过 SFTP 访问 EC2,而我已经能够使用 WinSCP。
说明:
/var/www/html/website_abc具有“写”权限的内容/var/www/html/,理想情况下甚至没有“读”权限/var/www/html/已经拥有权限 777,因为这是我的 DocumentRoot 文件夹。那么,如何阻止“adeveloper”访问我的其他网站?部分解决 了我使用 OpenSSH 设法实现了我的目标(我在 /var/www/html/website_abc/ 中创建了 .ssh 文件夹并生成私钥并将其提供给第三方开发人员)。我还了解到我永远不应该提供 AWS 给我的私有密钥文件。仍在学习 chroot。
当文件通过 SSH 传输正常时,为什么要考虑在服务器上设置 FTP 服务(在 Lunux 上使用 Midnight Commander,在 Windows 客户端上使用 FileZilla)?两者的优缺点是什么?除此之外,不同的客户端更广泛地支持 tat FTP。
我正在 Windows 2008 服务器 (R2) 上设置 FTP 服务器。
一切似乎都安装正确,但我在使用 FTP 客户端登录到我的 FTP 服务器时遇到问题。
我可以远程桌面到服务器,通过 DOS 命令我可以很容易地登录。
但是,如果我发出“DIR”之类的命令,它会挂起: 150 Opening ASCII mode data connection。
我研究和阅读的所有内容都指向防火墙端口和/或被动/主动模式设置。
这就是困扰我的地方...如果我使用 DOS FTP 命令,只有当我使用“localhost”作为我的地址时,我才能登录并使用“DIR”命令。
如果我指定了完整的 FTP URL,则会出现挂起错误。
如果我指定“localhost”URL,则不会收到错误消息。
这让我相信它是防火墙问题(甚至是 IIS7 问题?)但我不确定我需要打开哪些端口?
我在 Windows 防火墙上打开了端口 20、21。我还在我的 AWS (Amazon) 防火墙上打开了这些端口。
我相信我的 FTP 客户端正在使用一些可能被我的两个防火墙之一阻止的远程端口号。我使用网络监控工具尝试查看它调用的端口,但我无法弄清楚。
任何想法,提示,技巧,帮助?