树莓派进阶之路 (019) - 树莓派通过filezilla,samba与PC文件共享(转)
? ? ? ?雖然我們可以很方便的通過ssh譬如putty或者vnc連接操控樹莓派,但是畢竟樹莓派資源沒那么高,在上面編程,調試要吃力的多。所以還是想在pc上編程上傳到樹莓派或者最好,文件共享,可以直接讀寫共同的文件那就perfect!
一.filezilla
1,安裝vsftpd服務器 (約400KB)
sudo apt-get install vsftpd
2,啟動ftp服務
sudo service vsftpd start
3,編輯vsftdp的配置文件
sudo nano /etc/vsftpd.conf
找到以下行,定義一下
anonymous_enable=NO
表示:不允許匿名訪問
local_enable=YES??
設定本地用戶可以訪問。
write_enable=YES
設定可以進行寫操作
4, 重啟vsftpd服務
sudo service vsftpd restart
5, 測試一下, OK
通過ftp連接樹莓派系統,
ftp的根目錄是/home/pi,即pi用戶的HOME目錄
可上傳或下載文件了
如果安裝用過putty,用22端口連就可以了。
二.samba
??? samba 是在Linux和UNIX系統上實現SMB協議的一個免費軟件,通過他我們可以實現文件的共享。這是一個相當了不起的服務,功能很強大,值得好好研究。共享文件夾,打印之類都可以。甚至是linux-linux及linux-windows都沒問題。先說簡單應用,我們就想在樹莓派上建個文件夾,然后方便windows上面編程調試后在樹莓派只要運行就好了。
1.安裝 samba 和 samba-common-bin
????在命令行中輸入sudo apt-get install samba samba-common-bin。
2.配置/etc/samba/smb.conf文件
???在命令行中輸入?sudo vi /etc/samba/smb.conf。輸入shift+g將光標移到最后。在最后加上這些內容:
#===============================================
#global下的配置表示是全局配置
[global]
#網絡群組
workgroup = WORKGROUP
#日志相關配置
log file = /var/log/samba/log.%m
max log size = 1000
syslog =3
#驗證類型? user表示需要用戶登錄share表示可以匿名訪問
#security = user
security = share
#開啟密碼加密傳輸,建議開啟
encrypt passwords = true
#guest account = quanpower pi root
#驗證方式
passdb backend = tdbsam
#共享文件夾名字
[soft]
#共享路徑
path = /mnt/soft
#可瀏覽
browsealbe = yes
#可寫
writable = yes
create mask = 0777
directory mask = 0777
#=================================================
?
???保存后,重啟samba服務。輸入?/etc/init.d/samba restart?。接下來為共享添加用戶。輸入:
smbpasswd –a username,此處的用戶名必須是樹莓派里面的用戶名。
如果還有權限問題,看看是不是需要chown或者chmod
sudo chmod -R 777 /mnt
ok,上個圖
現在可以自由自在的寫代碼了,用sublime text,vim,pycharm隨你啦··
PS:今天買了個8g 的內存條,擴了一下到了12G,虛擬機隨便開,爽呼呼的。O(∩_∩)O哈哈~
-----------------------------------------------------------------------
以下從網上找的更詳細點的教程,大家參考:
?
以前我們在windows上共享文件的話,只需右擊要共享的文件夾然后選擇共享相關的選項設置即可。然而如何實現windows和linux的文件共享呢?這就涉及到了samba服務了,這個軟件配置起來也不難,使用也非常簡單。
?
【samba配置文件smb.conf】
一般你裝系統的時候會默認安裝samba,如果沒有安裝,只需要運行這個命令安裝(CentOS):
“yum install -y samba samba-client”
Samba的配置文件為/etc/samba/smb.conf,通過修改這個配置文件來完成我們的各種需求。打開這個配置文件,你會發現很多內容都用”#”或者”;”注視掉了。先看一下未被注釋掉的部分:
[global]
????????workgroup = MYGROUP
????????server string = Samba Server Version %v
????????security = user
????????passdb backend = tdbsam
????????load printers = yes
????????cups options = raw
[homes]
????????comment = Home Directories
????????browseable = no
????????writable = yes
[printers]
????????comment = All Printers
????????path = /var/spool/samba
????????browseable = no
????????guest ok = no
????????writable = no
????????printable = yes
主要有以上三個部分:[global], [homes], [printers]。
?
[global]?定義全局的配置,”workgroup”用來定義工作組,相信如果你安裝過windows的系統,你會對這個workgroup不陌生。一般情況下,需要我們把這里的”MYGROUP”改成”WORKGROUP”(windows默認的工作組名字)。
security = user #這里指定samba的安全等級。關于安全等級有四種:
share:用戶不需要賬戶及密碼即可登錄samba服務器
user:由提供服務的samba服務器負責檢查賬戶及密碼(默認)
server:檢查賬戶及密碼的工作由另一臺windows或samba服務器負責
domain:指定windows域控制服務器來驗證用戶的賬戶及密碼。
passdb backend = tdbsam??# passdb backend?(用戶后臺),samba有三種用戶后臺:smbpasswd, tdbsam和ldapsam.
smbpasswd:該方式是使用smb工具smbpasswd給系統用戶(真實用戶或者虛擬用戶)設置一個Samba?密碼,客戶端就用此密碼訪問Samba資源。smbpasswd在/etc/samba中,有時需要手工創建該文件。
tdbsam:使用數據庫文件創建用戶數據庫。數據庫文件叫passdb.tdb,在/etc/samba中。passdb.tdb用戶數據庫可使用smbpasswd?–a創建Samba用戶,要創建的Samba用戶必須先是系統用戶。也可使用pdbedit創建Samba賬戶。pdbedit參數很多,列出幾個主要的:
pdbedit?–a username:新建Samba賬戶。
pdbedit?–x username:刪除Samba賬戶。
pdbedit?–L:列出Samba用戶列表,讀取passdb.tdb數據庫文件。
pdbedit?–Lv:列出Samba用戶列表詳細信息。
pdbedit?–c?“[D]”?–u username:暫停該Samba用戶賬號。
pdbedit?–c?“[]”?–u username:恢復該Samba用戶賬號。
ldapsam:基于LDAP賬戶管理方式驗證用戶。首先要建立LDAP服務,設置“passdb backend = ldapsam:ldap://LDAP Server”
load printers?和?cups options?兩個參數用來設置打印機相關。
除了這些參數外,還有幾個參數需要你了解:
netbios name = MYSERVER??#?設置出現在“網上鄰居”中的主機名
hosts allow = 127.??192.168.12.??192.168.13. #?用來設置允許的主機,如果在前面加”;”則表示允許所有主機
log file = /var/log/samba/%m.log #定義samba的日志,這里的%m是上面的netbios name
max log size = 50 #?指定日志的最大容量,單位是K
?
[homes]?該部分內容共享用戶自己的家目錄,也就是說,當用戶登錄到samba服務器上時實際上是進入到了該用戶的家目錄,用戶登陸后,共享名不是homes而是用戶自己的標識符,對于單純的文件共享的環境來說,這部分可以注視掉。
?
[printers]?該部分內容設置打印機共享。
?
【samba實踐】
注意:在試驗之前,請先檢測selinux是否關閉,否則可能會試驗不成功。關于如何關閉selinux請查看第十五章linux系統日常管理的“linux的防火墻”部分
?
1.?共享一個目錄,任何人都可以訪問,即不用輸入密碼即可訪問,要求只讀。
打開samba的配置文件/etc/samba/smb.conf
[global]部分
把”MY GROUP”改成”WORKGROUP”
把”?security = user”?修改為?“security = share”
然后在文件的最末尾處加入以下內容:
[share]
????????comment = share all
????????path = /tmp/samba
????????browseable = yes
????????public = yes
????????writable = no
?
mkdir /tmp/samba
chmod 777 /tmp/samba
啟動samba服務
/etc/init.d/smb start
?
測試:
首先測試你配置的smb.conf是否正確,用下面的命令
testparm
如果沒有錯誤,則在你的windows機器上的瀏覽器中輸入?file://IP/share?看是否能訪問
?
2.?共享一個目錄,使用用戶名和密碼登錄后才可以訪問,要求可以讀寫
打開samba的配置文件/etc/samba/smb.conf
[global]?部分內容如下:
[global]
????????workgroup = WORKGROUP
????????server string = Samba Server Version %v
????????security = user
????????passdb backend = tdbsam
????????load printers = yes
????????cups options = raw
?
然后加入以下內容:
[myshare]
????????comment = share for users
????????path = /samba
????????browseable = yes
????????writable = yes
????????public = no
?
保存配置文件,創建目錄:
mkdir /samba
chmod 777 /samba
然后添加用戶。因為在[globa]中” passdb backend = tdbsam”,所以要使用” pdbedit”?來增加用戶,注意添加的用戶必須在系統中存在。
useradd??user1 user2
pdbedit -a user1??#?添加user1賬號,并定義其密碼
pdbedit -a user2
pdbedit -L #?列出所有的賬號
測試:
打開IE瀏覽器輸入file://IP/myshare/?然后輸入用戶名和密碼
?
3.?使用linux訪問samba服務器
Samba服務在linux下同樣可以訪問。前提是你的linux安裝了samba-client軟件包。安裝完后就可以使用smbclient命令了。
smbclient //IP/共享名??-U?用戶名?
如:[root@localhost]#?smbclient //10.0.4.67/myshare/ -U user1
Password:
Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.33-3.29.el5_6.2]
smb: \>
出現如上所示的界面。可以打一個”?”列出所有可以使用的命令。常用的有cd, ls, rm, pwd, tar, mkdir, chown, get, put等等,使用help +?命令可以打印該命令如何使用,其中get是下載,put是上傳。
另外的方式就是通過mount掛載了:
如:
mount -t cifs //10.0.4.67/myshare /mnt -o username=user1,password=123456
格式就是這樣,要指定-t cifs //IP/共享名?本地掛載點??-o后面跟username?和?password
掛載完后就可以像使用本地的目錄一樣使用共享的目錄了。
總結
以上是生活随笔為你收集整理的树莓派进阶之路 (019) - 树莓派通过filezilla,samba与PC文件共享(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python数据分析入门 -- Anac
- 下一篇: 大数据产业不只是建设数据中心