Linux 下創建 sftp 用戶並限定目錄
1、創建 sftpUser 用戶組
[root@XXX ~]# groupadd sftpUser
2、創建 sftpUser 用戶並指定目錄
[root@XXX ~]# useradd -d /home/sftpUser -s /sbin/nologin -g sftpUser sftpUser
3、為新用戶添加密碼
[root@XXX ~]# passwd sftpUser
Changing password for user sftpUser.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
此時,可以使用ftp以sftp的方式進行登錄了。
用戶名為 sftpUser,密碼為上一步輸入的密碼。
以下操作限定訪問目錄。
4、開啟 telnet 服務(防止 ssh 出問題無法連接到服務器)
4.1 修改文件 /etc/xinetd.d/telnet
[root@XXX ~]# vi /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
disable = no #修改為no,意思是可以使用 telnet 服務
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
~
~
4.2 重啟服務
[root@XXX ~]# service xinetd restart
Stopping xinetd: [FAILED]
Starting xinetd: [ OK ]
4.3 測試是否可以以telnet方式登錄
5、修改sshd配置文件
5.1 備份文件
[root@XXX ~]# cd /etc/ssh
[root@XXX ssh]# cp -p sshd_config sshd_configbak
5.2 修改 sshd_config 文件
[root@XXX ssh]# vim sshd_config
在文件末尾插入如下內容:
Match User sftpUser # sftpUser為用戶名
ChrootDirectory /home/sftpUser # /home/sftpUser目錄為限定目錄
ForceCommand internal-sftp # 固定內容
PS:最好手敲內容,中文字符容易出錯。
5.3 重啟 ssh 服務
[root@XXX ssh]# service sshd restart
Stopping sshd:[ OK ]
Starting sshd:[ OK ]
6、創建目錄及管理
[root@XXX ssh]# cd /home/
[root@XXX home]# chown -R root:root ./sftpUser/
[root@XXX home]# chmod -R 755 ./sftpUser/
[root@XXX home]# cd sftpUser/
[root@XXX sftpUser]# mkdir fileStore
[root@XXX sftpUser]# chown sftpUser:sftpUser fileStore/
[root@XXX sftpUser]# chmod 777 fileStore/