區域網管理有一個現實問題,機房伺服器上要建立一個公共共享文件夾,訪客有讀取的許可權,管理員有讀寫許可權,但是如果在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實現目錄的雙重共享已經有599次圍觀
http://coctec.com/docs/linux/show-post-201944.html