Articles of SFTP

如何完全控制umask / PAM /权限?

//更新2月8日 – 突出问题简述: 如何umask目录不同于文件? 如何掩饰鹦鹉螺复制/粘贴? 如何为SSHFS设置umask? 我们的情况 我们公司的几个人login到服务器并上传文件。 他们都需要能够上传和覆盖相同的文件。 他们有不同的用户名,但都是同一组的一部分。 但是,这是一个互联网服务器,所以“其他”用户应该(一般来说)只读访问。 所以我想要的是这些标准的权限: 文件:664 目录:771 我的目标是所有用户不需要担心权限。 服务器的configuration方式应使这些权限适用于新创build,复制或覆盖的所有文件和目录。 只有当我们需要一些特殊的权限,我们会手动改变这一点。 我们通过Nautilus中的SFTP将file upload到服务器,通过使用sshfs挂载服务器并在Nautilus中像访问本地文件夹一样访问它,并通过命令行中的SCP进行访问。 这基本上涵盖了我们的情况和我们的目标。 现在,我读了许多关于美丽的umaskfunction的东西。 从我所了解的umask(和PAM一起) 应该让我做到我想要的:为新的文件和目录设置标准的权限。 但是,经过了许多个小时的阅读和反复试验,我仍然没有得到这个工作。 我得到许多意想不到的结果 我真的很想搞好umask,还有很多问题没有答案。 我将在下面发表这些问题,以及我的调查结果和对导致这些问题的试验的解释。 鉴于很多事情似乎出了问题,我认为我做了几件事情是错误的。 因此,有很多问题。 注:我使用的是Ubuntu 9.10,因此无法更改sshd_config以设置SFTP服务器的umask。 已安装SSH OpenSSH_5.1p1 Debian-6ubuntu2 <必需OpenSSH 5.4p1。 所以在这里去回答问题。 1.我是否需要重新启动PAM CHANGS才能生效? 我们先从这个开始。 有太多的文件涉及,我无法弄清楚什么是什么,什么不影响事情,也因为我不知道是否必须重新启动整个系统PAM更改才能生效。 在没有看到预期的结果之后,我确实这样做了,但这真的有必要吗? 或者我可以从服务器注销并重新login,并且新的PAM策略是否有效? 还是有一些“PAM”程序来重新加载? 2.是否有一个单一的文件改变,影响所有会议的所有用户? 所以我最终改变了许多文件,因为我读了很多不同的东西。 我结束了在以下文件中设置umask: ~/.profile -> umask=0002 ~/.bashrc -> umask=0002 /etc/profile -> […]

限制Docker容器的networking访问

我正在创build一个仅适用于SFTP的Docker容器,一个供多人使用的容器,用于在他们自己的chroot ed环境中上传和pipe理文件。 在纸上,这是非常安全的:我将禁用每一种forms的bashlogin,我不会在其中运行任何其他进程。 不过,我想稍微加强一点: 我想阻止这个容器从内部访问互联网,除了它是一个SFTP服务器的目的。 为了清楚起见:我知道如何防止外部世界访问我的容器 – 我可以设置传入的iptables规则,并且我只能在我的docker run命令中公开SFTP端口。 不过,我想使下面的命令(作为一个例子)在容器内运行时失败: curl google.com 我的意图是减less被黑客入侵的容器可以做的事情(不能用来发送垃圾邮件等)。

OpenSSH SFTP服务器在put命令(chrooted环境)后使用umask还是保留客户端权限?

我知道这个问题已经讨论过了,但是通过阅读post,我找不到答案,因为有些人说“是的,umask可以工作”,还有人说“OpenSSH put命令总是保留权限” 以前只是为了精确: 我在RHEL 6.2上使用OpenSSH 5.9 我已经使用internal-sftp子系统configuration了一个chroot的SFTP服务器,使用-u 0002作为umask 我确切地说我不使用-p或-P选项 从我读过的一方面来说:有许多方法可以为SFTP传输定义umask: 从OpenSSH 5.4开始,selectinternal-sftp (或者sftp-server )的-u选项 创build一个封装到sftp-server (我们明确地设置了Umask – 这不适合chrooted环境BTW) 在pam.d/sshd文件中添加一个特定的configuration 另一方面,我读到: OpenSSH SFTP客户端和服务器确实传输权限(作为扩展名),并在本地创build具有权限的远程文件。 AFAICT,没有办法禁用这种行为。 所以我做了以下testing: 在我的客户端上,我创build了具有权限600和700的文件MYFILE和目录MYDIR 。 然后用sftp命令: mkdir => the new directory has permissions following the umask (OK) put MYFILE => MYFILE has same permissions as on client (KO) put -r MYDIR => MYDIR has […]

如何为某些用户禁用sftp,但保持ssh启用?

我的项目需要我为某些用户禁用sftp,但这些用户仍然需要通过ssh进行连接。 有谁知道如何实现这个? 我看到了在/etc/ssh/sshd_config更改文件的build议,但是我不确定要更改什么。

我可以configurationVSFTPD只听本地主机?

我有一个传统的应用程序,需要FTP,不能做SFTP。 我的解决scheme是: 使用VSFTPD放置一个FTP服务器 将防火墙configuration为仅接受来自本地主机的端口21连接 使用旧应用程序从客户端build立SSH连接 通过SSH隧道FTP 我想知道,如果我可以configurationVSFTPD忽略来自任何地方的连接,除了防火墙本身,本身。 腰带和护腕两者。

RSYNC如何执行增量备份

rsync如何知道哪些文件被更改,哪些不是? 它是否在文件的任何地方logging数据? 因为我想要做增量备份,但首先它会传输所有文件。 所以我的主要问题是:如果我通过FTP上传初始文件,而不是通过rsync 。 rsync仍然会跳过那些现有的文件,或者它会在第一次运行时上传所有的文件。

如何设置sftp用户使用密码login到EC2 ubuntu服务器?

我有一个在EC2实例上运行的Ubuntu服务器。 要login到该服务器,我使用没有任何密码的证书文件。 我已经安装并configuration了vsftpd并创build了一个用户(我们称他为“testuser”),为此我设置了一个/ bin / false sshterminal,这样他就只能通过sftp连接上传/访问他家的文件目录。 但是 – 当我尝试从我的电脑连接到服务器,运行 sftp testuser@my-ec2-server 我明白了 权限被拒绝(publickey)。 连接closures 消息,所以我无法login。 我怎样才能删除这个用户的证书要求(也就是说,“Ubuntu的”用户仍然必须使用证书文件通过SSHlogin),所以普通的sftp客户端将能够使用用户名和密码连接? 谢谢。 PS在微型实例上使用Ubuntu Server 10.10的官方AMI,来自规范的64位。

SSH到计算机,然后将SSH连接到另一台计算机

可能重复: 如何通过SSH隧道为SSH连接configuration快捷方式 我有一个情况,我想从我的工作站的SSH / SFTP访问不能直接从我的工作站访问的服务器。 我有ssh访问networking上的计算机,然后可以SSH到有问题的服务器。 我怎样才能做到这一点?

保护安全的SFTP服务器的文件系统

这可能不是一个发展问题,但实质上是这样。 让我解释一下。 我们主要的发展重点是dynamic内容页面。 我们的一些客户要求我们在我们的服务器(他们支付的)中为他们的旧静态内容提供空间。 我们使用通过给客户一个ftp帐户到不同的域来实现这一点。 (例如,客户域是customer.com,但他们通过otherdomain.com/customerstatic访问其静态内容)。 现在我们想要增加客户在他们的linux服务器上的sftp账户的安全性。 我在他们的shell环境中使用openssh / sftp-server,所以他们无法login或执行命令。 问题是从本质上来说,许多文件系统文件是默认的(drwxr-xr-x),这意味着任何用户将能够读取目录的内容以及可能的一些文件。 我不认为将整个文件系统更改为-rwxr-x-x是一个明智之举,因为我不知道有多less系统文件需要该读取权限。 过去有人遇到这个问题。 如果你有,你可以开导一下吗? 谢谢

你怎么能用sftp做一个class轮在同一行上用密码login?

有没有一个选项把密码放在线上以及SFTP? linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/ 喜欢这个 linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/ -p PASSWORD?