IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]Linux使用技巧2--Ubuntu下使用samba来创建共享文件夹

    lincyang发表于 2015-01-03 15:30:34
    love 0

    友情帮助:博主参加2014博客之星评选,请大家多多支持哦!投票链接请猛击!


    samba,连接Unix阵营和Windows系统的桥梁。在类Unix系统中安装samba服务端,让windows系统像访问共享文件夹一样访问类Unix系统中的指定文件夹。

    samba,桑巴舞蹈也是它呢!给一个软件起了这样性感的名字,想想是不是醉了。

    有了这个小家伙,解决了我们局域网多个系统互相访问文件的大麻烦。下面是全过程。

    1.安装samba,apt-get 推荐我安装samba4.

    sudo apt-get install samba4

    安装时遇到错误:
    /var/lib/dpkg/info/samba4.postinst: 14: /var/lib/dpkg/info/samba4.postinst: /usr/share/samba/setoption.pl: Permission denied
    dpkg: error processing samba4 (--configure):
    subprocess installed post-installation script returned error exit status 126
    Errors were encountered while processing:
    samba4
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    应该是我的dpkg有问题,源于上一次的apt-get upgrade中途被我人工阻断。
    解决的办法是删掉/var/lib/dpkg/info这个文件夹并重新创建它。
    cd /var/lib/dpkg
    sudo mv info info.bak
    sudo mkdir info
    重新install就可以了。

    2.在/home下创建文件夹用以共享

    home$ sudo mkdir share
    home$ sudo chmod 777 share
    创建一个文件在share文件夹中,一会用它作为访问成功与否的标志。

    3.修改smb的配置文件

    之前可以先做个备份
    home$ sudo cp /etc/samba/smb.conf /etc/samba/smb-bk.conf
    home$ sudo vim /etc/samba/smb.conf 
    找到security = user这一句,如果被注释了,就放开注释。
    在其后增加一句:username map = /etc/samba/smbusers
    在文件的最后增加下面语句:
    [Share]
    comment = Shared Folder
    path = /home/share
    public = yes 
    writeable = yes 
    valid users = friend
    create mask = 0700
    directory mask = 0700
    force user = nobody
    force group = nogroup
    available = yes 
    browseable = yes 

    上面设置了文件的路径和可用的用户为friend。

    再搜索[global]
    在workgroup = workgroup下面增加如下:
    display charset = UTF-8
    unix charset = UTF-8
    dos charset = cp936
    保存并退出。

    4.增加friend账户

    home$ sudo useradd friend
    为friend设置smb密码
    home$ sudo smbpasswd -a friend
    New SMB password:
    Retype new SMB password:
    Added user friend.

    5.新建smbusers文件并增加一行语句

    home$ sudo vim /etc/samba/smbusers
    friend = "network username"

    6.重启smbd

    home$ sudo service smbd restart

    查看smbd监听端口
    home$ sudo netstat -tlnp | grep smb
    tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      5224/smbd       
    tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      5224/smbd   

    7.在windows中测试

    命令行输入\\my ip
    就可以访问了。

    参考:
    http://linux.vbird.org/linux_server/0370samba.php


沪ICP备19023445号-2号
友情链接