有時候呢我們有一台本地的台式機或者雲服務器,我們想要搭個ftp服務器好讓我們在內網/外網中方便的傳輸、保存文件,這樣別的任何電腦啊,設備啊,只要訪問這個ftp的地址,就可以進行文件傳輸啦!由於我現在台式機子是實驗室里的,網絡是學院的網划分的虛擬子網,對外公網ip只有一個,所有實驗室內連接不同網線的電腦、設備的公網ip都是那一個,因此我只能暫時搭個內網ftp方便我傳輸文件。我的台式機子上裝的是ubuntu18系統。
搭建ftp采用的是vsftpd。網上很多教程,然而能用的沒有幾個。。。
https://m.linuxidc.com/Linux/2017-06/144807.htm
這個教程親測可行!不過后面不需要在cmd用ftp xxx.xxx.xxx.xxx 然后用get put來上傳下載,除非你沒有圖形界面。一般就直接在瀏覽器輸入ftp://xxx.xxx.xxx.xxx 然后就會讓你輸入用戶密碼,然后就能圖形化上傳和下載文件了。注意,要連接內網,也就是說在同一個網段才可以訪問!
配置好ftp之后呢會發現一個問題,打開台式機后,出現了兩個用戶!一個是你之前創建的用戶,還有一個是ftp要用的那個用戶。對於linux的理念來說,他是希望多用戶操作的,也就是說比如/home目錄下有一個user1目錄,還有一個ftpuser1目錄。你會發現你用ftpuser1登錄linux的時候,同樣能訪問到計算機內的所有東西!包括user1目錄下的文件!只不過不可寫罷了,權限應該是r-x 也就是可讀、不可寫、可執行。
這時候就需要修改目錄的權限,比如說我想要user1目錄只有這個目錄的擁有者(也就是user1)可讀可寫可執行,其他的用戶連讀都不能讀,那么就是700權限。權限代碼以及含義這篇博客寫的非常好:
https://blog.csdn.net/langzi7758521/article/details/51190425
不太懂linux命令的人可能很好氣,這個擁有者,權限,等等,怎么查看?上面博客寫了,ls -l或者ls -ld。那么出來的一串,每一個字符又啥意思呢??下面這篇博客有一個非常好的講解:
https://blog.csdn.net/xianjie0318/article/details/65444938?locationNum=2&fps=1
然后就完事了,直接輸入命令
sudo chmod 700 /home/user1
這個user1就是你當前的用戶。
至於當然了你如果是777權限,需要加一個 -R
sudo chmod -R 777 文件或文件夾名字
這樣就可以保證某個文件夾里面的所有文件夾、文件,都賦了777權限,因為我們用的是700權限,也就是其他用戶讀都不可讀,那么這個主文件都不可讀,里面的當然不可讀了,就不用-R了。