linux下samba服务器的配置

linux下samba服务器的配置
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地址
[root@localhost /]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.10.2.95
NETMASK=255.255.255.0
GATEWAY=10.10.2.1
~

重启配置文件使之生效
# /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相关软件包是否被安装
[root@localhost /]# rpm -qa | grep samba
system-config-samba-1.2.21-1
samba-common-3.0.10-1.4E.2
samba-client-3.0.10-1.4E.2
samba-3.0.10-1.4E.2

如果没有samba-3.0.10-1.4E.2和system-config-samba-1.2.21-1文件,需要安装,system-config-samba-1.2.21-1必须要在samba-3.0.10-1.4E.2之前安装,安装过程如下:
[root@localhost ~]# 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%]
package system-config-samba-1.2.21-1 is already installed
[root@localhost ~]# rpm -ivh samba-3.0.10-1.4E.2.i386.rpm
warning: samba-3.0.10-1.4E.2.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
package samba-3.0.10-1.4E.2 is already installed

建立系统用户和samba用户账号
# useradd daimin
# smbpasswd -a daimin
# useradd daimin
# cat /etc/samba/smbpasswd
root:0:E8450C7E07112982AAD3B435B51404EE:2D7F1A5A61D3A96FB5159B5EEF17ADC6:[U ]:LCT-4A28B1BC:
oracle:500:E8450C7E07112982AAD3B435B51404EE:2D7F1A5A61D3A96FB5159B5EEF17ADC6:[U ]:LCT-4A28B1EE:
daimin:502:22B0691CF120B6FDAAD3B435B51404EE:040520291625361E10155AC55C1D3E41:[U ]:LCT-4A28B90E:

配置共享目录,在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 Jun 5 14:25 /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配置文件的语法进行检测,并显示当前配置的清单。

[root@localhost home]# 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
Starting SMB services:
Starting NMB services:
# service smb stop
Shutting down SMB services: [ OK ]
Shutting down NMB services: [ OK ]
# service smb restart
Shutting down SMB services: [ OK ]
Shutting down NMB services: [ OK ]
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]

可以使用smbclient命令配合"-L"选项显示指定samba服务器中的共享资源列表 -U可以指定用户
# smbclient -L 10.10.5.21
# smbclient -L 10.10.5.21 -U administrator
Password:

此时可以在 10.10.5.21 win机器上创建一个共享文件,可以用来将linux系统中的文件下载到 10.10.5.21 win机器上,如下:
[root@localhost home]# smbclient //10.10.5.21/public -U administrator
Password:
Domain=[IBM-9637-7793] OS=[Windows Server 2003 3790 Service Pack 1] Server=[Windows Server 2003 5.2]
smb: /> put 1
NT_STATUS_ACCESS_DENIED opening remote file /1

报NT_STATUS_ACCESS_DENIED opening remote file错误的原因是10.10.5.21 win 机器上上的共享文件的权限问题,需要设置下可写入权限。设置过可写权限之后,再执行如下:
smb: /> put 1
putting file 1 as /1 (4.4 kb/s) (average 0.4 kb/s)

下载成功!

# smbstatus
使用smbmount命令可以将samba共享目录挂载到linux系统中,可以使用--help查看详细参数
# smbstatus
Samba version 3.0.10-1.4E.2
PID Username Group Machine
-------------------------------------------------------------------
28399 root root ibm-9637-7793 (10.10.5.21)
Service pid machine Connected at
-------------------------------------------------------
IPC$ 28399 ibm-9637-7793 Fri Jun 5 14:43:48 2009
No locked files


[root@localhost home]# smbmount //10.10.2.95/public /mnt
Password:(默认为root密码)

其中10.10.2.95为samba服务器的ip地址,public为共享目录,/mnt为本地挂载点
查看加载的文件:
# cd mnt



卸载的话直接使用umount即可
# umount /mnt
# ls -pth
daimin

当然也可以挂载和卸载windows下的共享目录,方法是一样的
使用mount命令调用smbmount命令也可以实现windows共享目录的挂载,不过需要指定-t命令选项指定文件系统类型为smbfs,并使用-o指定使用的用户账号
# mount -t smbfs -o username=daimin //10.10.2.95/public /mnt
Password:
# cd /mnt
在windows系统中,如果要访问linux主机中的共享目录的话,可以在"运行"中输入"//服务器ip地址",并选择"确定",此时会提示输入网络密码,只要输入samba账号和密码即可

参考网页:http://huizhen.blog.51cto.com/382964/80882


下面使用界面来添加win系统与linux系统之间的共享文件夹:
需要使用命令system-config-samba来启动界面,但是在使用system-config-samba命令之前需要启动X-Win32服务;
# export DISPLAY=10.10.5.21:0.0
# system-config-samba
输入system-config-samba命令之后弹出Samba Server Configuration界面,
在此界面可以添加和删除共享文件夹



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值