Samba是Linux上提供共享目录服务的软件,类似于Windows上的共享文件夹。本文主要介绍如何在Ubuntu环境中安装及配置Samba服务。

  1. 安装Samba

    $ sudo apt-get install samba
    
  2. 备份Samba初始配置

    $ sudo cp /etc/samba/smb.conf{,_bak}
    
  3. 修改Samba配置

    $ sudo vi /etc/samba/smb.conf
    
  4. [global]部分设置全局配置

    display charset = UTF-8    # 设置显示字符集
    unix charset = UTF-8       # 设置Unix字符集
    dos charset = cp936        # 使用Dos系统访问时,该系统的字符集。如果是中文操作系统,建议设为cp936
    
  5. 在配置文件末尾加上要共享的目录

    [share]                   # 对外显示的目录名称,本例中就可以用"\\主机地址\share"来访问此目录
    comment = Shared Folder   # 目录描述
    path = /home/bjhee/share  # 共享目录的实际地址
    public = no               # 除valid users之外是否对其他用户开放
    writable = yes            # 登录用户对自己的目录有写权限
    valid users = bjhee       # 允许访问的用户名,多个用户名用空格分隔
    create mask = 0744        # 创建文件的掩码,0744指文件创建者可以读/写/执行,其他账户只能读
    directory mask = 0755     # 创建目录的掩码,0755指目录创建者可以读/写/开打,其他账户只能读和打开
    force user = bjhee        # 只允许特定用户访问
    force group = bjhee       # 只允许特定组访问
    available = yes           # 可以打开和关闭该部分配置提供的服务。此处设为no时,share就不再共享
    browseable = yes          # 设定目录对于正在网络上浏览的用户是否可见
    
  6. 重启Samba服务

    $ sudo service smbd restart
    
  7. 从远程Windows机上打开\\主机地址\share,输入用户名bjhee及密码。就可以打开Ubuntu机上/home/bjhee/share目录,而且能够自由的读写文件。

  8. 另附Linux上访问远程Samba目录的方法(假设主机地址是192.168.1.2;,用户名bjhee,密码password

    • 挂载远程Samba目录

      $ sudo mount -t cifs //192.168.1.2/share /mnt/share -o username=bjhee,password=password
      
    • 卸载目录

      $ sudo umount /mnt/share