centos 7 怎么启动samba

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos 7 怎么启动samba相关的知识,希望对你有一定的参考价值。

安装
安装的过程我不再具体写,百度一下有大把文档,稍微有点Linux基础的人我相信都能安装的了。我装了两次,第一次用的的min install, 装完以后发现ifconfig命令运行不了。
运行which ifconfig或者是find / -name "ifconfig*.*"都没有找到文件文件。
网上找了很多,有的说是环境变量没有,文件在bin 或者sbin下面。
正解是运行下面命令:
# yum install net-tools
原因是ifconfig已经过时了,可以用ip addr或者ip link查询。
因为我是新学,所以为了排除干扰,我重新选择了file and printer server模式安装。这个模式下安装ifconfig命令是可以运行的。
2.安装samba
运行下面命令:
# yum -y install samba samba-client samba-common
安装完成后运行 rpm -qa | grep "samba",确保都安装成功了。
wKiom1QnyN3im3QMAACEg_dNi6Q211.jpg
3. 配置samba
假设我们有这样一个场景

共享名 路径 权限
SHAREDOC /smb/docs 所有人员包括来宾均可以访问
RDDOCS /smb/tech 仅允许特定组的用户进行读写访问
准备工作:
创建共享目录(假设共享/smb目录下的文件)
# mkdir -p /smb/docs
# mkdir -p /smb/tech

//创建操作系统用户
# useraddalice
# useraddjack
# useradd tom
# useradd RD

//修改用户的组
# usermod -a-G RD alice
# usermod -a-G RD jack
# usermod -a-G RD tom
账号创建完以后检查用户所属组,确保每个用户所属组都有1003 RD
# id alice
uid=1000(alice) gid=1000(alice)groups=1000(alice),1003(RD)
# id jack

uid=1001(jack) gid=1001(jack)groups=1001(jack),1003(RD)
# id tom

uid=1002(tom) gid=1002(tom)groups=1002(tom),1003(RD)
# id RD

uid=1003(RD) gid=1000(RD)groups=1003(RD)

//修改目录权限
# chgrp RD /smb/tech
# chgrp RD /smb/docs
# chown RD /smb/tech
# chown RD /smb/docs
# chmod 770 /smb/tech
# chmod 770 /smb/docs

修改完成后再检查一下文件夹权限
# ls /smb -l

//备份原有的配置文件在原目录下
# cd /etc/samba
# cp smb.conf smb.conf.origin

# vi/etc/samba/smb.conf
删除原有所有内容,添加如下内容:
[global]
workgroup=BIGCLOUD
netbios name=ZZSRV2
server string=Samba Server
#security=share
security=user
map to guest = Bad User
[SHAREDOCS]
path=/smb/docs
readonly=yes
browseable=yes
guest ok=yes
[RDDOCS]
path = /smb/tech/
public = no
writable = yes

write list = @RD
validusers = @RD
4. 重启服务
RedHat Liunx都是用service restart smb来重启的,在CentOS里面服务的操作都是用systemctl来完成了。
运行下面命令:
# systemctl restart smb
# systemctl reload smb
# systemctl status smb
最后这条命令是检查状态的。
wKioL1Qn0hnxC41_AANT1o1nrS8028.jpg

5. 防火墙和SELinux
网上基本上没有文章提到这一点,所以我一直测试不成功,最后发现关闭SELinux和防火墙后就可以访问了。
关闭防火墙
wKiom1Qn046hB80lAADU-iQnisI052.jpg
关闭SELinux
wKiom1Qn06fydR1JAAHsK1ShxVY267.jpg

7. 客户端所属组
我成功测试的机器是一台在WORKGROUP工作组里面的windows 7,加入域的机器是访问不了的。这个可能和之前我们Samba里面设置的是workgroup有关系吧。
参考技术A http://www.centoscn.com/CentosServer/ftp/2015/0929/6248.html

centos63 samba启动不了

smb启动不了,如下
启动 SMB 服务:smbd: /usr/lib64/libtdb.so.1: no version information available (required by smbd)
smbd: /usr/lib64/libtdb.so.1: no version information available (required by smbd)
smbd: /usr/lib64/libtdb.so.1: no version information available (required by smbd)
smbd: /usr/lib64/libtalloc.so.2: no version information available (required by smbd)
smbd: /usr/lib64/libtevent.so.0: no version information available (required by smbd)
smbd: relocation error: smbd: symbol tevent_common_add_fd, version TEVENT_0.9.9 not defined in file libtevent.so.0 with link time reference
[失败]
[root@xxx桌面]# rpm -qa|grep samba
samba-common-3.6.9-164.el6.x86_64
samba4-libs-4.0.0-23.alpha11.el6.x86_64
samba-winbind-clients-3.6.9-164.el6.x86_64
samba-3.6.9-164.el6.x86_64
samba-client-3.6.9-164.el6.x86_64

参考技术A 执行一下 :

ldd /usr/sbin/smbd | egrep "libtdb|libtalloc|libtevent"
ls -l /usr/lib64/libtdb*
ls -l /usr/lib64/libtalloc*
ls -l /usr/lib64/libtevent*
结果贴出来追问

追答

smbd是系统光盘自带的?还是另外装的?

追问

网上下载的
samba-3.6.9-164.el6.x86_64.rpm

追答

怪不得,这个包跟动态库不匹配,卸载后直接装系统光盘里的。如果想要高版本的samba,需要下载源码,在当前环境重新编译

追问

确实是这样,我把iso 里的packages 里的对应版本拷贝进去是可行的。

追答

直接挂载ISO镜像文件装就是了

本回答被提问者采纳

以上是关于centos 7 怎么启动samba的主要内容,如果未能解决你的问题,请参考以下文章

centos63 samba启动不了

CentOS 7.x samba 服务器安装

centos 7最小安装后安装配置samba

samba如何加入ad域搭建文件共享

centos 7 minimal安装之后怎么设置

linux怎么装samba?