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账号和密码即可。