Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的一種通訊協議,它爲局域網內的不一樣計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,客戶機經過該協議能夠訪問服務器上的共享文件系統、打印機及其餘資源。經過設置「NetBIOS over TCP/IP」使得Samba不但能與局域網絡主機分享資源,還能與全世界的電腦分享資源。vim
[root@localhost ~]# yum install samba -y ##安裝Samba服務
[root@localhost ~]# cd /etc/samba/ ##切換到Samba配置文件目錄 [root@localhost samba]# mv smb.conf smb.conf.bak ##備份 [root@localhost samba]# grep -v "#" smb.conf.bak > smb.conf ##從新建立一個配置文件(除去註釋的) [root@localhost samba]# vim smb.conf ##修改配置文件 [global] ##全局 workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw map to guest = Bad User ##添加此項,開啓匿名用戶訪問 ##大G到末行添加下面的配置信息 [myshare] ##添加的share文件 path=/opt/abc ##路徑 public=yes ##公共訪問 browseable=yes ##可以訪問 writable=yes ##寫權限 create mask=0644 ##設置權限 directory mask=0755
[root@localhost samba]# mkdir /opt/abc ##建立目錄 [root@localhost samba]# chmod 777 /opt/abc ##給所有權限 [root@localhost samba]# systemctl stop firewalld.service ##關閉防火牆 [root@localhost samba]# setenforce 0 ##關閉加強功能 [root@localhost samba]# systemctl start smb.service ##開啓Samba服務
[root@localhost samba]# cd /opt/abc/ ##查看共享文件目錄,查看到建立的文本 [root@localhost abc]# ls 111.txt [root@localhost abc]# ls -l ##Linux的匿名訪問用戶是nobody 總用量 0 -rw-r--r--. 1 nobody nobody 0 11月 5 15:51 111.txt
[root@localhost ~]# cd /etc/samba/ ##切換到Samba配置文件目錄 [root@localhost samba]# vim smb.conf ##修改配置文件 [global] workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw ##將匿名訪問的一項刪除 ##大G到末行添加下面的配置信息 [test] path=/opt/test ##共享文件目錄路徑 browseable=yes ##可以訪問,將public項去除 create mask=0644 directory mask=0755 valid users=zhangsan, lisi ##容許訪問的用戶 write list=zhangsan ##容許寫入的用戶
[root@localhost samba]# useradd zhangsan ##建立兩個用戶 [root@localhost samba]# useradd lisi [root@localhost samba]# smbpasswd -a zhangsan ##建立smb用戶並設置密碼 New SMB password: ##設置密碼 Retype new SMB password: ##確認密碼 Added user zhangsan. [root@localhost samba]# smbpasswd -a lisi New SMB password: Retype new SMB password: Added user lisi. [root@localhost samba]# pdbedit -L ##列出smb用戶列表 zhangsan:1001: lisi:1002: [root@localhost samba]# cd /opt/ [root@localhost opt]# mkdir test ##建立共享目錄 [root@localhost opt]# ls abc rh test [root@localhost opt]# chmod 777 test/ ##給最大權限 [root@localhost opt]# systemctl restart smb.service ##重啓Samba服務
[root@localhost opt]# cd /opt/test/ [root@localhost test]# ls ##建立成功 222.txt
[root@localhost ~]# cd /etc/samba/ [root@localhost samba]# vim smbusers ##建立帳戶映射配置文件 zhangsan = t01 t02 ##別名t01 t02 密碼仍是zhangsan用戶的密碼 [root@localhost samba]# vim smb.conf ##配置Samba配置文件 [global] workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw username map = /etc/samba/smbusers ##添加別名的配置文件路徑 [root@localhost samba]# systemctl restart smb.service ##重啓Samba服務
[root@localhost ~]# cd /etc/samba/ ##切換到Samba配置文件目錄 [root@localhost samba]# vim smb.conf ##修改配置文件 [test] path=/opt/test browseable=yes create mask=0644 directory mask=0755 valid users=zhangsan, lisi write list=zhangsan hosts deny=192.168.13. ##添加拒絕192.168.13段訪問test [root@localhost samba]# systemctl restart smb.service ##重啓Samba服務
[root@localhost ~]# smbclient -L //192.168.100.99/share ##訪問共享 Enter SAMBA\root's password: ##密碼
[root@localhost ~]# mkdir -p /opt/share01 ##建立掛載點 [root@localhost ~]# mount.cifs //192.168.100.99/share /opt/share01 ##將共享文件夾掛載到掛載點 Password for root@//192.168.100.99/share: [root@localhost ~]# cd /opt/share01 ##切換到掛載點 [root@localhost share01]# ls test.txt [root@localhost share01]# cat test.txt ##查看共享文件夾的文件內容 this is a test!!