117.info
人生若只如初见

centos sftp共享文件夹设置

在CentOS系统中设置SFTP共享文件夹,可以按照以下步骤进行:

1. 安装必要的软件包

首先,确保你的系统已经安装了openssh-servervsftpd(如果需要使用vsftpd作为FTP服务器)。你可以使用以下命令来安装它们:

sudo yum install openssh-server vsftpd

2. 配置SSH服务器

编辑SSH配置文件/etc/ssh/sshd_config,确保以下配置项存在并且没有被注释掉:

Subsystem sftp internal-sftp

然后重启SSH服务以应用更改:

sudo systemctl restart sshd

3. 创建SFTP用户

创建一个专门用于SFTP的用户,并设置其主目录和权限。例如:

sudo adduser sftpuser
sudo passwd sftpuser

按照提示设置密码。

4. 配置SFTP用户的主目录

编辑用户的shell配置文件/etc/passwd,将用户的shell改为/sbin/nologin/bin/false,以防止用户通过SSH登录:

sftpuser:x:1001:1001::/home/sftpuser:/sbin/nologin

5. 设置SFTP用户的主目录权限

确保SFTP用户的主目录及其子目录的权限设置正确,以便SFTP服务器可以访问:

sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser

6. 创建共享文件夹

创建一个共享文件夹,并设置适当的权限:

sudo mkdir /home/sftpuser/shared
sudo chown sftpuser:sftpuser /home/sftpuser/shared
sudo chmod 755 /home/sftpuser/shared

7. 配置SELinux(如果启用)

如果你的系统启用了SELinux,可能需要调整SELinux策略以允许SFTP访问共享文件夹。你可以使用以下命令来临时禁用SELinux进行测试:

sudo setenforce 0

或者,你可以创建一个SELinux策略模块来允许SFTP访问共享文件夹:

sudo ausearch -c 'sftp' --raw | audit2allow -M my-sftp
sudo semodule -i my-sftp.pp

8. 测试SFTP连接

使用SFTP客户端连接到服务器,测试是否可以访问共享文件夹:

sftp sftpuser@your_server_ip

输入密码后,你应该能够看到共享文件夹/home/sftpuser/shared

9. 配置防火墙(如果需要)

确保防火墙允许SFTP连接(默认端口22):

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

完成以上步骤后,你应该能够在CentOS系统上成功设置SFTP共享文件夹。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe19bAzsNAAdSBFI.html

推荐文章

  • CentOS C++库文件怎么管理

    在CentOS系统中管理C++库文件可以通过以下几种方式进行:
    1. 手动编译和链接 编写库文件:首先,你需要编写库的源代码文件(如 libHelloWorld.cpp),并确保...

  • centos cpustat怎样实现CPU负载均衡

    在CentOS系统中,cpustat是sysstat包中的一个工具,用于显示CPU的使用情况。然而,cpustat本身并不直接提供CPU负载均衡的功能。它主要用于监控和报告CPU的使用情...

  • 如何在centos上部署laravel应用

    在CentOS上部署Laravel应用涉及几个步骤,包括安装必要的软件、配置Web服务器、设置数据库等。以下是一个基本的指南:
    1. 安装必要的软件
    首先,确保你...

  • centos exploit如何进行漏洞扫描

    在CentOS系统上进行漏洞扫描,您可以使用多种工具和方法。以下是一些常用的工具和步骤:
    开源工具 OpenVAS:一个强大的开源漏洞扫描器,可以通过yum命令在C...

  • centos系统如何备份jellyfin数据

    Jellyfin本身是一个开源的媒体服务器软件,通常用于在本地网络中提供媒体流服务。它并不直接提供备份功能,但你可以通过以下步骤来备份Jellyfin的数据:
    备...

  • Ubuntu AppImage更新频率是多少

    AppImage 是一种先进的 Linux 软件打包方式,旨在让 Linux 软件可以在任何地方运行。然而,关于 AppImage 的更新频率,并没有一个固定的标准或官方声明。AppImag...

  • Ubuntu Oracle高可用性解决方案有哪些

    在Ubuntu上实现Oracle数据库的高可用性,通常涉及以下几个关键技术和解决方案: Real Application Clusters (RAC): 概述:RAC允许多个Oracle实例在同一台或多台...

  • 在Debian上安装Kubernetes需要哪些准备

    在Debian上安装Kubernetes需要以下准备:
    硬件要求 内存:至少2 GB RAM。
    处理器:双核处理器或更高。
    磁盘空间:至少20 GB可用磁盘空间。 软件要...