linux--創建FTP,SFTP用戶並配置權限

#1.創建一個組,用於存放ftp用戶
groupadd sftp
#2.創建ftpuser用戶,並加入sftp組,/data/sftp/是自己建的目錄
useradd -d /data/sftp/ftpuser -g sftp ftpuser-s /sbin/nologin
#3設置密碼
echo ftpuser:'password' | chpasswd
#4設置密碼期限
chage -M 9999 ftpuser

登錄一下看,可以登錄了,但是發現也能訪問上層目錄,甚至根目錄,這不是我們希望的,修改一下配置文件讓其只能訪問自身目錄

vi /etc/vsftpd/vsftpd.conf

#如下設置
chroot_local_user=YES
chroot_list_enable=YES
#(default follows)
chroot_list_file=/etc/vsftpd/chroot_list
#另外,從2.3.5之後,vsftpd增強了安全檢查,如果用戶被限定在了其主目錄下,則該用戶的主目錄不能再具有寫權限了!如果檢查發現還有寫權限,就會報該錯誤。
#要修復這個錯誤,可以用命令chmod a-w /home/user去除用戶主目錄的寫權限,注意把目錄替換成你自己的。或者你可以在vsftpd的配置文件中增加下列項:
allow_writeable_chroot=YES

好了,這樣就只能訪問自身所屬目錄。

(注意是想讓訪問根目錄的用戶)
如果希望某個用戶可以訪問根目錄,把用戶名加入

/etc/vsftpd/chroot_list

不存在就創建這個文件,一行一個用戶名。

SFTP 配置方法

/etc/ssh/sshd_config

#註釋Subsystem	sftp	/usr/libexec/sftp-server
##Subsystem	sftp	/usr/libexec/sftp-server
#添加如下內容
Subsystem sftp internal-sftp

Match User ftptest#匹配用戶   
ChrootDirectory /data/ftptest# 限制用戶目錄  
ForceCommand    internal-sftp  
AllowTcpForwarding no  
X11Forwarding no 

注意:sftpd的上級目錄的所有者必須是root,用戶組可以不是root。權限必須小於755.

補充其他用戶配置的方法

#有登陸權限
useradd -d /data/test -s /bin/bash  -g bighead test
#創建用戶不設置家目錄
useradd -g bighead -s /sbin/nologin -M test
#設置用戶家目錄
usermod -d /data/test test
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章