centos7 配置samba共享服務

轉載自:http://lybing.blog.51cto.com/3286625/1676515


這篇指南介紹瞭如何在CentOS7中配置匿名和安全的Samba服務器。Samba是一個開源/自由軟件套件,提供無縫的文件和打印服務SMB/CIFS客戶端.Samba是免費的,不像其他的SMB/CIFS的實現着,Samba允許在Linux/Unix服務器和給予Windows的客戶端之間協同工作,

  • 初步說明

我有個一新安裝的CentOS7 服務器,這是我要安裝Samba服務器的機子。當然,你需要有一個windows機器來檢查這臺CentOS7的服務器是可被連接的。

我的CentOS7的服務器主機名:server1.example.com ,IP是:192.168.0.100

注意:Windows 機器必須和這臺CentOS7在同一個工作組。可以用下面的命令來檢查:

1
net config workstation

wKiom1Ws34yyUwJHAAGiF9lbe7Y521.jpg

爲了確保windows機器可以在窗口中處理類似的訪問。在終端中添加服務器IP地址:

1
notepad C:\Windows\System32\drivers\etc\hosts

在我的例子中是這樣保存的:

1
2
[...]
192.168.0.100  server1.example.com centos


  • Samba匿名共享

首先我將解釋安裝Samba和匿名共享的方法。安裝Samba運行

1
yum install samba samba-client samba-common

安裝之後請備份一份原始的Samba配置文件:

1
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

然後來新建我們的conf文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
vi /etc/samba/smb.conf
 
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
security = user
map to guest = bad user
dns proxy = no
#============================ Share Definitions ============================== 
[Anonymous]
path = /samba/anonymous
browsable =yes
writable = yes
guest ok = yes
read only = no
 
:wq#保存並退出
1
2
3
4
5
mkdir -p /samba/anonymous
systemctl enable smb.service
systemctl enable nmb.service
systemctl restart smb.service
systemctl restart nmb.service

在下面CentOs7的防火牆cmd會阻止Samba的訪問,爲了擺脫這個,我們運行:

1
2
3
4
5
6
[root@server1 ~]# firewall-cmd --permanent --zone=public --add-service=samba
success
[root@server1 ~]#
[root@server1 ~]# firewall-cmd --reload
success
[root@server1 ~]#

現在你可以在Windows中訪問CentOS7的共享文件了,在命令提示行中輸入:

1
\\centos

wKiom1Ws4kmBALd8AADhVyvntS8748.jpg

下面是瀏覽到的文件夾,如果你嘗試着去創建一個文件,你會得到一個沒有權限的錯誤信息、

wKioL1Ws5PHjmR2TAAChvUtImyk618.jpg

wKiom1Ws4xDDbdwoAADuJejpAqo281.jpg

檢查這個共享文件夾的權限:

1
ls -l

drwxr-xr-x. 2 root root 6 Jul 17 13:41 anonymous
[root@server1 samba]#

我們下面給匿名用戶一個權限:

1
2
3
4
cd /samba
chmod -R 0755 anonymous/
chown -R nobody:nobody anonymous/
ls -l anonymous/

total 0
drwxr-xr-x. 2 nobody nobody 6 Jul 17 13:41 anonymous
[root@server1 samba]#

進一步我們需要配置Selinux

1
chcon -t samba_share_t anonymous/

現在我們可以瀏覽和創建文件了

wKiom1Ws5YCArgZ2AACRbDCbga8377.jpg

在服務器上查看:

1
ls -l anonymous/

total 0
-rwxr--r--. 1 nobody nobody 0 Jul 17 16:05 anonymous.txt
[root@server1 samba]#


  • 安全的Samba服務器

爲了這個,我創建了一個組:smbgrp 和用戶srijan通過認證來訪問Samba服務器。

1
2
3
4
5
6
7
groupadd smbgrp
useradd srijan -G smbgrp
smbpasswd -a srijan
 
[root@server1 samba]# smbpasswd -a srijan
New SMB password:<--yoursambapasswordRetype new SMB password:<--yoursambapasswordAdded user srijan.
[root@server1 samba]#

現在在Samba文件夾下創建一個文件夾:Secured ,並且給出權限:

1
mkdir -p /samba/secured

同樣的,我們允許Selinux來監聽:

1
2
3
cd /samba
chmod -R 0777 secured/
chcon -t samba_share_t secured/

再次編輯配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
vi /etc/samba/smb.conf
 
[...]
[secured]
 path = /samba/secured
 valid users = @smbgrp
 guest ok = no
 writable = yes
 browsable = yes
 
systemctl restart smb.service
 
systemctl restart nmb.service

像下面這樣測試:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
testparm
 
[root@server1 samba]# testparm 
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[Anonymous]"
Processing section "[secured]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions <--ENTER[global]
    netbios name = CENTOS
    server string = Samba Server %v
    map to guest = Bad User
    dns proxy = No
    idmap config * : backend = tdb
 
[Anonymous]
    path = /samba/anonymous
    read only = No
    guest ok = Yes
 
[secured]
    path = /samba/secured
    valid users = @smbgrp
    read only = No
[root@server1 samba]#

現在在windows機器中可以使用相應的憑證來查看文件夾。

wKioL1Ws6X_SwuieAAEY03V5MLc041.jpg


你的用戶srijan同樣面對着寫入權限的問題,讓我們來給出權限:

1
2
cd /samba
chown -R srijan:smbgrp secured/

現在Samba用戶在共享的目錄中有寫入的權限了,開始High吧.

wKiom1Ws5_jRL5EqAAC3BgtOEFM691.jpg



注:

如果你的 chcon命令不成功,請按下面的方式嘗試:

1
chcon -h system_u:object_r:forderA  /path/to/B

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章