Samba服務 桑巴Smb是基於cs架構
作用:用於跨平台進行文件共享
優點:兼容性好,較為安全(具備身份驗證)
缺點:僅限內網環境使用
應用:一般在辦公環境下使用
rz 也是一種可以在Windows和Linux操作系統之間進行文件共享的命令,只不過傳輸文件較小。
一、實現單用戶共享文件
步驟:
1、安裝
# yum -y install samba
2、配置(愛配不配)(默認可用,不需要配置)
# vim /etc/samba/smb.conf
3、啟動
第一次啟動# systemctl start smb
修改配置文件后重啟服務# systemctl restart smb
3.5、添加用戶
useradd USERNAME
smbpasswd -a USERNAME
4.1、windows訪問
win+R打開運行窗口,輸入兩個反斜線加上samba服務器的地址。輸入你的用戶名和密碼即可
4.2、掛載(Linux系統之間)
# mount -t cifs -o username=USERNAME,password=PASSWORD //ServerIP/ShareDIR /LocalDIR
5、測試
在Windows系統下刪除遠程連接:
net use * /delete
擴展:
如需實現開機自動掛載,需要修改/etc/fstab並添加:
//ServerIP/ShareDIR/MountDIRcifsusername=USERNAME,password=PASSWORD00
二、實現多用戶共享文件
1、配置相關的配置文件
# yum /etc/samba/smb.conf
配置文件內容:
[nidaye] #文件共享;訪問用戶看到的目錄名稱
comment = abcdef #共享目錄描述,可以隨意填寫
path = /nimei #共享目錄(本機實際目錄名稱)路徑,需要絕對路徑
write list = a b c d #可寫入的用戶名單,多個用戶使用空格隔開
read only = yes/no #是否只讀
writeable = yes/no #是否可寫
valid users = A B C D #可訪問的用戶,多個用戶使用空格隔開
browseable = yes/no #(瀏覽,閱讀)是否可顯
directory mask = 0775 #創建目錄默認權限
create mask = 0664 #創建文件默認權限
guest ok = yes/no #是否(不)需要二次驗證(yes為不需要)
public = yes/no #是否(不)需要二次驗證(yes為不需要)
2、smbclient可以查看USERNAME的所共享的目錄或文件
smbclient -U USERNAME -L 服務端IP地址
--user --list
三、創建Samba服務的第二種方法
1、下載安裝
2、修改配置文件
vim /etc/samba/smb.conf
systemctl restart smb
4、創建普通用戶及Samba用戶
useradd ryz
pdbedit -a -u ryz
-a -create 創建Samba用戶
-u -user=USER 使用已有的用戶名
5、給共享文件的其他人增加讀寫權限
chmod -R a+w /ren
6、在Windows系統查看共享文件
按下win+R進入運行界面,輸入:\\192.168.11.3
7、映射網絡驅動器
在windows系統中進入Samba共享文件夾后,右擊文件夾,選擇“映射網絡驅動器”,確定;這樣的話,就可以在“我的電腦”下的“網絡位置”找到該共享目錄,以后訪問的話就不用在運行界面輸入相關命令了。
遇到的問題:
1、掛載時遇到以下問題導致掛載不上
mount: 無法以只讀方式掛載 //192.168.11.3/ryz
2、解決辦法:
# mount -o remount,rw /
可以參考mount相關知識:
mount 命令 [-t 文件系統] [-L 卷標名] [-o 特殊選項] 設備文件名 掛載點
-l 查詢系統中已經掛載的設備,-l 會顯示卷標
-a 依據配置文件/etc/fstab的內容,自動掛載
-t 系統文件,加入系統類型指定掛載類型,可以ext3,ext4, iso9660等系統文件
-L 卷標名:掛載指定分區,而不是設備文件名掛載
-o 特殊選擇:可以指定掛載額外選項
atime/noatime 更新訪問時間/不更新訪問時間。訪問分區時,是否更新文件的訪問時間,默認更新
async/sync 異步/同步 默認異步
auto/noauto 自動/手動 mount -a命令執行時,是否會自動安裝/etc/fstab 文件內容掛載,默認自動
defaults 定義默認值,相當於rw、suid、dev、exec、auto、nouser、async這七個選擇
exec/noexec 執行/不執行,設定師傅允許文件系統中執行可執行文件,默認是exec允許
remount 重新掛載已經掛載的文件系統,一般用於修改特殊權限
rw/ro 讀寫/只讀,文件系統掛載時,是否有讀寫的權限,默認rw
suid/nosuid 具有/不具有SUID權限,設定文件系統是否具有SUID權限,默認具有
user/nouser 允許/不允許普通用戶掛載,設定文件系統是否允許普通用戶掛載,默認不允許,只有root可以掛載分區
usrquata 寫入代表文件系統支持用戶磁盤配額,默認不支持
grpquata 寫入代表文件系統支持組磁盤配額,默認不允許
eg: mount -o remount,noexec /home 讓 /home目錄下不能執行可執行文件
拓展:兩種防火牆的關閉方式
1、關閉firewalld防火牆
systemctl status firewalld 查看狀態
systemctl stop firewalld 臨時關閉
systemctl disable firewalld 永久關閉
2、關閉selinux防火牆
getenforce 查詢防火牆的狀態:
enforcing(強制殺死) permissive(警告) disabled(關閉防火牆)
setenforce 0 臨時關閉
配置文件:
/etc/selinux/config
SELINUX=disabled #永久關閉
reboot 重啟系統生效
