zoukankan      html  css  js  c++  java
  • 关于samba在linux下的使用方法(windows与linux代码同步的方法)

    关于Samba,大家有没有这种感觉,弄了N久丫的死活不喘气儿。找来各种“哥”和“姐”,发现全是“详解…配置专题”,看了半天不知道别个在说什么,好不容易找了个简单的教程,从头到尾跟着做,尼玛,浪费时间精力不说,就是跑不起来。是不是有种吐血的生理反应了。唉,不会写文档的娃,伤不起啊。而本文实现的是Linux和Windows间资源互通的问题:在Linux下架设Samba服务器,在Windows下来访问。

    1、  下载及安装Samba

            推荐用yum来安装,这样它可以自己解决包的依赖关系,省时、省事又方便。一条命令搞定:

            yum -y install samba

    2、  配置Samba

            关于Samba的配置网上资料一大堆,可照着很多教程一步一步做下去发现最后就是用不了,郁闷至极啊。

            我的目的不是多仔细,多深入的教你Samba的好,而是教会你如何快速的可以将Samba用起来,因此安全性方面的东西考虑的不是很多。但为了照顾到大家不同档次的水平和口味,我还是尽可能的多写一些东西。

            首先,我强烈的建议大家在修改系统原有任何文件的时候一定要养成“先备份,后修改”的好习惯,相信我,这个习惯会为侬节约很多不必要浪费的时间。接下来我要做的是将/home/目录下的用户“koorey”的主目录给挖出来,供我在windows下访问。步骤如下:

           1). 备份Samba的配置文件:cp  /etc/samba/smb.conf  /etc/samba/smb.conf.bak

           2). 网上很多教程说针对/etc/samba/smb.conf文件要在[global]字段中加入下配置项:

                  dos charset = GB2312 ←将Windows 客户端的文字编码设置为简体中文 GB2312

                      unix charset =GB2312 ←指定Samba所在的CentOS服务端新建文件或目录时的编码为 GB2312

                     display charset= GB2312 ←指定使用SWAT(一种通过浏览器控制Samba的工具)时页面的默认文字编码

                     directory mask =0777 ←指定新建目录的属性(以下4行)

                     force directorymode = 0777

                     directorysecurity mask = 0777

                     force directorysecurity mode = 0777

                     create mask =0777 ←指定新建文件的属性(以下4行)

                     force createmode = 0777

                     security mask =0777

                     force securitymode = 0777

            声明:我没有加这些配置,而且在我在共享出来的目录里添加,修改删除文件都没任何问题,还没有乱码现象。

            我在/etc/samba/smb.conf文件的末尾之添加如下字段:

            [koorey]

                    comment = koorey

                    path = /home/koorey

                    writable = yes

            3). Linux中/etc/passwd里的用户和Samba里的用户几乎没啥关系,硬说有的话,那就是:Samba的所有用户都必须是系统里已存在的用户。我们要授权系统用户访问Samba的话,通过命令:

            smbpasswd  -a   koorey  #添加用户koorey到Samba用户数据库中

            这条命令输入完后,会提示为新建的用户koorey设置访问密码。最后再执行一下service smb restart命令就OK了。至此,Samba服务器就架设好了。不信?为啥?因为后面还有章节,哈哈,说的没错。理论上说确实已经架设好了,可千万不要忽略了Linux的安全机制的存在:iptables和selinux。其中本人就吃了selinux不少苦头。因为只弄了iptables,却忘记了selinux这个牛叉叉的家伙。关于iptables本人会在后面的博客从头到脚,从里到外,循序渐进的以此和大家交待它的来龙去脉。当然,如果你感兴趣的话。

    3、  在对待iptables的问题上:

            普通青年:直接在命令行敲…

                service  iptables stop

            文艺青年:依次在命令行敲…

                iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT

                iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

                iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 137 -j ACCEPT

                iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 138-j ACCEPT

                iptables-save

                service iptables  restart

    4、  同样,在对在selinux的问题上:(这丫的把我坑惨了呀)

            普通青年:直接在命令行敲…

                setenforce 0

                vi /etc/selinux/config

            将SELINUX=enforcing改为SELINUX=disabled为开机重启后不再执行setenfore节约光阴。

           文艺青年:依次在命令行敲…

                setsebool -Psamba_enable_home_dirs on

                setsebool -Psamba_export_all_rw on

           完事儿之后再:getsebool  -a  | grep  samba一把,你懂得…

    5、最后在Windows系统里,访问结果如下:

            

    1. Samba软件包的安装

    使用源安装,在终端中输入如下命令:

    #sudo apt-get install samba
    #sudo apt-get install smbclient


    2. Samba服务器的启动、关闭和重启

    启动Samba服务器只需执行如下命令:
    #sudo /etc/init.d/samba start

    关闭Samba服务器:
    #sudo /etc/init.d/samba stop

    重新启动Samba服务器:
    #sudo /etc/init.d/samba restart



    启动Samba服务器后,可以使用ps命令查看进程:
    #ps -aux


    可以看到Samba服务会同时启动两个服务,其中smbd主要用来管理共享出来的目录,nmbd主要用来解析NetBIOS名。在Windows系统中, 主机可以被加入一个组中,这样每个主机都必须有一个名字,这个名字是用于在网上被标志的名,并非机器的主机名,将其称为NetBIOS名。其中nmbd进 程是随着smbd进程启动而启动。

    3. 配置Samba服务

    Samba服务器主要配置文件为/etc/samba/smb.conf,并且可以将NetBIOS名与主机的对应关系写在/etc/samba /lmhosts文件中。

    (1)在Windows系统中不用输入密码访问Linux共享目录
    在Linux共享一个目录,将建立好的目录的设置信息写入/etc/smb.conf文件即可。如:若共享/home/myth/share目录,要在 Windows系统中访问这个共享的目录,假设Windows主机的IP为192.168.0.11,Linux主机的IP为192.168.10,进行 如下操作:
    #mkdir /home/myth/share
    sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak       //修改配置文件之前最好做个备份
    #vim /etc/samba/smb.conf   
    或者使用 sudo gedit /etc/samba/smb.conf 打开配置文件
    将文件中的内容做如下相应修改:
    #security=user 后面添加:
    security=share
    在文件结尾添加如下行:
    [share]
    comment=this is Linux share directory
    path=/home/myth/share
    public=yes
    writable=yes

    保存退出,启动Samba服务:
    #/etc/init.d/samba start

    设置完成!

    在Windows 下访问共享目录,可点击运行,输入
    \192.168.0.10share

    这样就能以匿名用户访问共享目录share了。

    关于Windows下无写权限:chmod -R go+rwx share/

     

     
  • 相关阅读:
    VS2013 添加 ILDasm
    XmlIgnore的使用
    前端常见跨域解决方案(全)
    网络请求中的cookie与set-Cookie的交互模式的一些问题解析
    各浏览器Cookie大小、个数限制
    Linux常用命令分类
    给博客园中博文的图片添加单击时弹出放大效果——lightbox
    给博客园中博文的图片添加单击时弹出放大效果—— zoom.js
    CSS3新单位vw、vh、vmin、vmax使用详解
    session,cookie,sessionStorage,localStorage的相关设置以及获取删除
  • 原文地址:https://www.cnblogs.com/zlzxc/p/6387267.html
Copyright © 2011-2022 走看看