Linux和Windows文件共享(兩臺電腦如何共享文件夾)
Window對Linux文件內容進行操作,利用Linux samba服務,將Linux的文件設成共享文件,Window就可以以共享文件的方式來訪問Linux文件。
Samba服務器的工作原理是:客戶端向Samba服務器發起請求,請求訪問共享目錄,Samba服務器接收請求,查詢smb.conf文件,查看共享目錄是否存在,以及來訪者的訪問權限,如果來訪者具有相應的權限,則允許客戶端訪問,最后將訪問過程中系統的信息以及采集的用戶訪問行為信息存放在日志文件中。
Samba(SMB是其縮寫) 是一個網絡服務器,用于Linux和Windows共享文件。Samba 即可以用于Windows和Linux之間的共享文件,也一樣用于Linux和Linux之間的共享文件。
一、在進行設置之前,先介紹一下要用到的一些命令
1、Linux命令
(1)普通用戶(命令輸入提示符非“#”),進入root賬戶:su - root //需要輸入root密碼
(2)增加本地用戶:useradd <用戶名> //創建一個新用戶,并將這個用戶放到系統路徑下,一般/home/…
(3)刪除本地用戶:userdel -r <用戶名> //不可刪除正在使用的用戶,否則系統會重啟…
(4)顯示某文件下所有的文件夾和文件: ls <需要顯示的文件路徑>
(5)創建新的文件夾:mkdir //在某個路徑下創建文件夾
(6)刪除空文件夾:rmdir
(7)查詢到某個文件夾:cd //cd 后面為空,直接訪問到根目錄
(8)創建某個文件:touch /路徑/文件名
(9)編輯某個文件:gedit /路徑/文件名 //gedit打開的是文本文檔,可以用鼠標控制,個人比較喜歡,也可以使用vi/vim打開文件
2、Samba命令
(1)查看所有smb用戶:pdbedit -L
(2)增加smb用戶:smbpasswd -a <用戶名>
(3)刪除smb用戶:smbpasswd -x <用戶名>
(3)啟動Samba服務器:systemctl start smb
(4)重啟Samba服務器:systemctl restart smb
(5)關閉Samba服務器:systemctl stop smb
(6)改變文件夾屬性:chown 用戶.用戶
二、開始設置共享文件夾
1、Linux端
(1)登陸root賬戶
(2)查看是否已有Samba環境
以上是我的系統中Samba的配置情況,一般只要有這幾個安裝包存在就可以:
其他的都是一些依賴包,如果沒有是否影響接下來的設置,本人沒有驗證。
建議,可以先刪除現有的安裝包,具體參考(或者自行百度):https://blog.csdn.net/makang110/article/details/73770762
(3)安裝Samba服務器
# yum install -y samba samba-client //samba-client在本地掛在共享文件夾的時候需要使用
(4)安裝好后,可以再次查看安裝情況(一般沒問題)。并設置一下Samba啟動以及自動開機啟動服務
#systemctl start smb
#systemctl enable smb
Tips:需求案例:需要分配一個主文件夾Share,user1對其擁有全部權利,在Share文件夾下有一個文件夾use,user2對其擁有全部權限,現在需要user1能夠訪問use文件夾,而user2只能查看修改更新use,而不可以查看Share主文件夾中除use以外的文件夾以及文件。
(5)增加新用戶(也可以使用現有的用戶)
#useradd user1 /home/ //在home路徑下增加新用戶user1
#useradd user2 /home/
(6)把新增的用戶加入Samba用戶數據庫中
#smbpasswd -a user1
#New SMB password:
#Retype new SMBpassword:
#Added user user1.
#smbpasswd -a user2
#New SMB password:
#Retype new SMBpassword:
#Added user user2.
(7)創建文件路徑
#mkdir /home/public/Share
#mkdir /home/public/Share/use
(8)更改文件的屬性
#chown user1.user1 /home/public/Share
#chown user2.user2 /home/public/Share/use
(9)配置Samba主文件 smb.conf
#gedit /etc/samba/smb.conf
找到[global],這里設置全局變量,找到相對應的語句,進行修改(沒有就添加)即可:
workgroup = WORKGROUP
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
找到[homes],這地方主要是分享自己的用戶文件夾,也就是剛剛創建的user1、user2,這樣會存在不安全,建議直接把這一塊全部刪掉(如果沒有特殊需求)。
最后,在最后,創建[Share]共享主文件夾:
[Share]
comment = This is a directory of Share.
path = /home/public/Share
public = no
admin users =user1
valid users = user1 //這里是用戶user1,也可以是用戶組@user1(用戶組=一個管理員+若干個普通用戶,管理員具有全部權限,普通用戶具有部分權限。用戶組的創建自行百度)
writable = yes
create mask = 0750 //這是文件操作權限,自行百度
directory mask = 0750
[use]
comment = This is a directory of use.
path = /home/public/Share/use
public = no
admin users =user2
valid users = user2,user1
writable = yes
create mask = 0750
directory mask = 0750
(10)設置好后,直接保存,關掉文本界面。重啟Samba系統
#systemctl restart smb
2、Windows端
Linux端設置好后,就可以設置Windows端。實現文件共享的前提是,兩個系統在同一個網絡下才可以,即ip地址的前三位相同。
(1)上述ip是Linux系統網絡的ip地址,查看方式如下:
抹掉的第一段就是ip地址。
同樣Windows下,Win+R,輸入cmd命令,進入命令行界面,輸入:ipconfig (與Linux不一樣,注意!!!),查看ip地址即可。
(2)直接Win+R,彈出命令行窗口,輸入:\\172.21.166.123,訪問共享文件。
可以看到由這個ip共享出來的全部文件夾,點擊文件夾,需要輸入賬號密碼,即前面加入Samba用戶時創建的用戶密碼,Share文件夾只能user1訪問,而use文件夾,兩個用戶均可訪問。
(3)映射系統盤
為了方便,可以將共享的文件夾映射到Windows系統盤,右擊我的電腦——>映射網絡驅動器
在出來的界面中輸入有權訪問的共享文件的位置即可,例如:\\172.21.166.123\Share