ubuntu 14.04 samba 服务器&&ubuntu 12.04 samba 服务器设置

ubuntu samba 服务器设置

安装 SAMBA 组件

sudo apt-get install samba smbfs smbclient

ubuntu 14.04 使用以下方式安装:

1
2
3
4
5
6
7
若之前有安装过相关软件包,先卸载之:
sudo apt- get  autoremove samba samba-common
sudo apt- get  autoremove system-config-samba
 
按如下方式安装软件包
sudo apt- get  install samba samba-common
sudo apt- get  install system-config-samba cifs-utils

 

配置相关参数

sudo gedit /etc/samba/smb.conf

文件中相关属性如下

1.全局设置部分

security = user
    这行设置了samba的安全等级,Samba一共可以设置四个安全登记,由底到高分别为:
    share        这个选项表示任何人都可以不需要输入密码登录。 
    user          这个是Samba的默认级别,要求每个用户必须输入密码才能登录。
    server      user级别的密码都是保存在本机上,而server级别的密码和用户名都保存在另一台主机上。
    domain    这个级别要求网络里必须有一台Windows的域控制器,验证工作由域控制器来完成。
    需要注意,只要输入用户名和密码的级别,其用户名一定首先也是Linux系统内的用户

workgroup = MSHOME
    这部分是Windows主机的工作组明,Windows主机必须在同一个工作组中
server string = %h server(Samba,Ubuntu)
    这个选项是显示在Windows上的信息,可以自定义,其中%h为Samba配置文件中的变量,代表了主机名,即使用hostname命令得到的主机名

map to guest = bad user

    当 security = user 时,这个选项必须注释掉,如:# map to guest = bad user

2.共享设置部分

添加一个共享文件夹设置如下
[share]

    共享文件名,不需要与实际文件名一致
comment = my share directory

    对这个共享分支的描述
path = /share

    系统的共享目录,必须为绝对路径
public = yes

    是否允许所有人都能够看到此目录,no为看不到
writable = yes

    是否允许用户在此目录下可写,no为不可些,如果可写,还需要目录具有写权限
read only = yes

    设置用户是否只读
vaild users = username

    设置只有 username 用户有效

SAMBA 用户管理

在需要密码登录时有效,在设置用户密码时,此用户必须是LINUX系统的用户,如下面的指令 user 必须先是系统的用户

sudo smbpasswd -a user

接下来根据提示输入两次密码即可

smbpasswd 指令相关参数如下:

-a    新添加一个Samba用户。
-d    禁用一个Samba用户。
-e    使禁用的Samba用户解禁。


启动 SAMBA 服务

复制代码
# 停止 SAMBA 服务
sudo /etc/init.d/smbd stop
# 启动 SAMBA 服务
sudo /etc/init.d/smbd start
# 重新启动
sudo /etc/init.d/smbd restart
复制代码


在 WINDOWS 下访问共享目录

# 在资源管理器,或浏览器中直接输入即可, “192.168.1.10” 为服务器 IP
\\192.168.1.10


注意:有时会出现无法访问的情况:

 无法访问。您可能没有权限使用网络资源,请与这台服务器的管理员联系以查明您是否有访问权限。
指定的网络名不再可用

通过 Samba的log, /var/log/samba/log.{计算机名} - 计算机名是你的windows主机名称
可以看到,访问出错时会产生大量的 err log

  1.  [2016/09/22 23:26:18.333436,  0] ../source3/lib/util.c:809(smb_panic_s3)
      64   smb_panic(): action returned status 0
      65 [2016/09/22 23:26:18.333568,  0] ../source3/lib/dumpcore.c:318(dump_core)
      66   dumping core in /var/log/samba/cores/smbd
      67 Please install an MTA on this system if you want to use sendmail!
      68 [2016/09/22 23:26:21.085401,  0] ../source3/lib/popt_common.c:                  68(popt_s3_talloc_log_fn)
      69   talloc: access after free error - first free may be at ../source3/smbd/       open.c:3715
      70 [2016/09/22 23:26:21.085457,  0] ../source3/lib/popt_common.c:                  68(popt_s3_talloc_log_fn)
      71   Bad talloc magic value - access after free
      72 [2016/09/22 23:26:21.085474,  0] ../source3/lib/util.c:789(smb_panic_s3)
      73   PANIC (pid 2450): Bad talloc magic value - access after free
原因是talloc的版本不匹配导致的!安装 libtalloc解决,apt-get install libtalloc2


ubuntu 12.04 安装samba

sudo su 进入root用户:
第一步:安装samba服务器

Samba服务在Ubuntu12.04版本中中默认安装,对于其他没有默认安装的版本来说,可以通过一

下命令来安装所需要的软件:

         1:sudo apt-get install samba

         2:   sudo apt-get install smbfs

第二步:配置samba服务器

 (1)创建共享目录:

        mkdir /home/share

 (2)更改目录权限:

         chmod 777 /home/share

 (3)  配置Samba服务
     

保存现有的配置文件

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

       /etc/samba/smb.conf是Samba服务器的配置文件,我们设置共享目录均是在这个文件中进

行配置。

   在Windows系统中不用输入密码访问Linux共享目录:在Linux共享一个目录,将建立好的目录

的设置信息写入/etc/smb.conf文件即可。

      修改samba配置文件smb.conf:

     // #security=user 修改为:security=share

      在文件最后添加如下:

      [share]
      comment=share
      path=/home/share
      public=yes
      writeable=yes
      browseable = yes

      保存退出。

  (4) 创建samba帐户

   sudo touch /etc/samba/smbpasswd
   sudo smbpasswd -a sam(此处的用户必须是你已经在本机创建的用户,否则无效)

然后会要求你输入samba帐户的密码

  [如果没有第四步,当你登录时会提示 session setup failed: NT_STATUS_LOGON_FAILURE]


      (5)重启Samba服务器:/etc/init.d/smbd restart

        在windows命令行中输入\\192.168.1.141(虚拟机ip)

你可能感兴趣的:(ubuntu 14.04 samba 服务器&&ubuntu 12.04 samba 服务器设置)