samba笔记: http://services.linuxpanda.tech/%E7%BD%91%E7%BB%9C%E6%96%87%E4%BB%B6%E5%85%B1%E4%BA%AB/samba.html

文章参考:https://wiki.archlinux.org/index.php/Samba_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

1.samba简介

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

2.环境介绍

os:centos7

samba: 4.4.4

3.安装samba

[root@mail samba]#  yum -y install samba samba-client samba-swat

4.启动samba

[root@mail samba]# systemctl enable smb
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
[root@mail samba]# systemctl enable nmb
Created symlink from /etc/systemd/system/multi-user.target.wants/nmb.service to /usr/lib/systemd/system/nmb.service.
[root@mail samba]# systemctl start smb
[root@mail samba]# systemctl start nmb
[root@mail samba]#

5.查看smb,nmb占用端口信息

[root@mail samba]# netstat -tunlp | grep  mb
tcp 0.0.0.0: 0.0.0.0:* LISTEN /smbd
tcp 0.0.0.0: 0.0.0.0:* LISTEN /smbd
tcp6 ::: :::* LISTEN /smbd
tcp6 ::: :::* LISTEN /smbd
udp 192.168.122.255: 0.0.0.0:* /nmbd
udp 192.168.122.1: 0.0.0.0:* /nmbd
udp 192.168.137.255: 0.0.0.0:* /nmbd
udp 192.168.137.101: 0.0.0.0:* /nmbd
udp 0.0.0.0: 0.0.0.0:* /nmbd
udp 192.168.122.255: 0.0.0.0:* /nmbd
udp 192.168.122.1: 0.0.0.0:* /nmbd
udp 192.168.137.255: 0.0.0.0:* /nmbd
udp 192.168.137.101: 0.0.0.0:* /nmbd
udp 0.0.0.0: 0.0.0.0:* /nmbd

6.编辑 /etc/samba/smb.conf

[root@mail samba]# vim /etc/samba/smb.conf
添加如下内容
[tools]
comment = Public Stuff
path = /share/test
read only = No
guest ok = Yes

7.创建指定共享的目录

[root@mail samba]# mkdir -pv /share/test
mkdir: created directory ‘/share/test’
[root@mail samba]# chown -R nobody.nobody /share/test #这里使用了nobody的,如果对权限有要求,可以使用smbpasswd -a 添加一个用户(用户必须系统存在),使用setfacl添加权限即可。

8.测试配置文件正确性

[root@mail samba]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max () to minimum Windows limit ()
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[tools]"
Loaded services file OK.
Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions
回车
# Global parameters
[global]
workgroup = SAMBA
printcap name = cups
security = USER
idmap config * : backend = tdb
cups options = raw [homes]
comment = Home Directories
browseable = No
inherit acls = Yes
read only = No
valid users = %S %D%w%S [printers]
comment = All Printers
path = /var/tmp
browseable = No
printable = Yes
create mask = [print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
create mask =
directory mask =
write list = root [tools]
comment = Public Stuff
path = /share/test
guest ok = Yes
read only = No

9.访问共享文件
9.1Windows平台可以直接在资源管理器输入\\192.168.137.100\tools即可访问 其中192.168.137.100为samba服务器的地址, tools为共享名称

9.2Linux平台可以使用

[root@mail samba]# smbclient //192.168.137.101/tools
Enter root's password:
session setup failed: NT_STATUS_LOGON_FAILURE
[root@mail samba]# smbpasswd -a root
New SMB password:
Retype new SMB password:
Added user root.
[root@mail samba]# smbclient //192.168.137.101/tools
Enter root's password:
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.]
smb: \> ls
. D Mon Feb ::
.. D Mon Feb :: blocks of size . blocks available
smb: \>

10. 挂载windows上共享的目录

10.1在window上我们创建一个共享

上面我们把window机器上的目录名为ftp的目录共享给了window的另一个用户oracle,权限为读写的。

10.2 linux 使用认证文件(cerdentials)挂着windows共享目录

[root@localhost samba]# smbclient //192.168.40.1/ftp -U oracle     #这里先使用smbclient测试下我们的用户和密码的正确性
Enter oracle's password:
session request to 192.168.40.1 failed (Called name not present)
Domain=[DESKTOP-TN5P2FR] OS=[Windows 10 Enterprise 2016 LTSB 14393] Server=[Windows 10 Enterprise 2016 LTSB 6.3]
smb: \> ls #查看
  .                                   D        0  Fri Apr  7 22:52:52 2017
  ..                                  D        0  Fri Apr  7 22:52:52 2017
  anaconda-ks.cfg                     A     1395  Sun Mar 19 10:15:42 2017
  boot                                D        0  Mon Jan 23 17:42:30 2017
  boot.iso                            A 6199291904  Mon Jan 23 18:22:43 2017
  VSCodeSetup-1.8.0.exe               A 33999136  Sat Feb 25 17:54:31 2017
        59608 blocks of size 8388608. 26965 blocks available
smb: \> quit #退出 [root@localhost samba]# vim 192.168.4.150.pwd #创建一个认证文件
[root@localhost samba]# cat 192.168.4.150.pwd #检查认证文件内容,使用man 8 mount.cifs 获取详细信息
username=oracle
password=oracle
[root@localhost samba]# chmod 192.168.4.150.pwd #修改这个认证文件的权限 [root@localhost samba]# mount.cifs //192.168.40.1/ftp /mnt/winftp -o credentials=/etc/samba/192.168.4.150.pwd #挂着windows共享
[root@localhost samba]# tail -n /etc/mtab >> /etc/fstab #把mtab的最后一行追加到fstab中
[root@localhost samba]# cat /etc/fstab #查看fstab #
# /etc/fstab
# Created by anaconda on Mon Jan ::
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(), findfs(), mount() and/or blkid() for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults
UUID=5c3d4278-fa8d---67c0c26831b5 /boot ext4 defaults
/dev/mapper/VolGroup-lv_swap swap swap defaults
tmpfs /dev/shm tmpfs defaults
devpts /dev/pts devpts gid=,mode=
sysfs /sys sysfs defaults
proc /proc proc defaults
/dev/sr0 /mnt/cdrom iso9660 ro
//192.168.40.1/ftp /mnt/winftp cifs rw 0 0
[root@localhost samba]# vim /etc/fstab #编辑
[root@localhost samba]# cat /etc/fstab #检查 #
# /etc/fstab
# Created by anaconda on Mon Jan ::
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(), findfs(), mount() and/or blkid() for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults
UUID=5c3d4278-fa8d---67c0c26831b5 /boot ext4 defaults
/dev/mapper/VolGroup-lv_swap swap swap defaults
tmpfs /dev/shm tmpfs defaults
devpts /dev/pts devpts gid=,mode=
sysfs /sys sysfs defaults
proc /proc proc defaults
/dev/sr0 /mnt/cdrom iso9660 ro
//192.168.40.1/ftp /mnt/winftp cifs credentials=/etc/samba/192.168.4.150.pwd 0 0
[root@localhost samba]# umount /mnt/winftp/ #卸载我们手工添加的
[root@localhost samba]# mount -a #挂载所有
[root@localhost samba]# mount #查看
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
/dev/sr0 on /mnt/cdrom type iso9660 (ro)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
//192.168.40.1/ftp on /mnt/winftp type cifs (rw)

11 搭建基于web的配置环境

11.1 设置swat的访问主机

[root@localhost xinetd.d]# vim /etc/xinetd.d/swat   #编辑swat文件, 修改only_from 为我们要基于web管理的主机ip或者一个网段即可。
[root@localhost xinetd.d]# cat /etc/xinetd.d/swat
# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat \
# to configure your Samba server. To use SWAT, \
# connect to port with your favorite web browser.
service swat
{
disable = no
port =
socket_type = stream
wait = no
only_from = 192.168.40.1
user = root
server = /usr/sbin/swat
log_on_failure += USERID
}

11.2 激活swat 并启动xinet.d

[root@localhost xinetd.d]# chkconfig  swat on    #激活swat
[root@localhost xinetd.d]# service xinetd restart #重启xinetd,
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
[root@localhost xinetd.d]# netstat -tlnp | grep 901 #查看901端口信息
tcp ::: :::* LISTEN /xinetd

11.3 测试web配置

centos7下安装samba服务器的更多相关文章

  1. centOS7 下安装smb服务器

    转载自:http://www.cnblogs.com/lgh344902118/p/7503620.html centOS7和windows10 samba是一款可以让linux和windows下共享 ...

  2. 【教程】ubuntu下安装samba服务器

    一.准备工作 首先更新 software sources, 找到最快的源 lcw@ubuntu:~$ sudo apt-get update 二.安装samba lcw@ubuntu:~$ sudo ...

  3. centos6.5下安装samba服务器与配置

    转自:http://www.centoscn.com/CentosServer/ftp/2014/1023/3989.html http://www.cnblogs.com/x_wukong/p/56 ...

  4. Ubuntu下安装Samba服务器

    闲来无聊尝试自己安装下Samba服务器,使本机和虚拟机可以无障碍传输文件(虽然用VMwaretools可传,但总感觉麻烦,而且速度欠佳) 首先,同安装qemu一样,在安装之前要确定你的系统apt列表已 ...

  5. centos7下安装apache服务器httpd的yum方式安装

    转自Clement-Xu的csdn博客 http://blog.csdn.net/clementad/article/details/41620631   Apache在Linux系统中,其实叫&qu ...

  6. 转-centos7下安装apache服务器httpd的yum方式安装

    转自Clement-Xu的csdn博客 http://blog.csdn.net/clementad/article/details/41620631   Apache在Linux系统中,其实叫“ht ...

  7. centos7下cups + samba共打印服务的教程

    centos7系统我们用到的不多但是这款系统比centos6功能要强大了不少,下文来介绍一篇centos7下cups + samba,共打印服务的例子,具体如下所示.   这个算是rhce课程的篇外篇 ...

  8. Centos7 下安装以及使用mssql

    Centos7下安装以及使用Mssql,在这下面玩,主要是发现linux环境下的mysql非常的小,小到只有169M,这在windows上面,动撤几个G的安装文件,会让你直接打消使用MSSQL的勇气, ...

  9. centos7下cups + samba共打印服务

    centos7下cups + samba共打印服务 2015年8月21日admin发表评论阅读评论   这个算是rhce课程的篇外篇,Samba除了提供文件共享外,也可以像windows下的共享一样提 ...

随机推荐

  1. WPF一组Radio与enum绑定

    工作中用到了一组RadioButton对应一组数据的情况,这个时候最好能将一组RadioButton绑定Enum. 步骤 1.MyControl库中Type.cs中定义Enum namespace M ...

  2. vue监听滚动事件-元素固定位置显示

    1.监听滚动事件 用VUE写一个在控制台打印当前的scrollTop用来测试是否执行: mounted () { window.addEventListener('scroll', this.hand ...

  3. HDU 2516 斐波那契博弈

    点这里去看题 n为斐波那契数时,先手败,推断方法见算法讲堂 #include<bits/stdc++.h> using namespace std; int main() { ],i,n, ...

  4. echarts 调整图表 位置 的方法

    ###内部图表大小是与div容器大小位置相关的,如果想调整图表大小位置,调整div的属性就可以了### ###如果是想调整图表与div间上下左右留白,则设置grid属性就可以了### 如图所示: 具体 ...

  5. 解析分享链接在微信内转发防封API接口的实现原理

    域名被微信封了怎么办?相信这是很多做微信的朋友的疑惑,本人也是做防封的,特此写一篇文章,写给域名被微信封的.被秒封的朋友来看.简单个大家讲一下防封原理和实现方式. 域名拦截因素 我们先来了解一下域名为 ...

  6. spring 框架学习网站

    spring 框架学习网站 NO1 http://www.mkyong.com NO2 https://spring.io/docs/reference

  7. yield(),wait(),sleep(),join()

    yield(),wait(),sleep(),join()yield()虽然可以让线程由“运行状态”进入到“就绪状态”:但是,它不一定会让其它线程获取CPU执行权(即,其它线程进入到“运行状态”),即 ...

  8. MySQL优化技巧

    目录 MySQL的特点 数据类型优化 整型类型 小数类型 字符串类型 时间类型 主键类型的选择 特殊类型的数据 索引优化 一个使用Hash值创建索引的技巧 前缀索引 多列索引 聚簇索引 覆盖索引 重复 ...

  9. ZKWeb网页框架2.1正式发布

    2.1.0更新的内容有 更新引用类库 NHibernate 5.1.0 Npgsql 3.2.7 MySqlConnector 0.37.0 Dapper 1.50.4 Dommel 1.10.1 Z ...

  10. Spring Boot 2 - 使用CommandLineRunner与ApplicationRunner

    本篇文章我们将探讨CommandLineRunner和ApplicationRunner的使用. 在阅读本篇文章之前,你可以新建一个工程,写一些关于本篇内容代码,这样会加深你对本文内容的理解,关于如何 ...