设为首页 收藏本站
查看: 1159|回复: 0

[经验分享] linux命令:samb文件共享服务器配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-3-23 09:08:23 | 显示全部楼层 |阅读模式
为了实现Windows主机与Linux服务器之间的资源共享,Linux操作系统提供了Samba服务,Samba服务为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,为广泛的Linux爱好者提供了极大方便。本文简要介绍如何在Linux操作系统上搭建Samba服务器和简单配置。
1、服务查询
        默认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分 ,为了对整个过程有一个完整的了解,在此先将这部分卸载掉。使用命令
rpm -qa | grep samba ,默认情况下可以查询到两个已经存在的包:
        samba-client-3.0.33-3.7.el5
        samba-common-3.0.33-3.7.el5
2、卸载Samba
        用rpm -e 将两个包卸载掉。对于samba-common-3.0.33-3.7.el5,因为与其它rpm包之间存在依赖关系,所以必须加参数-f和--nodeps,-f是指强制,--nodeps是指不检查依赖关系,具体完整命令为:
        rpm -e samba-common-3.0.33-3.7.el5 -f --nodeps
        rpm -e samba-client-3.0.33-3.7.el5 -f --nodeps
3、安装Samba
        用以下命令安装:
          rpm -ivh samba-3.0.33-3.29.el5_6.2.i386.rpm -f --nodeps
      rpm -ivh samba-client-3.0.33-3.29.el5_6.2.i386.rpm  -f --nodeps
    rpm -ivh samba-common-3.0.33-3.29.el5_6.2.i386.rpm -f --nodeps
安装完成后,使用命令rpm -qa | grep samba进行查询,发现搭建samba服务器所依赖的所有服务器都已经安装好了即可。
4、配置smb.conf文件
        Samba的配置文件一般就放在/etc/samba目录中,主配置文件名为smb.conf,文件中记录着大量的规则和共享信息,所以是samba服务非常重要的核心配置文件,完成samba服务器搭建的大部分主要配置都在该文件中进行。
        Samba服务器的工作原理是:客户端向Samba服务器发起请求,请求访问共享目录,Samba服务器接收请求,查询smb.conf文件,查看共享目录是否存在,以及来访者的访问权限,如果来访者具有相应的权限,则允许客户端访问,最后将访问过程中系统的信息以及采集的用户访问行为信息存放在日志文件中。

实例操作:如何通过samba共享linux文件目录:
第一步:修改配置文件
     首先备份一下samba的配置文件
                cd /etc/samba
                cp smb.conf smb.confbak
        然后重新创建一个smb.conf文件
                vim smb.conf
        然后我们把这段写入smb.conf中
[global]                                 #全局设置
            workgroup = WORKGROUP
            netbios name = MYSERVER
            server string = Samba Server TestServer
            security = share

[shared_name]       #共享名称
comment =           #注释信息
path =              #共享目录的路径
browseable =        #是否可以浏览(yes|no)
read only =         #是否只读(yes|no)
writable =          #是否可写(yes|no)
write list = user1,user2,@group,+group      #定义可写列表,可以是用户或者组
valid users =            #定义白名单
invalid users =          #定义黑名单

注解:
[global]这段是全局配置,是必段写的。其中有如下的几行;
workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;
[shared_name] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable = 是否可写,这里我设置为可写;
browseable = 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable = no
guest ok = 匿名用户是否允许以guest身份是登录;


第二步:建立目录并设置好权限
[iyunv@johntest samba]# mkdir /share/test -pv  #递归建立目录
mkdir: 已创建目录 “/share”
mkdir: 已创建目录 “/share/test”
修改samba配置文件,在最后面增加以下几行:
[iyunv@johntest samba]# vim smb.conf
[tools]
      comment = Share Testing
      path = /share/test
      public = yes
      writable = yes
[iyunv@johntest samba]# testparm   #查看测试配置文档是否有问题
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[tools]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
        server string = Samba Server Version %v
        passdb backend = tdbsam
        log file = /var/log/samba/%m.log
        max log size = 50
        cups options = raw

[homes]
        comment = Home Directories
        read only = No
        browseable = No

[printers]
        comment = All Printers
        path = /var/spool/samba
        printable = Yes
        browseable = No

[tools]
        comment = Share Testing
        path = /share/test
        read only = No
        guest ok = Yes
第三步:启动smbd和nmbd服务器;

[iyunv@johntest samba]# service smb start   #启动samba服务
启动 SMB 服务:                                            [确定]
启动 NMB 服务:                                            [确定]
第四步:把相关需要访问共享的用户设置为samba服务用户
[iyunv@johntest samba]# smbpasswd -a hadoop #把系统已存在的用户hadoop设置为samba服务的用户
New SMB password:           #设置访问共享的密码,此密码最好跟系统用户的登录密码不同
Retype new SMB password:
Added user hadoop.    #添加成功
[iyunv@johntest samba]#  ll
总计 52
-rw-r--r-- 1 root root   20 2009-05-29 lmhosts
-rw------- 1 root root 4096 03-22 10:14 passdb.tdb     #已经生成了密码数据库文件
-rw------- 1 root root 8192 03-22 10:14 secrets.tdb    #已经生成了安全密钥数据库文件
-rw-r--r-- 1 root root 9733 03-22 09:10 smb.back
-rw-r--r-- 1 root root 9839 03-22 10:09 smb.conf
-rw-r--r-- 1 root root   97 2009-05-29 smbusers
通过windows客户端访问测试结果如下,成功访问共享目录:
iyunv.com-2017-3-232.jpg
由于tools目录暂时没有给hadoop用户写权限,所以暂时无法再该目录下新建文件,需先修改tools目录的访问权限:
[iyunv@johntest samba]# setfacl -m u:hadoop:rwx /share/test/  #给用户hadoop设置facl权限,使得对test目录具有读写执行权限。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-353849-1-1.html 上篇帖子: Rsync服务场景问题及解决方法 下篇帖子: ubunut14.04修改时区,查看版本信息 服务器 linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表