学而实习之 不亦乐乎

FreeBSD 中 samba 的安装及配置

2023-09-28 08:12:19

一、安装samba

# pkg search samba

p5-Samba-LDAP-0.05_2           Manage a Samba PDC with an LDAP Backend
p5-Samba-SIDhelper-0.0.0_3     Create SIDs based on G/UIDs
samba-nsupdate-9.16.5          nsupdate utility with the GSS-TSIG support
samba410-4.10.18               Free SMB/CIFS and AD/DC server and client for Unix
samba411-4.11.13               Free SMB/CIFS and AD/DC server and client for Unix
samba412-4.12.7                Free SMB/CIFS and AD/DC server and client for Unix
samba413-4.13.0                Free SMB/CIFS and AD/DC server and client for Unix

# pkg install samba413-4.13.0

二、配置使用 samba

1、打开/etc/rc.conf

# vi /etc/rc.conf

2、在/etc/rc.conf最后加入如下,并保存

# vim /etc/rc.conf
nmbd_enable="YES"
winbindd_enable="YES"
samba_enable="YES"
samba_server_enable="YES"

3、创建/usr/local/etc/smb4.conf,添加如下内容并保存

# vi /usr/local/etc/smb4.conf

[global]
netbios name = freebsd       # netbios名称
workgroup = WORKGROUP        # 工作组
server string = Samba Server # 描述字符串
security = user              # 安全模式,为了安全起见,建议使用user
hosts allow = 192.168.1.127. # 允许访问的网段
guest account = smbguest     # 使用smbguest账户访问共享文件夹
log file = /var/log/samba/log.%m # 日志文件的位置
max log size = 50            # 日志文件大小,最大50KB,超过后会自动删除旧的日志
passdb backend = tdbsam      # 数据库后端,现在的samba版本推荐使用tdbsam后端,所以才需要前面的第三步

[root]
    comment = root's stuff
    path = /root
    public = no
    browseable = yes
    writable = yes
    printable = no
    create mask = 0755

[Share]
comment = Sharing files in FreeBSD host.
path = /home/share       # 共享文件夹位置
valid users = smbguest   # 有效账户,只有通过smbguest才能访问共享文件夹
public = no
writable = yes
printable = no

4、创建 samba 用户和建立共享目录

1)创建 samba 用户

  • (1)samba用户管理使用smbpasswd和pdbedit命令
  • (2)samba认证使用的用户和组首先要在本地系统中存在
  • (3)samba只存储独立于本地系统的用户和口令信息,组则使用本地系统的组信息 
# pw groupadd loggroup    --创建系统本地组
# pw useradd -n weblog -g loggroup -d /tmp/king -s /usr/sbin/nologin    --创建系统用户
# /usr/local/samba/bin/smbpasswd -a weblog      --将系统本地用户变成samba用户 
或者
# pdbedit -a -u weblog

这一步很重要,因为第一步创建的是系统用户,这一部创建的samba用户,samba服务器会验证smbguest用户,通过验证后,才能通过系统用户smbguest访问文件系统。

错误信息:

/libexec/ld-elf.so.1: Shared object "libtalloc.so.1" not found, 

解决办法:

# cp /tmp/samba-3.4.3/source3/bin/* /usr/local/lib/ 

2)建立共享目录 

将目录属主更改为smbguest

# chown smbguest:smbguest /home/share
//将访问权限改为775
# chmod 775 /home/share

5、进入/usr/local/etc

# cd /usr/local/etc

6、启动samba服务

# service samba_server start //启动命令
或者
# service samba_server restart //重启命令

重新启动 inetd 和 samba
首先找到inetd的pid

# ps -aux | grep inetd
# kill -HUP [pid]
# cd /usr/local/etc/rc.d
# ./samba restart

7、查看samba状态:

# service samba_server status

8、在windows下利用\\192.168.253.128访问共享文件夹

\\192.168.253.128