跳转到内容

Samba/从 Shell 使用 Samba 配置工作组

来自维基教科书,开放的书籍,开放的世界

配置 Samba

[编辑 | 编辑源代码]

安装 Samba 后,你需要配置它

Samba 的配置通过编辑 smb.conf 文件进行,该文件通常位于 /etc/samba/ 目录下。 通常有一个 smb.conf.example 文件,该文件有很好的注释,可以帮助你配置服务器。 只需编辑它并保存为 smb.conf 即可轻松启动服务器。

使用 Samba

[编辑 | 编辑源代码]

要启动 samba,请启动其两个守护进程,smbdnmbd

现在,你的电脑的共享目录和文件也应该可以在你的 Windows 网络(我的网络位置)上查看。

要在 Linux 环境中查看 Windows 共享,请运行 smbtree 命令。

提前决定你真正想要什么

[编辑 | 编辑源代码]

本主题分叉成两个分支

- 服务器(文件、打印等)

- 域控制器

当然,这是一个过度简化。 你可以将这些方法结合起来,但现在保持简单,以避免不必要的麻烦。

服务器

[编辑 | 编辑源代码]

- 文件服务器由网络中由 smbd 守护进程控制的计算机共享组成 - 文件、打印机、设备、队列等。

smbd 的作用是负责授予或拒绝对这些部分的受控访问。

服务器 KISS

[编辑 | 编辑源代码]

配置和安装 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 帐户,请按照脚本操作

  1. 在 Unix 系统上创建 guest 帐户
  2. 将 shell 更改为 false 来阻止本地访问
  3. 从 guest 帐户中删除密码

adduser 脚本非常适合

# adduser --home /dev/null --shell /bin/false --no-create-home --uid 65533 --disabled-password guest
  1. 创建或映射 Samba 帐户
# smbpasswd -a guest
New SMB password: (type ENTER)
Retype new SMB password: (type ENTER)
Added user guest.

域控制器

[编辑 | 编辑源代码]

[TODO]

管理 Samba

[编辑 | 编辑源代码]

基本检查

[编辑 | 编辑源代码]

在启动之前,最好检查主机上运行的 Samba 部分

$ ps ax ¦ grep .*mbd

通常有两个进程,nmbdsmbd(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 的主要部分是名为 smbdnmbd 的守护进程。

  • 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]

华夏公益教科书