ubuntu远程访问sftp服务器_ubuntu 下搭建sftp服务器
1.首先安裝ssh服務
sudo apt-get install openssh-server
2.為sftp創建管理組
sudo addgroup sftp-users
3.創建SFTP用戶,并配置相應權限。這里第二行的意思是將alice從所有其他用戶組中移除并加入到sftp-users組,并且關閉其Shell訪問。如果想深入了解usermod命令,可以使用以下”man usermod”命令查看幫助文檔。
sudo adduser alice
sudo usermod -G sftp-users -s /bin/false alice
那天我誤將自己的賬號從自己組里移除了,連sudo權限都沒有了,后來用usermod -a -G caigan2015 caigan2015恢復自己組,用usermod -a -G sudo caigan2015恢復sudo權限
4.創建SSH用戶組,并把管理員加入到該組(注意usermod中的-a參數的意思是不從其他用戶組用移除)。
sudo addgroup ssh-users
sudo usermod -a -G ssh-users admin
【注:為用戶添加管理員權限命令為,sudo adduser admin sudo】
5.創建監獄目錄。其實這是為了安全起見來創建的目錄。該“監獄”目錄擁有以下權限:
1.超級管理root擁有所有權限
2.其他任何用戶都不能擁有寫入權限。
所以,為了讓sftp能上傳文件,必須在“監獄”根目錄下再創建一個普通用戶能夠寫入的共享文件目錄。為了便于管理員通過SFTP管理上傳的文件,我把這個共享文件目錄配置為:由root所有,允許sftp-users讀寫。這樣,管理員和SFTP用戶組成員就都能讀寫這個目錄了。
sudo mkdir /home/sftp_root/shared -p
sudo chown admin:sftp-users /home/sftp_root/shared
sudo chmod 770 /home/sftp_root/shared
*當然,目錄具體位置由自己設定,比如我是一個網站管理員 我就設置為
/var/www/html/*。
6.修改SSH配置文件。
sudo nano /etc/ssh/sshd_config
在sshd_config文件的最后,添加以下內容:
AllowGroups ssh-users sftp-users
Match Group sftp-users
ChrootDirectory /home/sftp_root
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp
這些內容的意思是:
只允許ssh-uers及sftp-users通過SSH訪問系統;
針對sftp-users用戶,額外增加一些設置:將“/home/sftp_root”設置為該組用戶的系統根目錄(因此它們將不能訪問該目錄之外的其他系統文件);禁止TCP Forwarding和X11 Forwarding;強制該組用戶僅僅使用SFTP。
如果需要進一步了解細節,可以使用“man sshd_config”命令。這樣設置之后,SSH用戶組可以訪問SSH,并且不受其他限制;而SFTP用戶組僅能使用SFTP進行訪問,而且被關進監獄目錄。
7.重啟系統以便使新配置生效。
sudo reboot now
8.察看服務是否啟動。
rivsidn@rivsidn-Dell:~$ service --status-all
[ + ] ssh
總結
以上是生活随笔為你收集整理的ubuntu远程访问sftp服务器_ubuntu 下搭建sftp服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java、python、数据分析精美简历
- 下一篇: 大数据面试知识点