從網上找到描述比較詳細的smb.conf中文解釋:
- 服務名:smb
- 配置目錄:/etc/sabma/
- 主配置文件:/etc/sabma/smb.conf
#============================== Global Settings ============================= [global] samba服務器的全局設置,對整個服務器有效。 workgroup 語法:workgtoup = <工作組群>; 預設:workgroup = MYGROUP 說明:設定 Samba Server 的工作組 例:workgroup = workgroup 和WIN2000S設為一個組,可在網上鄰居可中看到共享。 server string 語法:server string = <說明>; 預設:sarver string = Samba Server 說明:設定 Samba Server 的注釋 其他:支持變量 t%-訪問時間 I%-客戶端IP m%-客戶端主機名 M%-客戶端域名 S%-客戶端用戶名 例:server string = this is a Samba Server 設定出現在Windows網上鄰居的 Samba Server 注釋為 this is a Samba Server hosts allow 語法:hosts aoolw = <IP地址>; ... 預設:; host allow = 192.168.1. 192.168.2. 127. 說明:限制允許連接到 Samba Server 的機器,多個參數以空格隔開。表示方法可以為完整的IP地址,如 192.168.0.1 網段,如 192.168.0. 例:hosts allow = 192.168.1. 192.168.0.1 表示允許 192.168.1 網段的機器網址為 192.168.0.1 的機器連接到自己的 samba server printcap name 語法:printcap name = <打印機配置文件>; 預設:printcap name = /etc/printcap 說明:設定 samba srever 打印機的配置文件 例:printcap name = /etc/printcap 設定 samba srever 參考 /etc/printcap 檔的打印機設定。 load printers 語法:load printers = <yes/no>; 預設:load printers = yes 說明:是否在開啟 samba server 時即共享打印機。 printing 語法:printing = <打印機類型>; 預設:printing = lprng 說明:設定 samba server 打印機所使用的類型,為目前所支持的類型。 guest account 語法:guert account = <帳戶名稱>; 預設:guert account = pcguest 說明:設定訪問 samba server 的來賓帳戶(即訪問時不用輸入用戶名和密碼的帳戶),若設為pcguest的話則為默認為"nobody"用戶。 例:guert account = andy 設定設定訪問 samba server 的來賓帳戶以andy用戶登陸,則此登陸帳戶享有andy用戶的所有權限。 log file 語法:log file = <日志文件>; 預設:log file = /var/log/samba/%m.log 說明:設定 samba server 日志文件的儲存位置和文件名(%m代表客戶端主機名) max log size 語法:max log size = <??KB>; 預設:max log size = 0 說明:設定日子文件的最大容量,單位KB 這里的預設值0代表不做限制。 security 語法:security = <等級>; 預設:security = user 說明:設定訪問 samba server 的安全級別共有四種: share---不需要提供用戶名和密碼。 user----需要提供用戶名和密碼,而且身份驗證由 samba server 負責。 server--需要提供用戶名和密碼,可指定其他機器(winNT/2000/XP)或另一台 samba server作身份驗證。 domain--需要提供用戶名和密碼,指定winNT/2000/XP域服務器作身份驗證。 password server 語法:password server = <IP地址/主機名>; 預設:password server = <NT-Server-Name>; 說明:指定某台服務器(包括windows 和 linux)的密碼,作為用戶登入時驗證的密碼。 其他:此項需配合 security = server時,才可設定本參數。 password level 語法:password level = <位數>; username level = <位數>; 預設:password level = 8 username level username level = 8 說明:設定用戶名和密碼的位數,預設為8位字符。 encrypt passwords 語法:encrypt passwords = <yes/no>; 預設:encrypt passwords = yse 說明:設定是否對samba的密碼加密。 smb passwd file 語法:smb passwd file = <密碼文件>; 預設:smb passwd file = /etc/samba/smbpasswd 說明:設定samba的密碼文件。 local master 語法:local master = <yes/no>; 預設:local master = no 說明:設定 samba server 是否要擔當LMB角色(LMB負責收集本地網絡的Browse List資源),通常無特殊原因設為no os level 語法:os level = <數字>; 預設:os level = 33 說明:設定 samba server的os level. os level從 0 到 255 . winNT的os level為33, win95/98的os level 是 1 .若要拿samba server 當LMB或DMB則它的os level至少要大於NT的33以上。 domain master 語法:domain master = <yes/no>; 預設:domain master = yes 說明:設定 samba server 是否要擔當DMB角色(DMB會負責收集其他子網的Browse List資源),通常無特殊原因設為no preferred master 語法:preferred master = <yes/no>; 預設:preferred master = yes 說明:設定 samba server 是否要擔當PDC角色(PDC會負責追蹤網絡帳戶進行的一切變更),通常無特殊原因設為no,(同一網段內不可有兩個PDC,他們會每5分鍾搶主控權一次) wins support 語法:wins support = <yes/no>; 預設:wins support = yes 說明:設定samba server 是否想網絡提供WINS服務,通常無特殊原因設為no。除非所處網絡上沒有主機提供WINS服務且需要此台samba server提供WINS服務是才設yes,其他 wins support 和 wins server 只能選擇一個 wins server 語法:wins server = <IP地址>; 預設:wins server = w.x.y.z 說明:設定samba server 是否要使用別台主機提供的WINS服務,通常無特殊原因設為no。除非所處網絡上有一台主機提供WINS服務才要設yes,其他 wins support 和 wins server 例:wins server = 192.168.0.1 表示samba server要使用192.168.0.1提供的WINS服務 #============================== Share Definitions ============================= [homes] comment = Home Directories browseable = no writable = yes valid users = %S 使用者本身的"家"目錄,當使用者以samba使用者身份登入samba server 后,samba server 底下會看到自己的家目錄,目錄名稱是使用者自己的帳號。 [printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = no writable = no printable = yes 設置了samba服務器中打印共享資源的屬性,samba服務器除了可以提供文件共享,還可以提供打印共享。 [分享的資源名稱] <指令1>; = (參數) <指令2>; = (參數) 要提供分享資源時,須先把欲分享的資源以 [ ] 符號括住,底下通常會帶指令和參數來表示此資源的設定和存取權限等,詳情如下: comment---------注釋說明 path------------分享資源的完整路徑名稱,除了路徑要正確外,目錄的權限也要設對 browseable------是yes/否no在瀏覽資源中顯示共享目錄,若為否則必須指定共享路徑才能存取 printable-------是yes/否no允許打印 hide dot ftles--是yes/否no隱藏隱藏文件 public----------是yes/否no公開共享,若為否則進行身份驗證(只有當security = share 時此項才起作用) guest ok--------是yes/否no公開共享,若為否則進行身份驗證(只有當security = share 時此項才起作用) read only-------是yes/否no以只讀方式共享當與writable發生沖突時也writable為准 writable--------是yes/否no不以只讀方式共享當與read only發生沖突時,無視read only vaild users-----設定只有此名單內的用戶才能訪問共享資源(拒絕優先)(用戶名/@組名) invalid users---設定只有此名單內的用戶不能訪問共享資源(拒絕優先)(用戶名/@組名) read list-------設定此名單內的成員為只讀(用戶名/@組名) write list------若設定為只讀時,則只有此設定的名單內的成員才可作寫入動作(用戶名/@組名) create mask-----建立文件時所給的權限 directory mask--建立目錄時所給的權限 force group-----指定存取資源時須以此設定的群組使用者進入才能存取(用戶名/@組名) force user------指定存取資源時須以此設定的使用者進入才能存取(用戶名/@組名) allow hosts-----設定只有此網段/IP的用戶才能訪問共享資源 allwo hosts = 網段 except IP deny hosts------設定只有此網段/IP的用戶不能訪問共享資源 allow hosts=本網段指定IP指定IP deny hosts=指定IP本網段指定IP

那就是SELinux在作怪了
若SElinux啟用中,在Windows檔案總管無法連到 Samba 所分享出來的目錄時,
在Linux 中,可執行下列指令:
setsebool -P samba_enable_home_dirs on
參考文件: /etc/samba/smb.conf
#---------------
# SELINUX NOTES:
# 分享群組
# If you want to use the useradd/groupadd family of binaries please run:
# setsebool -P samba_domain_controller on
#
# 分享home目錄
# If you want to share home directories via samba please run:
# setsebool -P samba_enable_home_dirs on
#
# If you create a new directory you want to share you should mark it as
# "samba-share_t" so that selinux will let you write into it.
# Make sure not to do that on system directories as they may already have
# been marked with othe SELinux labels.
#
# Use ls -ldZ /path to see which context a directory has
#
# Set labels only on directories you created!
# To set a label use the following: chcon -t samba_share_t /path
#
# If you need to share a system created directory you can use one of the
# following (read-only/read-write):
# setsebool -P samba_export_all_ro on
# or
# setsebool -P samba_export_all_rw on
#
# If you want to run scripts (preexec/root prexec/print command/...) please
# put them into the /var/lib/samba/scripts directory so that smbd will be
# allowed to run them.
# Make sure you COPY them and not MOVE them so that the right SELinux context
# is applied, to check all is ok use restorecon -R -v /var/lib/samba/scripts
#
#--------------
#