Blu*_*rry 8 server ssh permissions sftp
我在 Ubuntu Server 14.04 上运行服务器。我想创建一个能够通过 sftp 连接的用户,下载 1 个文件并终止连接。用户不应该做任何其他事情。浏览系统文件或设置或命令行条目,什么都没有。登录,下载文件,gg。文件更新后,登录下载,gg。该文件每次都在同一目录中,并且每次都具有相同的名称但会更新。
编辑:我正在尝试实施您的解决方案,但我发现了一些问题:在我的配置上的 ssh 配置文件中,有一行带有“允许组 sshdusers”。我添加了 sftp_users。但前面还有另一个问题。sudo chown root.root /ubuntu/ 对我来说不是最佳选择,因为 root 无法 ssh 并将“ubuntu”必须下载的文件写入目录(我们将其称为 user1。我希望 user1 能够写入目录和 ubuntu 只读。如果我更改 sudo chown user1.user1 /ubuntu/ 并且我尝试与用户 ubuntu 进行 sftp 连接失败。如果我像你一样将其保留为 root,我可以连接,但我看不到currentdirectory 我在filezilla 上只看到/ 和empy。我什至将user1 添加到sftp_users,但仍然没有成功。
非常感谢
270*_*974 11
开始吧
创建用户 ubuntu
sudo useradd ubuntu
Run Code Online (Sandbox Code Playgroud)
制作密码
sudo passwd ubuntu
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Run Code Online (Sandbox Code Playgroud)
创建仅用于 SFTP 的组
xxx@xxx:~$ sudo groupadd sftp_users
Run Code Online (Sandbox Code Playgroud)
添加到仅 SFTP 组的用户“ubuntu”
xxx@xxx:~$ sudo usermod -G sftp_users ubuntu
Run Code Online (Sandbox Code Playgroud)
制作目录以供sftp访问
sudo mkdir /ubuntu
Run Code Online (Sandbox Code Playgroud)
更改所有者,因为读/写权限
sudo chown root.root /ubuntu/
Run Code Online (Sandbox Code Playgroud)
添加权限
sudo chmod 755 /ubuntu/
Run Code Online (Sandbox Code Playgroud)
编辑 /etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config
注释掉并添加如下一行
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Run Code Online (Sandbox Code Playgroud)
最后添加
Match Group sftp_users
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /ubuntu
ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)
重启ssh服务
sudo service ssh restart
Run Code Online (Sandbox Code Playgroud)
通过此配置,您可以通过 ssh 进入文件夹ubuntu并获取文件。不能put或delete
尝试。
编辑 1
要在右侧文件夹中进行 sftp 编辑/etc/passwd。更改用户的行ubuntu看起来像这样
sudo nano /etc/passwd
ubuntu:x:1001:1001::/ubuntu:
Run Code Online (Sandbox Code Playgroud)
这会将用户 ubuntu 主文件夹更改为您的 sftp 服务器文件夹。
启用
root帐户不是一个好主意。
您可以使用 SSH 连接到服务器user1。
如果您添加用户user1,sudoer group您将能够在文件夹中写入/ubuntu/并设置适当的权限
sudo adduser user1 sudo
Run Code Online (Sandbox Code Playgroud)
制作文件夹,写入文件夹ubuntu。操作后,您必须为 user 设置权限ubuntu。最简单的方法是再次将权限设置为 755
sudo chmod 755 -R /ubuntu/
Run Code Online (Sandbox Code Playgroud)
-R - 选项将为用户提供所有文件和目录的读取权限 ubuntu
| 归档时间: |
|
| 查看次数: |
49252 次 |
| 最近记录: |