1. samba的安全等級
用security參數進行指定。分別是:
share:用戶不要賬號及密碼即可登入samba服務器。
user:由提供服務的samba服務器負責檢查賬戶及密碼(是samba默認的安全等級)。
server:檢查賬戶及密碼的工作指定由另一臺Windows NT/2000或SAMBA服務器負責。
domain:指定Windows NT/2000域控制服務器來驗證用戶的賬戶及密碼。
2. 安全全局參數
samba的安全在操作系統高度安全的保障下,其自身的安全一般情況下主要依賴於smb.conf文件的正確配置與否。
socket address 指定samba監聽的IP地址 socket address = 192.168.18.15
admin user 設置管理員帳戶 admin user = root
security 指定samba的安全級別 security = share
encrypt passwords 用於指定是否使用加密口令 encrypt passwords = yes
smb passwd file 指定samba口令文件的路徑 smb passwd file = /etc/samba/smbpasswd
map to guest 設置GUEST身份登錄時用戶名及密碼不正確的處理方式 map to guest = never
username map 指定smb和unix名字映射文件的路徑 username map = /etc/samba/smbusers
hosts allow 指定可以訪問samba的主機 hosts allow = 127. 192.168.74.
hosts deny 指定不可訪問samba的主機 hosts deny = 127. 192.168.74.
3. samba的權限和文件屬性
samba權限設置和文件屬性的正確設置是保障安全的前提。爲了安全起見,設置SAMBA密碼文件和目錄權限爲root,去掉smbpasswd文件中一些無shell的賬號,SAMBA屬性應設爲500,smbpasswd屬性應設爲600。
(1)檢查權限和文件屬性
//檢查samba文件
[root@ora9 root]# ll -d /etc/samba
drwxr-xr-x 2 root root 4096 Sep 16 2004 /etc/samba
//檢查smbpasswd文件
[root@ora9 root]# ll /etc/samba/smbpasswd
-rw------- 1 root root 105 Sep 16 2004 /etc/samba/smbpasswd
(2)檢查配置文件的正確性
輸入如下命令將顯示用戶的配置和所有的默認配置:
[root@ora9 root]# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[homepage]"
Loaded services file OK.
Press enter to see a dump of your service definitions
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1. samba的默認主配置文件及其說明
用root用戶執行如下操作,查看samba的默認配置:
//忽略被註釋(即以#和;開頭)的配置語句行,並查看其默認配置
[root@ora9 root]# grep -v "#" /etc/samba/smb.conf | grep -v ";"
[global] //設置全局參數
workgroup = MYGROUP //設置工作組名稱
server string = Samba Server //設置SAMBA服務器名稱
printcap name = /etc/printcap //設置打印機配置文件路徑
load printers = yes //允許共享打印機
printing = cups //設置打印機類型
log file = /var/log/samba/%m.log //設置日誌文件路徑
max log size = 0 //不對日誌文件做長度限制
security = user //設置安全等級爲USER
encrypt passwords = yes //設置用戶密碼加密
smb passwd file = /etc/samba/smbpasswd //設置口令文件的路徑
unix password sync = yes //設置SAMBA用戶賬號和UNIX系統賬號同步
passwd program = /usr/bin/passwd %u //設置本地口令程序
//控制smbd和/usr/bin/password之間的會話,用以對用戶密碼進行改變。
passwd chat = *New*password* %n/n *Retype*new*password* %n/n *passwd:*all*authentication*tokens* updated*successfully*
//當用戶要求更改密碼時使用PAM,而不用PASSWD PROGRAM參數所指定的本地口令程序/usr/bin/passwd
pam password change = yes
obey pam restrictions = yes //當認證用戶時,服從PAM的管理限制
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_ SNDBUF=8192 //設置服務器和客戶之間會話的SOCKET選項
dns proxy = no //不爲客戶做DNS查詢
//設置每個用戶的主目錄
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775
//設置全部打印機共享
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
//設置個人共享
[homepage]
path = /usr/local/apache/htdocs
valid users = oracle
public = no
writable = yes
printable = no
create mask = 0765
2. samba配置文件中常用的運行效率全局參數
change notify timeout 設置服務器週期性異常通知 change notify timeout = 90
deadtime 客戶端無操作多少分鐘後服務器中斷連接 deadtime = 10
getwd cache 是否使用 cache 功能 getwd cache = no
keepalive 服務器每隔多少秒向客戶端發送keepalive包 keepalive = 60
用於確認客戶端是否異常
max open files 同一個客戶端最多能打開的文件數目 max open files = 100
socket options 設置服務器和客戶之間會話的socket選項
3. samba配置文件常用的共享資源訪問控制參數
writable 指定共享的路徑是否可寫 writable = yes
browseable 指定共享的路徑是否可瀏覽(默認可以) browseable = no
available 指定共享的資源是否可用 available = no
read only 指定共享的路徑是否只讀 read only = yes
public 指定是否可以允許guest帳號訪問 public = yes
guest accout 指定一般性客戶的帳號 guest accout = nobody
guest ok 指定是否可以允許guest帳號訪問 guest ok = yes
guest only 指定是否只允許guest帳號訪問 guest only = yes
read list 設置只讀訪問用戶列表 read list = tom,@stuff
write list 設置讀寫訪問用戶列表 write list = tom,@stuff
valid users 指定允許使用服務的用戶列表 valid users = tom,@stuff
invalid users 指定禁止使用服務的用戶列表 invalid users = tom,@stuff