Samba/从 Shell 使用 Samba 配置工作组
安装 Samba 后,你需要配置它
Samba 的配置通过编辑 smb.conf 文件进行,该文件通常位于 /etc/samba/ 目录下。 通常有一个 smb.conf.example 文件,该文件有很好的注释,可以帮助你配置服务器。 只需编辑它并保存为 smb.conf 即可轻松启动服务器。
要启动 samba,请启动其两个守护进程,smbd 和 nmbd。
现在,你的电脑的共享目录和文件也应该可以在你的 Windows 网络(我的网络位置)上查看。
要在 Linux 环境中查看 Windows 共享,请运行 smbtree 命令。
本主题分叉成两个分支
- 服务器(文件、打印等)
- 域控制器
当然,这是一个过度简化。 你可以将这些方法结合起来,但现在保持简单,以避免不必要的麻烦。
- 文件服务器由网络中由 smbd 守护进程控制的计算机共享组成 - 文件、打印机、设备、队列等。
smbd 的作用是负责授予或拒绝对这些部分的受控访问。
配置和安装 Samba 的方法有很多。 最好是保持简单,关注你的需求。 对于匆忙的系统管理员,甚至穷人,我建议使用一些基本方法,将复杂性和安全调整推迟到以后的迭代。
简而言之,它是一个用于集中任务的独立服务器:文件和打印服务。
备份 smb.conf 中的原始文件
# cd /etc/samba # mv smb.conf smb.conf.orig # touch smb.conf
并将这些行插入新的文件中
[global] workgroup = SAMBAGRP netbios name = SAMBAKISS security = SHARE passdb backend = guest [data] comment = Public Data path = /srv/myshares read only = no
此方法只需要一个帐户 - guest - 才能连接。 要添加 guest 帐户,请按照脚本操作
- 在 Unix 系统上创建 guest 帐户
- 将 shell 更改为 false 来阻止本地访问
- 从 guest 帐户中删除密码
adduser 脚本非常适合
# adduser --home /dev/null --shell /bin/false --no-create-home --uid 65533 --disabled-password guest
- 创建或映射 Samba 帐户
# smbpasswd -a guest New SMB password: (type ENTER) Retype new SMB password: (type ENTER) Added user guest.
[TODO]
在启动之前,最好检查主机上运行的 Samba 部分
$ ps ax ¦ grep .*mbd
通常有两个进程,nmbd 和 smbd(smbd 实例的数量和守护进程的路径可能有所不同)。 这表明 Samba 正在运行。
$ ps ax ¦ grep mbd 29402 ? Ss 0:03 /usr/sbin/nmbd -D 29404 ? Ss 0:00 /usr/sbin/smbd -D
另一种方法(更复杂)需要 root 权限
$ sudo smbcontrol nmbd ping PONG from pid 29402 $ sudo smbcontrol smbd ping PONG from pid 29407 (number of smbd daemons may vary)
Samba 的主要部分是名为 smbd 和 nmbd 的守护进程。
- smbd:负责文件、登录、共享等
- nmbd:处理名称
当使用 Samba 套件时,你是在向这些守护进程发送请求,主要是向 smbd 发送请求。
Samba 使用文件来保存其控制。 主要关注两种类型的文件:平面文件和微不足道的数据库文件。
必须创建和初始化用户数据库,并使用共享和系统参数准备主配置文件。 在尝试实现实际的生产站点之前,最好阅读一下现有文档,识别并可能写下说明。
通常,Samba 服务器是基于即时启动和遗忘哲学启动的,后来(每年一次)不得不匆忙恢复同一服务器,却发现你记不起如何添加用户、调整等。
- 检查 smb.conf
在配置或更改 smb.conf 后,建议在启动之前测试修改。 你可以通过运行并阅读可能的错误消息或异常来做到这一点
$mybox:~$ sudo testparm
- 启动/停止 Samba
实际上,根据你的发行版,你将运行一个之前准备好的批处理文件来启动 Samba,该文件驻留在启动脚本集中。
基于 Debian 的发行版使用
$mybox:~$ sudo /etc/init.d/samba start # starts samba
$mybox:~$ sudo /etc/init.d/samba stop # stops samba
- 一步重启并检查
# /etc/init.d/samba restart && ps ax | grep mbd
- 添加/删除用户
[TODO]
Using smbpasswd to - add user - change password
- 检查日志文件
[TODO]
- 备份 smb.conf 和 tdb 数据库
[TODO]