Linux 與 Linux Windows 檔案共享
前提說明:
windows主機資訊:192.168.1.100 帳号:abc 密碼:123 共享檔案夾:share
linux主機資訊:192.168.1.200 帳号:def 密碼:456 共享檔案夾:/home/def/share
由于暫時還不會防火牆和SELINUX配置,而下面有些方法中的操作會受到他們的限制,是以先關閉這倆。
關閉防火牆的指令:service iptables stop
關閉SELINUX指令:setenforce 0
一、實作linux和windows之間的檔案夾共享
方向:windows通路linux
方法1:使用第三方軟體
1、修改配置檔案:vi /etc/ssh/sshd_config,主要是把Port這個參數解除注釋,其他參數可以根據情況自己修改。
2、重新開機ssh服務:service sshd restart
3、在windows下安裝SSH Secure SHELL,安裝成功後有個子程式SSH Secure File Transfer Client,打開後輸入:
hostname:192.168.1.200(如果有DNS服務,可以寫成linux主機名)
port:22(預設值,可以修改成其他值)
username:abc(也可以是linux下其他帳号)
password:123
連接配接成功後就可以在windows下向linux上傳和下載下傳檔案了
方法2:SAMBA共享
1、安裝samba:可以先檢查下是否已經安裝:rpm -qa | grep samba,沒有的話自己安裝下,這裡介紹下基于RPM包的一種線上安裝模式yum
yum是一種快速安裝模式,它會自動解決軟體安裝時的依賴問題并自動去特定的伺服器下載下傳相應的軟體進行安裝,指令十分簡單:yum install samba,快捷友善的背後離不開程式員的辛苦啊!
2、建立共享檔案夾,這裡就是mkdir -m 777 /home/def/share
3、修改/etc/samba/smb.conf,這裡面的參數就比較多,主要是
workgroup = WORKGROUP(這個就是windows工作組模式,還有一種是域模式)
hosts allow = 192.168.1.100(可以放問的IP位址,這裡寫的時windows位址)
然後在檔案的結尾加上
[public](共享名,就是windows通路時會顯示的名稱)
comment = Public Stuff(注釋)
path = /home/def/share(共享名)
public = yes(公開)
writable = yes(可寫)
當然這裡隻是些基礎的參數,還有其他的參數根據情況設定,比如會出現亂碼,還要指定編碼格式。
4、重新開機smb服務:service smb restart
5、建立samba客戶:smbpasswd -a def,回車後會提示輸入密碼。這個就是将來遠端主機登入時需要的密碼,這裡的def帳号必須時系統已經有的
帳号,沒有的話會報錯,然後新輸的密碼就是遠端登入密碼,這樣做的好處就是自己的密碼和遠端登入的密碼分開。
6、windows下連接配接,啟動運作,輸入\\192.168.1.200,輸入smb帳号密碼就可以了
方向:linux通路windows
方法一:挂載共享檔案夾
在linux下執行 mount -o username=abc //192.168.1.100/share /mnt/share,回車後要求輸入密碼,就是windows密碼123
老實說這種方法是很好了解的,挂載指令嘛,最簡單的文法。但卻是讓我困惑最深的,因為linux下的分區格式是ext2\3\4,而windows一般使用NTFS格式,這是linux不能識别的,而這裡竟然可以挂載,而且還能讀出其中的檔案。真是太匪夷所思了。
三、實作linux之間的檔案夾共享
方法一:挂載
1、在A機上建立共享檔案夾:mkdir -m 777 /home/share
2、修改/etc/exports檔案,添加一條 /home/share *(rw),這條中/home/share指定了共享位置,*代表所有主機,也可以單獨寫IP位址,rw是可讀寫
3、重新開機nfs服務:service nfs restart
4、在B機上挂載:mount -t nfs 192.168.1.100:/home/share /mnt/share,回車輸入帳号密碼就可以了
5、最後就是在B機上驗證下是否挂載成功,指令:df
方法二:使用SCP指令傳輸
很簡單的操作 scp /home/share(源) 192.168.1.200:/home/share(目的),回車後要輸入密碼,具體詳見man scp