ºìÁªLinuxÃÅ»§
Linux°ïÖú

Linuxʵ¼ù¹¤³Ìʦѧϰ±Ê¼Ç£ºsamba

·¢²¼Ê±¼ä:2007-01-15 00:43:28À´Ô´:ºìÁª×÷Õß:ÑϺ®
sambaÈí¼þ°üʹÓÃ

Fedora core/Redhat LinuxÌṩµÄÈí¼þ°ü

samba samba·þÎñÆ÷Èí¼þ°ü

samba-client samba¿Í»§¶Ë¹¤¾ß

samba-common ͨÓù¤¾ßºÍ¿â



°²×°rpmdb-fedora/rpmdb-redhatÈí¼þ°ü£¨Ò»°ãÔÚµÚÈýÕŹâÅÌ£©

µ«ÔÚFC5ÒÑÕÒ²»µ½Õâ¸öÈí¼þ°ü

°²×°ÁËrpmdb¿ÉÒÔ½â¾öÒÀÀµÐÔÎÊÌâ

#rpm -ivh rpmdb-fedora*.rpm

#rpm -ivh --aid samba*.rpm ×°ÁËrpmdb²ÅÓÐЧ



1.#rpm -ivh cups-libs*.rpm µÚÒ»ÕŹâÅÌ

2.#rpm -ivh samba*.rpm µÚÒ»ÕŹâÅÌ£¨client,common£©

3.#rpm -ivh samba*.rpm µÚ¶þÕŹâÅÌ

#rpm -qa |grep samba ²é¿´ËùÓÐÈí¼þ°üÁбí

#rpm -ql samba | more ²éѶij¸öÈí¼þÁбí



samba¿Í»§¶Ë¹¤¾ß

smbtree

×÷ÓãºÏÔʾ¾ÖÓòÍøÖеÄËùÓй²ÏíÖ÷»úºÍĿ¼ÁÐ±í£¨Ä¬ÈÏʹÓõ±Ç°Óû§µÇ¼£©

Ó÷¨£ºsmbtree [-b] [-D] [-U username%password]

-D ±íʾֻÏÔʾ¹¤×÷×éÃû£¬²»ÏÔʾÖ÷»ú

-b ʹÓù㲥²éѯÁÐ±í£¬²»ÓÃWINS·þÎñÆ÷

-DºÍ-U ²»Äܹ²Óã¬ÒòΪ²»¿ÉÄÜÓÃͬһ¸öÓû§µÇ¼ÓòÉÏËùÓÐÖ÷»ú



nmblookup

×÷ÓãºÏÔʾһ̨Ö÷»úµÄnethiosÖ÷»úÃû

nmblookup my-server ²éѯ·þÎñÆ÷µÄIP

nmblookup \* ²éѯËùÓлµÄÖ÷»úµÄIP



smbclient

×÷ÓãºÏÔʾ/µÇ¼¾ÖÓòÍøÖеĹ²ÏíÎļþ¼Ð

Ó÷¨£ºsmbclient -L host

smbclient //host/share

smbclient -L 192.168.0.22 -U redhat%redhat ÒÔredhatÓû§µÇ¼²¢ÏÔʾ¹²ÏíĿ¼

smbclient //192.168.0.22/linux -U redhat%redhat

µÇÈëĿ¼£¬²é¿´Ä¿Â¼ÄÚÈÝ£¬Í¨¹ýput,getÉÏÏÂÔØÎļþ



smbtar£¨ÏÈÒªÐÞ¸Ä/usr/bin/smbtarÃüÁ°Ñ×îºóÒ»ÐеIJÎÊý-NÄäÃûµÇ½ɾµô£©

Ô¶³Ì±¸·ÝÍøÉÏÁÚ¾ÓÖеÄÎļþ

smbtar -s win2000 -u redhat -p redhat -x chinalab -t itlab.tar



½«¹²ÏíĿ¼¹ÒÔØµ½±¾µØÄ¿Â¼£¬È»ºóÔÙ·ÃÎÊ

mount.cifs //192.168.0.22/linux /mnt -o username=redhat%redhat



tar tvf lab.tar ÏÔʾ±¸·Ý°üÀïµÄÎļþ



samba·þÎñÆ÷ÅäÖÃ

1.ÐÞ¸ÄÅäÖÃÎļþ/etc/samba/smb.conf

workgroup = WORKGROUP

security = share

[docs]

path = /usr/share/doc

comment = share documents #˵Ã÷¹²ÏíĿ¼

public = yes

2.ÖØÆôsmb·þÎñÆ÷

#service smb restart

#chkconfig smb on ÈÃsmbÿ´Î×Ô¶¯Æô¶¯

3.²âÊÔ

#smbclient -L localhost



chkconfig smb -list ²é¿´·þÎñµÄÆô¶¯×´Ì¬



SMB ÌṩÃû³Æ½âÊÍ·þÎñ

NMB ÌṩÊý¾Ý´«Êä·þÎñ

Á½¸ö×ÜÊÇÒ»Æð¹¤×÷µÄ



sambaÎļþ·þÎñÆ÷

£¨WINS£©ÔÚÍøÉÏÁÚ¾Ó¿´²»µ½Ö÷»úÁÐ±í£¬¿ÉÒÔÔÚµØÖ·À¸Ö±½ÓÊäÈëIPÈç\\192.168.0.1²é¿´¹²ÏíĿ¼

ÍøÉÏÁÚ¾Ó¿´µ½µÄÖ÷»úÁÐ±í£¬Ö÷ÒªÓÐÈý¸öÀ´Ô´£¬Ò»ÊÇÅäÖÃÎļþlmhosts,Ö÷»úÃûÓëIPµÄ¶ÔÓ¦¹ØÏµ

¶þÊÇͨ¹ýä¯ÀÀ·þÎñÆ÷ ÈýÊÇͨ¹ý¹ã²¥·½Ê½»ñÈ¡Ö÷»úÁбí


linux·ÃÎÊÍøÉÏÁÚ¾Ó

1.¹ÒÔØ·½·¨
#mount -t smbfs //192.168.0.1/linux /mnt
»ò #mount.cifs //192.168.0.1/linux /mnt
2.#smbclient //192.168.0.1/linux -U redhat%123

·ÃÎÊ¿ØÖÆ
public = yes ÔÊÐíËùÓÐÈË·ÃÎÊ
= no ²»ÔÊÐíÄäÃû·ÃÎÊ
1.¹²ÏíĿ¼ÉèÖÃÓÐЧÓû§
[redhat]
path = /var/redhat
comment = redhat¡¯s files
valid users = <@groupname>
2.´´½¨sambaÓû§
#useradd username н¨Ò»¸öϵͳÓû§
#smbpasswd -a username ½«Óû§¼ÓÈëµ½sambaÖÐ
3.Óû§Õ˺ÅÓ³Éä
[global]
username map = /etc/samba/smbusers
4.ÐÞ¸ÄÉÏÃæÖ¸¶¨µÄsmbusersÎļþ£¬Ìí¼ÓÐéÄâÓû§Ãû
redhat = tom jack

Ò²¿ÉÒÔÖ±½ÓÓÃÒÔÏÂÃüÁ

#smbuseradd unixname:mapname

5.ÐèÖØÆôsmb·þÎñ¶ÁȡӳÉäÎļþ

HOMEĿ¼£¨ÓÃÓÚÓû§·ÃÎÊÓû§×Ô¼ºµÄÖ÷Ŀ¼£©
[global]

[homes]


comment = Home Directories
validusers = %S %SĿ¼ÊôÖ÷
browseable = no ĬÈϲ»ÔÊÐíä¯ÀÀhomeĿ¼
writable = yes ÔÊÐíд
valid users = ÓÐЧÓû§Áбí
write list = ¿ÉдÓû§Áбí
create mask = 0660 ¶¨Òå´´½¨ÎļþµÄĬÈÏȨÏÞ
directory mask = 0770 ¶¨Òå´´½¨Ä¿Â¼µÄĬÈÏȨÏÞ

chown redhat /var/redhat ¸Ä±äĿ¼ÊôÖ÷
ls -lh ÏÔʾĿ¼Àï¸÷¸öÎļþµÄÏêϸÐÅÏ¢
ls -ld /usr/redhat Ö»ÏÔʾĿ¼±¾ÉíµÄÏêϸÐÅÏ¢

#testparm ²âÊÔÅäÖÃĬÈÏÎļþsmb.confµÄÕýÈ·ÐÔ
#testparm /etc/samba/smb.conf my-server 192.168.0.1
²âÊÔ¿Í»§»úÄÜ·ÃÎÊ·þÎñÆ÷µÄÄÄЩĿ¼

[redhat]
path = /var/redhat
comment = redhat¡¯s files
public = no
valid users = <@groupname>
write list = <@groupname>
create mask = 0660
directory mask = 0770
×¢Ò⣺¿Í»§¶ËËùÓÐÇëÇó·ÃÎÊÉí·ÝÔÚ·þÎñÆ÷¶Ë¶¼»áÓ³Éä³ÉµÇ¼Õ˺ŵÄÉí·Ý




sambaÅäÖÃÎļþ
/etc/samba/smb.conf
[global]
workgroup = WORKGROUP ×é»òÓòÃû
server string = samba server ·þÎñÆ÷ÃèÊö
netbios name = redhat Ö¸¶¨samba·þÎñÆ÷Ãû
security = share/user/server share²»ÐèÑéÖ¤Óû§£¬userÒªÑéÖ¤
;password server =
ÐèÓësecurity=serverÅäºÏʹÓÃ
log file = /var/log/samba/log.%m %mÖ¸¿Í»§»úµÄnetbiosÃû£¬ÈÕÖ¾°´¿Í»§»úÃû·ÖÀà
encrypt passwords = yes
¼ÓÃÜÃÜÂ룬windows¿Í»§»úÒ»°ãʹÓüÓÃÜÃÜÂ룬ËùÒÔΪyes.Èç¹û²»¼ÓÃÜÖ±½ÓÓÃÃ÷ÎÄÃÜÂ룬¿É¸ÄΪno£¬µ«windows¿Í»§»úÐèÐÞ¸Ä×¢²á±íÖ¸¶¨²»¼ÓÃÜ
smb passwd file = /etc/samba/smbpasswd
ÉÏÃæÁ½¾äÒªÒ»ÆðʹÓÃ!
include = /etc/samba/smb.conf.%m °üº¬ÍⲿÅäÖÃÎļþ£¬Èç¸ù¾Ý²»Í¬µÄ¿Í»§»úÃû³Æ£¬¶¨Ò岻ͬµÄ¹²Ïí×ÊÔ´
;interfaces = 192.168.0.0/24 sambaÓ¦ÓÃÔÚÄĸö½Ó¿ÚÉÏ£¬Ä¬ÈÏÊÇÔÚËùÓÐÍø¿¨£¬ËùÓнӿÚÉÏ
;name resolve order = wins lmhosts bcaast Ãû³Æ½âÊÍ˳Ðò
;wins support = yes ×Ô¼º×÷ΪWINS·þÎñÆ÷£¬²¢Ìṩ¸ø¿Í»§»ú²éѯ
;wins server = w.x..y.z ÓëWINSÅäºÏʹÓã¬×÷ΪWINS·þÎñÆ÷£¬ÇëÇó»á·¢Ë͵½w.x.y.z

/etc/samba/lmhostsÎļþ£¨±£´æ¿Í»§»úIPÓëÃû³ÆµÄ¶ÔÓ¦¹ØÏµ£©
×ó±ßIP ÓÒ±ßÃû³Æ
127.0.0.1 localhost

wins support,wins server ²»ÄÜͬʱʹÓÃ
wins server ˵Ã÷±¾Éí×÷Ϊ¿Í»§»ú£¬¶øÖ¸¶¨Ò»Ì¨wins·þÎñÆ÷µÄIP




sambaµÄ°²È«¼¶±ð
[global]
security =
1.share
windowsÓû§²»ÐèÒªÈÏÖ¤¾ÍÄÜ·ÃÎʹ²ÏíÁбí
2.user
windows¿Í»§»úÐèÊäÈëÓû§²ÅÄÜ·ÃÎʹ²ÏíÃûÁÐ±í£¬·þÎñÆ÷ÉÏÐ轨Á¢Óû§Õ˺Å
3.server
¿Í»§¶ËÐèÊäÈëºÏ·¨Óû§°ïÄÜ·ÃÎÊ£¬µ«ÈÏÖ¤¹ý³ÌÔÚÁíÒ»·þÎñÆ÷½øÐУ¬Óû§Õ˺ű£´æÔÚÈÏÖ¤µÄÄÇ̨·þÎñÆ÷ÉÏ¡£
share,userÖ»¶Ôwindows¿Í»§»úÓÐЧ£¬linux¿Í»§»úÔÚuser¼¶±ð²»ÓÃÃÜÂëÒ²ÄÜ·ÃÎʹ²ÏíÃûÁÐ±í¡£securityÖ»±£»¤Ö÷»úµÄ¹²ÏíÃûÁÐ±í£¬¾ßÌ嵽Ŀ¼µÄ·ÃÎÊÔòÓÉĿ¼µÄ¹æÔò¾ö¶¨¡£

#hostname ²é¿´Ö÷»úÃû
#nmblookup my-server ²éѯÖ÷»úIP£¨Óësamba netbios nameÓйأ©
#man smb.conf ²é¿´Ïà¹Ø°ïÖú
viËÑË÷¼¼ÇÉ£º
/%m ÏÈÊäÈ롱/¡±ÔÙÊäÈëÒª²éÕÒµÄ×Ö·û´®
/redhat Èç²éÕÒ¡±redhat¡±×Ö·û´®
shift+G Ìøµ½Îļþβ

ĬÈÏ·þÎñÆ÷ÃûÓë»úÆ÷DNSµÄµÚÒ»²¿·ÖÏàͬ
ÈçFedora.cyrich.comÔòÕą̂samba·þÎñÆ÷µÄÃû³Æ¾ÍÊÇFedora

·ÃÎÊ¿ØÖÆ
Ò»¡¢È«¾Ö¿ØÖÆ
[global]
hosts deny = ALL
hosts allow = 192.168.0.
¶þ¡¢¾Ö²¿·ÃÎÊ¿ØÖÆ
[docs]
hosts deny = 192.168.0.
hosts allow = 192.168.0.1
[redhat]
hosts allow = 192.168.0.
host deny = 192.168.0.1 (ʧЧ)
ÔÊÐíÓÅÏÈ£¡£¡
hosts ºóÃæµÄ¸ñʽÓï·¨£¬¿ÉÒÔͨ¹ýman 5 host.access²é¿´°ïÖú
1.µã¿ªÍ· .edu.cn
2.µã½áβ 192.168.0.
3.192.168.0.0/255.255.255.0
192.168.0.0/24
4.ALL LOCAL UNKNOWN DNS²»ÄܽâÎöµÄ
5./¿ªÍ· Ö¸¶¨Ò»¸öÎļþ
6.hosts allow = 192.168.0.0 EXCEPT 192.168.0.1
ÔÊÐí192.168.0Íø¶ÎÖ÷»ú·ÃÎÊ£¬µ«192.168.0.1³ýÍâ

¼¼ÇÉ£º
#tail /etc/samba/smb.conf
ÏÔʾÎļþ×îºóµÄÊ®ÐÐ




Ó¦Óð¸Àý
ÒªÇó£º
1.ËùÓÐÔ±¹¤¶¼Äܹ»ÔÚ¹«Ë¾ÄÚÁ÷¶¯°ì¹«£¬µ«²»¹ÜÔÚÄĄ̈µçÄÔÉϹ¤×÷£¬¶¼Òª°Ñ×Ô¼ºµÄÎļþÊý¾Ý±£´æÔÚsambaÎļþ·þÎñÆ÷ÉÏ¡£
2.Êг¡²¿£¬¼¼Êõ²¿¶¼¸÷ÓÐ×Ô¼ºµÄĿ¼£¬Í¬Ò»¸ö²¿ÃŵÄÈ˹²Í¬ÓµÓÐÒ»¸ö¹²ÏíĿ¼£¬ÆäËû²¿ÃŵÄÈ˶¼Ö»ÄÜ·ÃÎÊÔÚ·þÎñÆ÷ÉÏ×Ô¼º¸öÈ˵ÄhomeĿ¼
3.ËùÓÐÓû§¶¼²»ÔÊÐíʹÓ÷þÎñÆ÷ÉϵÄshell
·ÖÎö£º
1.ÐèÒªsamba×÷ΪÎļþ·þÎñÆ÷£¬ÎªËùÓÐÓû§´´½¨Õ˺źÍĿ¼£¬Óû§Ä¬È϶¼ ÔÚ·þÎñÆ÷ÉÏÓÐÒ»¸öhomeĿ¼£¬Ö»ÓÐÈÏ֤ͨ¹ý²ÅÄÜ¿´µ½¡£
2.ÐèΪÊг¡²¿ºÍ¼¼Êõ²¿´´½¨²»Í¬µÄ×ésalesºÍtech,²¢ÇÒ·ÖÅäĿ¼£¬°ÑËùÓÐÊг¡²¿Ô±¹¤¼ÓÈësales×飬¼¼Êõ²¿Ô±¹¤¼ÓÈëtech×飬ͨ¹ýsamba¹²ÏísalesºÍtect
3.½¨Á¢Óû§Õ˺Åʱ£¬²»·ÖÅäshell
°¸Àýʵʩ£º
1.ΪËùÓÐÓû§´´½¨Õ˺źÍĿ¼£¬²»·ÖÅäshell,¼ÙÉèÊг¡²¿ÓÐtom,jack£¬¼¼Êõ²¿ÓÐred,blue,×ܾ­Àíceo£¬²ÆÎñfinance
2.½¨×ésalesºÍtech£¬°ÑËùÓÐÊг¡²¿Ô±¹¤¼ÓÈësales×飬¼¼Êõ²¿Ô±¹¤¼ÓÈëtect×é
3.´´½¨Á½¸öĿ¼/home/salesºÍ/home/tech£¬²¢ÐÞ¸ÄÁ½¸öĿ¼µÄȨÏÞ£¬·Ö±ðÊôÓÚsales×éºÍtect×é
4.ͨ¹ýsamba¹²Ïí/home/salesºÍ/home/tect
5.²âÊÔ
ÈçÓдíÎ󣬼ì²é
/etc/samba/smbpasswd È·¶¨ÕË»§
/etc/samba/smbusers ²é¿´Ó³ÉäÎļþ
tail /var/log/samba/redhat.log ²é¿´/var/log/samba/Ŀ¼ÏµÄÈÕÖ¾

¾ßÌå²Ù×÷£º
#vi /etc/samba/smb.conf °²È«¼¶±ðΪuser
#groupadd sales
#groupadd tech
#useradd -g sales -s /bin/false tom
#useradd -g sales -s /bin/false jack
#smbpasswd -a tom
#smbpasswd -a jack
#for user in red blue
>do
> useradd -g tech -s /bin/false $user
> smbpasswd -a $user
> done

#useradd ceo
#useradd finance
#smbpasswd -a ceo
#smbpasswd -a finance
#mkdir /home/sales /home/tech
#chgrp sales /home/sales
#chgrp tech /home/tech
#chmod 770 /home/sales
#chmod 770 /home/tech
#chmod g+s /home/sales ·ÀֹȨÏÞ·¢Éú»ìÂÒ
#chmod g+s /home/tech
#vi /etc/samba/smb.conf
[global]
path = /home/sales
comment = sales
public = no
valid users = @sales
write list = @sales
create mask = 0770
directory mask = 0770
[tech]
path = /home/tech
comment = tech
public = no
valid users = @tech
write list = @tech
create mask = 0770
directory mask = 0770

linux²âÊÔ
1.smbclient -L 192.168.0.22 -U tom%tom
2.mount.cifs //192.168.0.22/ceo -o username ceo%ceo
windows¿Í»§»úÓ³ÉäÍøÂçÇý¶¯Æ÷£¬ÔÙÉ趨¡°ÎÒµÄÎĵµ¡±Î»Ö㬾ͿÉËæÊ±ËæµØ½«Îļþ±£´æÔÚsamba·þÎñÆ÷ÉÏ¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 4 ÌõÆÀÂÛ

  1. liuwenqing33 ÓÚ 2007-02-06 13:12:33·¢±í:

    ³õѧÕߣ¡~³¢ÊÔһϡ£Ð»Ð»Ìṩ£¡~¼òֱ̫ˬÁË~

  2. kisen ÓÚ 2007-01-26 20:50:19·¢±í:

    :0L

  3. oio-c ÓÚ 2007-01-26 16:07:25·¢±í:

    ºÜÈ«Ãæ£¬Ç¿£¡ÊÜÓÃÖС­¡­:0L

  4. zhangcx888 ÓÚ 2007-01-25 16:45:03·¢±í:

    ѧϰÖÐ