centos

CentOS SFTP用户权限如何设置

小樊
42
2025-04-24 20:07:28
栏目: 智能运维

在CentOS系统中,SFTP用户权限的设置主要涉及到以下几个方面:

1. 用户账户和组

首先,确保你有一个专门用于SFTP的用户账户,并且该账户属于一个特定的组(通常是sftpusers)。

# 创建新用户
useradd -m sftpuser

# 设置用户密码
passwd sftpuser

# 创建一个组
groupadd sftpusers

# 将用户添加到组中
usermod -aG sftpusers sftpuser

2. 配置SSH和SFTP

编辑SSH配置文件/etc/ssh/sshd_config,确保以下配置项正确设置:

# 允许SFTP子系统
Subsystem sftp /usr/libexec/openssh/sftp-server

# 限制SFTP用户只能使用SFTP
Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

3. 设置Chroot目录

确保chroot目录的权限正确设置,以便SFTP用户只能访问自己的主目录。

# 创建chroot目录
mkdir -p /home/sftpuser/uploads

# 设置chroot目录的所有者和组
chown root:root /home/sftpuser/uploads
chmod 755 /home/sftpuser/uploads

# 将用户的家目录链接到chroot目录
ln -s /home/sftpuser/uploads /home/sftpuser

4. 设置文件和目录权限

确保SFTP用户对其主目录和上传目录有适当的读写权限。

# 设置用户主目录的权限
chmod 755 /home/sftpuser

# 设置上传目录的权限
chmod 755 /home/sftpuser/uploads
chown sftpuser:sftpuser /home/sftpuser/uploads

5. 重启SSH服务

最后,重启SSH服务以应用更改。

systemctl restart sshd

6. 测试SFTP连接

使用SFTP客户端连接到服务器,确保一切配置正确。

sftp sftpuser@your_server_ip

注意事项

通过以上步骤,你应该能够成功设置CentOS系统中的SFTP用户权限。

0
看了该问题的人还看了