溫馨提示×

如何在Debian SFTP中禁用某些命令

小樊
49
2025-07-21 05:37:48
欄目: 智能運維

在Debian系統中,SFTP服務器通常是通過OpenSSH提供的

  1. 打開SSH配置文件:

使用文本編輯器打開/etc/ssh/sshd_config文件。例如,你可以使用nano編輯器:

sudo nano /etc/ssh/sshd_config
  1. 修改或添加以下行:

sshd_config文件中,找到或添加以下行:

Subsystem sftp internal-sftp
Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

這里,我們創建了一個名為sftpusers的新組,并將所有SFTP用戶添加到此組。我們還限制了這些用戶的chroot環境,禁止TCP和X11轉發。

  1. 創建一個新組并添加SFTP用戶:

創建一個名為sftpusers的新組,并將需要限制SFTP命令的用戶添加到此組。例如,如果你想將用戶username添加到此組,請執行以下命令:

sudo groupadd sftpusers
sudo usermod -aG sftpusers username
  1. 更改用戶的默認shell:

為了使更改生效,需要將用戶的默認shell更改為/bin/false/usr/sbin/nologin。這將阻止用戶通過SSH登錄,但仍然允許他們使用SFTP。要將用戶username的默認shell更改為/bin/false,請執行以下命令:

sudo usermod -s /bin/false username
  1. 重啟SSH服務:

保存對sshd_config文件的更改,并重啟SSH服務以使更改生效:

sudo systemctl restart ssh

現在,SFTP用戶將受到限制,只能使用允許的命令。如果需要允許特定命令,可以考慮使用command=選項在sshd_config文件中為特定用戶或組設置允許的命令。例如:

Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp,ls,cat

這將允許sftpusers組的用戶使用lscat命令。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女