Lubos Rendek
Debian
13 June 2017

Objective

The objective is to perform a basic configuration of Samba server on Debian 9 Stretch Linux to provide access to Samba shares via MS Windows client machine.

Operating System and Software Versions

  • Operating System: - Debian 9 Stretch
  • Software: - Samba 4.5.8-Debian

Requirements

Privileged access to your Debian system will be required.

Difficulty

EASY

Conventions

  • # - requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
  • $ - requires given linux commands to be executed as a regular non-privileged user

Scenario

The below configuration procedure will assume a following scenario and pre-configured requirements:

  • Server and MS Windows client are located on the same network and no firewall is blocking any communication between the two
  • MS Windows client can resolve samba server by hostname samba-server
  • MS Windows client's Workgroup domain is WORKGROUP

Instructions

Installation

Let's start by Samba server installation:

# apt install samba

Furthermore, for testing purposes it is also recommended to install samba client:

# apt install smbclient

Samba server should now be up and running on your system:

# systemctl status smbd
● smbd.service - Samba SMB Daemon
Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2017-06-13 10:35:34 AEST; 3min 32s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 1654 (smbd)
Status: "smbd: ready to serve connections..."
CGroup: /system.slice/smbd.service
├─1654 /usr/sbin/smbd
├─1655 /usr/sbin/smbd
├─1656 /usr/sbin/smbd
└─1659 /usr/sbin/smbd

SUBSCRIBE TO NEWSLETTER
Subscribe to Linux Career NEWSLETTER and receive latest Linux news, jobs, career advice and tutorials.



Default Samba Configuration

The main Samba configuration file is called /etc/samba/smb.conf. Before we start editing smb.conf config file, let's make a backup of the original configuration file and extract a current configuration relevant lines to a new smb.conf file:

# cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
# grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf

Your new /etc/samba/smb.conf should now contain:

# cat /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes
[homes]
comment = Home Directories
browseable = no
read only = yes
create mask = 0700
directory mask = 0700
valid users = %S
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no

Restart your samba server and use SMB client to confirm all exported samba groups:

# systemctl restart smbd
# smbclient -L localhost
WARNING: The "syslog" option is deprecated
Enter root's password:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian] Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
IPC$ IPC IPC Service (Samba 4.5.8-Debian)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian] Server Comment
--------- -------
LASERPRINTER
LINUXCONFIG Samba 4.5.8-Debian Workgroup Master
--------- -------
WORKGROUP LINUXCONFIG



Add Users

Samba has its own user management system. However, any user existing on the samba user list must also exist within /etc/passwd file. From this reason, create a new user using useraddcommand before creating any new Samba user. Once your new system user eg. linuxconfig exits, use smbpasswd command to create a new Samba user:

# smbpasswd -a linuxconfig
New SMB password:

Samba Home Directories Share

By default all home directories are exported read-only and they are not browseable. To change this default configuration settings change the current homes share definition to:

[homes]
comment = Home Directories
browseable = yes
read only = no
create mask = 0700
directory mask = 0700
valid users = %S

Every time you make a change to your /etc/samba/smb.conf configuration file do not forget to restart your samba server daemon:

# systemctl restart smbd

Samba Public Anonymous Share

The following Samba definition will allow any user to read and write data into Samba share under /var/samba/ directory. First, create a new directory and make it accessible by anyone:

# mkdir /var/samba
# chmod 777 /var/samba/

Next, add a new samba share definition within your /etc/samba/smb.conf Samba configuration file:

[public]
comment = public anonymous access
path = /var/samba/
browsable =yes
create mask = 0660
directory mask = 0771
writable = yes
guest ok = yes

Restart your samba server daemon:

# systemctl restart smbd

Mount Samba Shares

Now, we are ready to turn our attention to MS Windows machine and network map our new Samba share directories. Start by listing all available shares by \\samba-server command execution:


If all went well you should see the list of all browsable samba shares:


Next, map any of the shared directories by right-clicking on the share and selecting a Map Network Drive... option. Tick, Connect using different credentials option and finish the network drive mapping by supplying the user credentials created in previous steps:

Appendix

List Samba users:

# pdbedit -w -L

Delete Samba user:

# pdbedit -x -u username

How to configure Samba Server share on Debian 9 Stretch Linux的更多相关文章

  1. How To Configure SAMBA Server And Transfer Files Between Linux & Windows

    If you are reading this article it means you have a network at home or office with Windows and Linux ...

  2. How to Install and Configure Bind 9 (DNS Server) on Ubuntu / Debian System

    by Pradeep Kumar · Published November 19, 2017 · Updated November 19, 2017 DNS or Domain Name System ...

  3. Debian 8 升级到 9 Debian 9 How to upgrade Debian 8 Jessie to Debian 9 Stretch

    How to upgrade Debian 8 Jessie to Debian 9 Stretch Contents 1. Objective 2. What's New 3. Preparatio ...

  4. samba server install

    要求: create vnc service for win7 access it via vnc viewer. 1TB disk for this Centos PC is used as Sam ...

  5. Samba: Server setup..

    To make samba shard folder permission clear, there are 3 kind of permission need to be paid attentio ...

  6. The Guideline of Setting Up Samba Server on linux(Ubuntu)

    The Guideline of Setting Up Samba Server on linux(Ubuntu) From terminate command window, install the ...

  7. How to install Samba server on Ubuntu 12.04

    Part 1: Configuring anonymous share with samba server To install the samba package,enter the followi ...

  8. [转]Android与电脑局域网共享之:Samba Server

    大家都有这样的经历,通过我的电脑或网上邻居访问另一台计算机上的共享资源,虽然电脑和手机之间可以有多种数据传输方式,但通过Windows SMB方式进行共享估计使用的人并不是太多,下面我就简单介绍一下, ...

  9. samba server 设置

     samba server  设置yum install samba.x86_64systemctl start smb.servicesystemctl enable smb.servicesamb ...

随机推荐

  1. 【浅色】最强Win7 x64评测

    [浅色]最强Win7 x64评测 [浅色]最强Win7 x86 & x64 | WINOS https://www.winos.me/archives/789.htmlESD671MB,安装后 ...

  2. windows time-wait 问题处理记录

    问题描述:有一段时间,服务器启动了好多程序,做的是 obd监听服务,连接好多个服务器,由于程序的本身的问题造成大量的wait-time,一番百度后找到找到方案1 设置一由于wait-time 需要经过 ...

  3. commit lint规范化团队git提交信息

    一.快速提交符号angular编码规范的提交信息 1.命令行中安装commitizen: npm install -g commitizen commitizen init cz-convention ...

  4. Pyspider框架

    1, 2,在ubuntu安装pyspider如果出现pycul的问题 首先执行命令:sudo apt-get install libssl-dev libcurl4-openssl-dev pytho ...

  5. MySQL数据库的库表基本操作

    一.库操作 1.创建业务数据库 DDL 数据库命名规则:区分大小写.唯一性.不能使用关键字如 create select.不能单独使用数字 语法:CREATE DATABASE 数据库名; CREAT ...

  6. Window10下安装sbt

    参考:https://segmentfault.com/a/1190000002474507 下载:https://dl.bintray.com/sbt/native-packages/sbt/0.1 ...

  7. Android 开发 框架系列 glide-transformations 图片处理基本使用

    首先简单的介绍一下Gilde作用范围.Gilde功能十分强大,它可以实现图片处理.图片本地加载.图片网络加载.位图加载.图片内存缓存.图片磁盘缓存.Gif图片加载.使用简单轻松,轻松的后是它强大的心, ...

  8. Springboot 热部署问题。亲测可用。

    本人开发使用的是Mac系统,windows应该类似.主要是 spring-boot-devtools的使用 参考:mac下的idea设置,是不是有疑问,既然别人写好了,为啥你还要再来一次,因为我使用了 ...

  9. P1147连续自然数和-(尺取法)

    https://www.luogu.org/problemnew/show/P1147 题意:输入一个n,求连续几个数加起来等于n,输出这几个连续的数的第一个和最后一个.10<=n<=20 ...

  10. h5-audio/video标签

    音频/视频 基础用法 属性 事件 audio元素和video元素 <audio id="audio" src="./成都.mp3"></aud ...