Samba is a free and open-source software package that provides seamless file and print services to SMB/CIFS clients. Samba is freely available, unlike other SMB/CIFS implementations and allows for interoperability between Linux/Unix servers and Windows OS-based clients. Using Samba we can easily share files and folders between GNU/Linux and Windows OS systems.

In this tutorial we are going to implement Samba server on OpenSUSE 13.1.

Install Samba

Login as root user:

> su

Install Samba with following command:

# zypper install samba*

Configure Fully Accessed Anonymous Share

Let us create directory /share1 and set full permission. Anybody can access this share:

# mkdir /share1
# chmod -R 777 /share1/

Open up Samba configuration file /etc/samaba/smb.conf file:

# vi /etc/samba/smb.conf

And edit as follows;

Make sure that you have the following line in [global] section. If not found, just add it as shown below:

[...]
passdb backend = tdbsam

[...]

Scroll down further and add this share details at the bottom of the Samba configuration file:

[Full Share]        
        path = /share1
        writable = yes
        browsable = yes
        guest ok = yes
        guest only = yes
        create mode = 0777
        directory mode = 0777

Save and close the file. Enable and start Samba service to save the changes:

# systemctl enable smb.service
# systemctl enable nmb.service # systemctl start smb.service
# systemctl start nmb.service

Test Samba Configuration

Execute the following command to verify the Samba configuration file. It displays the errors if we have any:

# testparm

The above command will display the output as shown below:

Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Can't find include file /etc/samba/dhcp.conf
Processing section "[homes]"
Processing section "[profiles]"
Processing section "[users]"
Processing section "[groups]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Full Share]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions [global]
    map to guest = Bad User
    printcap name = cups
    logon path = \\%L\profiles\.msprofile
    logon drive = P:
    logon home = \\%L\%U\.9xprofile
    usershare allow guests = Yes
    idmap config * : backend = tdb
    cups options = raw [homes]
    comment = Home Directories
    valid users = %S, %D%w%S
    read only = No
    inherit acls = Yes
    browseable = No [profiles]
    comment = Network Profiles Service
    path = %H
    read only = No
    create mask = 0600
    directory mask = 0700
    store dos attributes = Yes [users]
    comment = All users
    path = /home
    read only = No
    inherit acls = Yes
    veto files = /aquota.user/groups/shares/ [groups]
    comment = All groups
    path = /home/groups
    read only = No
    inherit acls = Yes [printers]
    comment = All Printers
    path = /var/tmp
    create mask = 0600
    printable = Yes
    print ok = Yes
    browseable = No [print$]
    comment = Printer Drivers
    path = /var/lib/samba/drivers
    write list = @ntadmin, root
    force group = ntadmin
    create mask = 0664
    directory mask = 0775 [Full Share]
    path = /share1
    read only = No
    create mask = 0777
    directory mask = 0777
    guest only = Yes
    guest ok = Yes

I don’t want to mess up iptables, so i turned it off:

# rcSuSEfirewall2 stop

Test Anonymous Samba Share on Windows OS Client

Login to Windows OS machine and go to Start -> Run. Enter the IP address of your Samba server.

Now you’ll able to access the fully accessed Samba share from your Windows OS clients.

Create some files and folders in side the share. In my case, I created a folder called unixmen in my fully accessed anonymous Samba share called Full Share.

Create an Authenticated Share

Let us create a Samba user called sk under Samba group called smbgroup:

# useradd sk
# passwd sk # groupadd smbgroup
# usermod -a -G smbgroup sk

Now assign the user sk to Samba user database with following command:

# smbpasswd -a sk
New SMB password:
Retype new SMB password:
Added user sk.

Create a new share called /share2 and assign this share to smbgroup, so that the users of smbgroup can access the /share2 directory:

# mkdir /share2
# chmod -R 755 /share2/
# chown -R sk:smbgroup /share2

Add the above /share2 directory details in Samba configuration file as shown below;

Open up samba configuration file:

# vi /etc/samba/smb.conf

Add the /share2 details at the end:

[secure]
        path = /share2
        writable = yes
        browsable = yes
        guest ok = no
        valid users = @smbgroup

Restart Samba service to save the changes:

# systemctl restart smb.service
# systemctl restart nmb.service

Now test the configuration file with following command:

# testparm

You may see the following like output:

Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Can't find include file /etc/samba/dhcp.conf
Processing section "[homes]"
Processing section "[profiles]"
Processing section "[users]"
Processing section "[groups]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Full Share]"
Processing section "[secure]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions [global]
    map to guest = Bad User
    printcap name = cups
    logon path = \\%L\profiles\.msprofile
    logon drive = P:
    logon home = \\%L\%U\.9xprofile
    usershare allow guests = Yes
    idmap config * : backend = tdb
    cups options = raw [homes]
    comment = Home Directories
    valid users = %S, %D%w%S
    read only = No
    inherit acls = Yes
    browseable = No [profiles]
    comment = Network Profiles Service
    path = %H
    read only = No
    create mask = 0600
    directory mask = 0700
    store dos attributes = Yes [users]
    comment = All users
    path = /home
    read only = No
    inherit acls = Yes
    veto files = /aquota.user/groups/shares/ [groups]
    comment = All groups
    path = /home/groups
    read only = No
    inherit acls = Yes [printers]
    comment = All Printers
    path = /var/tmp
    create mask = 0600
    printable = Yes
    print ok = Yes
    browseable = No [print$]
    comment = Printer Drivers
    path = /var/lib/samba/drivers
    write list = @ntadmin, root
    force group = ntadmin
    create mask = 0664
    directory mask = 0775 [Full Share]
    path = /share1
    read only = No
    create mask = 0777
    directory mask = 0777
    guest only = Yes
    guest ok = Yes [secure]
    path = /share2
    valid users = @smbgroup
    read only = No

Test Authenticated Share on Windows OS Client

Now go to the Windows OS client and check the authenticated share. It will ask you to enter username and password to access the Samba shares. Enter the username and password that you have created earlier. You’re done!

That’s it. Now you’ll able to access the Samba shares.

转:https://www.unixmen.com/install-and-configure-samba-server-on-opensuse-13-1/

linux Samba 搭建的更多相关文章

  1. 【转帖】Linux上搭建Samba,实现windows与Linux文件数据同步

    Linux上搭建Samba,实现windows与Linux文件数据同步 2018年06月09日 :: m_nanle_xiaobudiu 阅读数 15812更多 分类专栏: Linux Samba 版 ...

  2. Samba搭建Linux和Windows文件共享服务

    一.Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享 ...

  3. Linux服务器搭建相关教程链接整理

    Linux: Linux 教程 | 菜鸟教程 linux下如何添加一个用户并且让用户获得root权限 - !canfly - 博客园 Git: 在 Linux 下搭建 Git 服务器 - 黄棣-dee ...

  4. Linux samba多用户挂载

    samba 多用户挂载 通过multiuser挂载选项,使用基于密码验证和cifscreds实现访问控制在默认情况下,samba共享挂载后,是通过挂载时的验证来实现对挂载资源的访问控制.通过新的mul ...

  5. Linux Samba安装与使用

    一 安装环境: 虚拟机:RedHat  5.4  192.168.75.128 主机环境:WIN7 32bit  192.168.75.1 网络连接方式:NAT 二 安装步骤: 说明: Ø  samb ...

  6. Linux环境搭建-在虚拟机中安装Centos7.0

    最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware,然 ...

  7. windows和linux中搭建python集成开发环境IDE——如何设置多个python环境

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  8. MongoDB学习笔记—Linux下搭建MongoDB环境

    1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...

  9. Linux下搭建个人网站

    前不久在阿里买了一个服务器,然后开始第一次尝试搭建自己的个人网站.前端采用了bootstrap框架,后端采用的是PHP,数据库使用的是Mysql.新手第一次在linux下搭建遇见很多问题,在这里分享一 ...

随机推荐

  1. EternalBlue永恒之蓝渗透测试

    Eternal Blue(永恒之蓝)-ms17-010渗透测试 第一次做的渗透测试,也是第一次去写博客,还望各位师傅多多指正 :) 工具 1.靶机系统 window7 开放445以及139端口 2.k ...

  2. proto buffer

    protobuf是一种高效的数据格式,平台无关.语言无关.可扩展,可用于 RPC 系统和持续数据存储系统. protobuf介绍 Protobuf是Protocol Buffer的简称,它是Googl ...

  3. 基于Vue+Vuex+Vue-Router+axios+mint-ui的移动端电商项目

    第一步:安装Node 1.打开NodeJS的官网,下载和自己系统相配的NodeJS的安装程序,包括32位还是64位一定要选择好,否则会出现安装问题. 下载地址:https://nodejs.org/e ...

  4. djangoProject default codes

    1 === 2 settings.py 3 === 4 """ 5 Django settings for djangoProject project. 6 7 Gene ...

  5. 生产环境部署高可用Rancher

    环境准备: IP hostname role 192.168.200.150 nginx LB 192.168.200.151 master01-151 docker-ce/rke/helm/kube ...

  6. 线程调用BeginInvoke

    线程异步调用 Thread objThread = new Thread(new ThreadStart(delegate             {                 Dispatch ...

  7. vue开发流程

    在安装node.js 测试安装  在cmd 下输入node   如查能正确输出命令提示符,表明安装好node 测试安装npm -v   如果能成功出现版本信息表示安装好npm 安装配置 G码云   或 ...

  8. 【转】Gitlab CI & Docker & Dockerfile & Docker-compose的博客文章

    gitlab权限设置 GitLab功能系列报道-标签(Labels) Gitlab CI 使用高级技巧 docker-compose是个好东西,越用越香 基于docker-compose的Gitlab ...

  9. linux命令(用户)

    一.常用命令 1.1 ls ls 命令是 linux 下最常用的命令,ls 命令就是 list 的缩写. ls 用来打印出当前目录的清单.如果 ls 指定其他目录,那么就会显示指定目录里的文件及文件夹 ...

  10. .Net Core with 微服务 - 分布式事务 - 可靠消息最终一致性

    前面我们讲了分布式事务的2PC.3PC , TCC 的原理.这些事务其实都在尽力的模拟数据库的事务,我们可以简单的认为他们是一个同步行的事务.特别是 2PC,3PC 他们完全利用数据库的事务能力,在一 ...