linux下samba服务器的配置

时间:2022-09-02 07:07:08
samba服务器的配置
RHEL4系统中默认安装了samba服务器和客户机的所有软件包,如果需要可以使用rpm命令进行安装,在第2张光盘中
RHEL4提供了如下4个与samba服务相关的软件包。
1、samba-common-3.0.10-1.4E.i386.rpm:此软件包提供了samba服务器和客户机中都必须使用的公共文件,因此该软件包必须在samba服务器和客户机软件包之前安装。
2、samba-3.0.10-1.4E.i386.rpm:此软件包包括了samba服务器程序的所有文件。
3、samba-client-3.0.10-1.4E.i386.rpm:此软件包提供了samba客户机的所有文件。
4、system-config-samba-1.2.21-1.noarch.rpm:该软件包中提供了Red Hat公司专门为samba服务器管理编写的图形界面的管理程序,该程序是Red Hat系统工具中的一部分。
首先给samba服务器配置一个静态永久ip地址
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=172.16.16.222
NETMASK=255.255.0.0
GATEWAY=172.16.16.1
ONBOOT=yes
TYPE=Ethernet
重启配置文件使之生效
# /etc/init.d/network restart
Shutting down interface eth0:  [  OK  ]
Shutting down loopback interface:  [  OK  ]
Setting network parameters:  [  OK  ]
Bringing up loopback interface:  [  OK  ]
Bringing up interface eth0:  [  OK  ]
然后查看samba相关软件包是否被安装
# rpm -qa | grep samba
samba-common-3.0.10-1.4E
samba-client-3.0.10-1.4E
如果没安装就挂载第2张光盘,把软件包安装上去
# mount /dev/cdrom /media/cdrom
# cd /media/cdrom/RedHat/RPMS/
# rpm -ivh samba-3.0.10-1.4E.i386.rpm
warning: samba-3.0.10-1.4E.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing...                ########################################### [100%]
   1:samba                  ########################################### [100%]
# rpm -ivh system-config-samba-1.2.21-1.noarch.rpm
warning: system-config-samba-1.2.21-1.noarch.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing...                ########################################### [100%]
   1:system-config-samba    ########################################### [100%]
# rpm -qa | grep samba
samba-3.0.10-1.4E
samba-common-3.0.10-1.4E
system-config-samba-1.2.21-1
samba-client-3.0.10-1.4E
建立系统用户和samba用户账号
# useradd qq
# smbpasswd -a qq
# useradd ww
# smbpasswd -a ww
# cat /etc/samba/smbpasswd
qq:503:CCF9155E3E7DB453AAD3B435B51404EE:3DBDE697D71690A769204BEB12283678:[U          ]:LCT-4A1B72DA:
ww:504:2ECDB8ACB87B6D97AAD3B435B51404EE:5A420E7750B39BE09FA29D314FA4B51C:[U          ]:LCT-4A1B732F:
配置共享目录,在samba服务器的默认设置中没有公共目录的设置,需要手动添加。 在对smb.conf文件进行设置之前需要先建立公共目录在linux系统中的录"/home/public",并设置该目录的属主和属组为nobody。
# mkdir /home/public
# chown nobody.nobody /home/public
# ls -ld /home/public
drwxr-xr-x  2 nobody nobody 4096 May 26 12:44 /home/public
下面修改配置文件
# vi /etc/samba/smb.conf
[public]   //为共享目录的名称
path=/home/public    //为共享目录对应的linux系统目录
comment = software    //设置对该共享目录的说明性的文字
public=yes    //设置为yes时表示该目录对于所有samba用户时可见的
only guest=yes    //设置为yes时表示所有用户在使用该共享目录时的用户身份都是guest,即linux系统用户nobody
writable=yes    //设置为表示该共享目录对于用户可写
在对smb.conf文件完成所有的配置以后,可以使用testparm命令对该配置文件进行测试,testparm命令是samba服务器软件包中提供的配置文件测试工具,可以对smb.conf配置文件的语法进行检测,并显示当前配置的清单。
# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[public]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
        workgroup = MYGROUP
        server string = Samba Server
        log file = /var/log/samba/%m.log
        max log size = 50
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        printcap name = /etc/printcap
        dns proxy = No
        idmap uid = 16777216-33554431
        idmap gid = 16777216-33554431
        cups options = raw
[homes]
        comment = Home Directories
        read only = No
        browseable = No
[printers]
        comment = All Printers
        path = /var/spool/samba
        printable = Yes
        browseable = No
[public]
        comment = software
        path = /home/public
        read only = No
        guest only = Yes
        guest ok = Yes
启动samba服务器
使用下列命令启用samba服务器
# service smb start
停止使用:
# service smb stop
重新启动使用:
]# service smb restart

可以使用smbclient命令配合"-L"选项显示指定samba服务器中的共享资源列表 -U可以指定用户
# smbclient -L 172.16.16.222
Password:
# smbclient -L 172.16.16.222 -U qq
Password:
指定用户身份登录到指定服务器的指定的共享目录中。进入共享目录后,可以使用put命令把执行smbclient命令所在主机中的文件上传到samba服务器的共享目录中;使用get命令可以将服务器共享目录中的指定文件下载到执行smbclient命令的主机中。          
# smbclient //172.16.16.222/public -U qq
Password:
要退去使用quit。
使用smbstatus命令显示当前主机中的samba服务器的连接状态信息。
# smbstatus
使用smbmount命令可以将samba共享目录挂载到linux系统中,可以使用--help查看详细参数
# smbmount --help
# smbmount //172.16.16.222/public /mnt
其中172.16.16.222为samba服务器的ip地址,public为共享目录,/mnt为本地挂载点
卸载的话直接使用umount即可
# umount /mnt
当然也可以挂载和卸载windows下的共享目录,方法是一样的
使用mount命令调用smbmount命令也可以实现windows共享目录的挂载,不过需要指定-t命令选项指定文件系统类型为smbfs,并使用-o指定使用的用户账号
]# mount -t smbfs -o username=qq //172.16.16.222/public /mnt
Password:
# cd /mnt
在windows系统中,如果要访问linux主机中的共享目录的话,可以在"运行"中输入"\\服务器ip地址",并选择"确定",此时会提示输入网络密码,只要输入samba账号和密码即可。
 

本文出自 “西西的小窝” 博客,请务必保留此出处http://huizhen.blog.51cto.com/382964/80882