能WINDOWS之不能,用Samba實現目錄的雙重共享

←手機掃碼閱讀     火星人 @ 2014-03-29 , reply:0

區域網管理有一個現實問題,機房伺服器上要建立一個公共共享文件夾,訪客有讀取的許可權,管理員有讀寫許可權,但是如果在WINDOWS上實現的話有個問題,假如你在客戶機以訪客身份登錄到伺服器上(即使用「\\主機名」或「\\IP地址」的方式),那麼你就對公共共享文件夾只有隻讀許可權,如果你想以管理員身份登錄的話,只能註銷出去,重新進桌面,再以管理員身份登錄共享文件夾,這樣作雖然可以,但似我這等懶人還是覺得這樣比較麻煩。最好是有兩個不同名的共享文件夾,它們都指向實際伺服器硬碟的同一個文件夾,其中一個供訪客使用,可以隨意讀取無需用戶名和密碼,另一個供管理員使用,訪問時需要輸入用戶名和密碼,登錄后就有管理許可權。這樣,在使用公用機時,即便機器已經被別人以訪客的身份登錄到伺服器上,管理員還是能無需註銷,只要輸入用戶名和密碼就可以讀寫共享文件夾。不知道我說清楚了沒有?

但這個問題在WINDOWS中解決就很麻煩,因為WINDOWS在同一台機器上對同一個文件夾只能建立一個共享。我的解決方法是直接甩掉WINDOWS用LINUX。事實上,如果機器只用來提供服務,那麼使用LINUX比使用WINDOWS要安全。閑話少說,在LINUX中實現與WINDOWS共享文件的方法有多種,類似WINDOWS在區域網上共享文件的方法就是使用Samba服務,和WINDOWS一樣,都是用的SMB協議。

先說說我用版本,考慮到兼容性、安全性、穩定性、易用性等因素,我用的是CENTOS,REDHAT在放棄開發新版的LINUX發行套件后,REDHAT便將以後的開發工作交給一些非營利性的技術小組了。其中REDHAT桌面版交給了FEDORA小組,企業伺服器版就交給了CENTOS小組,考慮到我用LINUX的目的就是搭伺服器,所以還是選用了企業伺服器版,CENTOS2、3由於在防火牆配置工具上比較簡陋,我又是個懶人,所以只考慮用CENTOS4、5,但由於第5版推出時間不長,目前最新的是5.1版,不穩定因素比較多,CENTOS4最新是4.6版,經過了多次修訂,應該比較成熟穩定了,所以決定使用CENTOS4.6版,有些同志在搭伺服器時不大重視版本,結果走了很多彎路,其實版本有時候是系統服務能否正常、穩定地運行的決定性條件。

安裝、啟動服務的過程從略......

你在安裝時如果安裝了防火牆的話(一般都要裝的,要不機器相當於?奔嘛),注意要打開相應的埠,否則服務是不能被訪問的。對於Samba來說,應該打開的有137/138/139三個埠的TCP方式,這樣你就可以用「\\IP地址」的方式訪問伺服器,但如果你想用「\\主機名」的方式訪問伺服器的話,就要再打開137/138/139埠的UDP方式。

最後,修改/etc/samba/smb.conf這個配置文件,再從起SMB服務就大功告成了!以下是我實驗機的原始配置文件,注意劃線的部分就OK啦!

smb.conf

[global]
netbios name = CENTOS 主機別名

netbios aliases = vodsrv

server string = Samba Server Version %v

security = user 登錄方式

encrypt passwords = yes 需要密碼

map to guest = bad password 辨別是否訪客的方式

null passwords = yes 許可空密碼

passdb backend = tdbsam

unix password sync = yes Samba用戶和LINUX用戶密碼同步

name resolve order = lmhosts, host, wins, bcast

add user script = /usr/sbin/adduser -s /bin/false -g popusers -c "smb account %u" %u

delete user script = /usr/sbin/deluser %u

domain logons = yes

os level = 0

preferred master = yes

domain master = yes

wins support = yes

message command = /bin/mail -s 'Message from %f at %m' root < %s; rm %s

idmap uid = 16777216-33554431

idmap gid = 16777216-33554431

cups options = raw

password level = 0

bind interfaces only = no

dead time = 0

debug level = 0

load printers = yes

hide dot files = yes

ldap ssl = yes

由於這一項相關選項一開,就相當於打開了/homes的共享,比較危險,所以能關的都給關了,呵呵!

[homes]

comment = Home Directories

inherit permissions = yes

hide dot files = no

browseable = no

preexec close = yes

root preexec close = yes

available = no

public = no

writable = no

only user = yes



[printers]

comment = All Printers

path = /var/spool/samba

printable = yes

browseable = yes

available = yes

public = yes



[netlogon]

preexec close = yes

root preexec close = yes

available = yes



[myfile] 這是供訪客使用的只有讀許可權的共享

path = /filesrv 映射的實際文件夾

admin users = filer

read only = No

inherit permissions = yes

public = no

max connections = 500

hide dot files = no

copy = /filesrv

preexec close = yes

root preexec close = yes

available = yes

browseable = yes

guest only = yes 只供訪客使用

writable = no

only user = no

[admfile] 這是供管理使用的共享

available = yes

browseable = yes

copy = /filesrv

path = /filesrv 看到沒?和上一個共享指向同一個地方

public = no

guest only = no

writable = yes 打開只讀許可權

only user = yes 只能由合法用戶訪問

admin users = filer 管理者是誰啊?

preexec close = yes

root preexec close = yes

inherit permissions = yes

hide dot files = no

user = filer 誰能訪問它啊?




[火星人 ] 能WINDOWS之不能,用Samba實現目錄的雙重共享已經有372次圍觀

http://coctec.com/docs/linux/show-post-201944.html