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:139 0.0.0.0:* LISTEN 57979/smbd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 57979/smbd
tcp6 0 0 :::139 :::* LISTEN 57979/smbd
tcp6 0 0 :::445 :::* LISTEN 57979/smbd
udp 0 0 192.168.122.255:137 0.0.0.0:* 58003/nmbd
udp 0 0 192.168.122.1:137 0.0.0.0:* 58003/nmbd
udp 0 0 192.168.137.255:137 0.0.0.0:* 58003/nmbd
udp 0 0 192.168.137.101:137 0.0.0.0:* 58003/nmbd
udp 0 0 0.0.0.0:137 0.0.0.0:* 58003/nmbd
udp 0 0 192.168.122.255:138 0.0.0.0:* 58003/nmbd
udp 0 0 192.168.122.1:138 0.0.0.0:* 58003/nmbd
udp 0 0 192.168.137.255:138 0.0.0.0:* 58003/nmbd
udp 0 0 192.168.137.101:138 0.0.0.0:* 58003/nmbd
udp 0 0 0.0.0.0:138 0.0.0.0:* 58003/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 (1024) to minimum Windows limit (16384)
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 = 0600 [print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
create mask = 0664
directory mask = 0775
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.4]
smb: \> ls
. D 0 Mon Feb 20 23:05:52 2017
.. D 0 Mon Feb 20 23:05:52 2017 38770180 blocks of size 1024. 33408000 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 700 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 1 /etc/mtab >> /etc/fstab #把mtab的最后一行追加到fstab中
[root@localhost samba]# cat /etc/fstab #查看fstab #
# /etc/fstab
# Created by anaconda on Mon Jan 23 14:39:48 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=5c3d4278-fa8d-4626-9546-67c0c26831b5 /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sr0 /mnt/cdrom iso9660 ro 0 0
//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 23 14:39:48 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=5c3d4278-fa8d-4626-9546-67c0c26831b5 /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sr0 /mnt/cdrom iso9660 ro 0 0
//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 901 with your favorite web browser.
service swat
{
disable = no
port = 901
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 0 0 :::901 :::* LISTEN 4744/xinetd

11.3 测试web配置

centos安装samba服务和配置的更多相关文章

  1. Centos 7 Samba服务安装

    Centos 7 Samba服务安装搭建Samba服务器是为了实现Linux共享目录之后,在Windows可以直接访问该共享目录. 查看是已安装samba包: rpm -qa | grep samba ...

  2. Centos安装Samba共享服务器

    安装Samba 查看Samba是否已安装 1.# rpm -qa | grep samba

  3. 安装Samba服务让宿主机和虚拟机共享文件

    安装 samba 服务器之后,很方便的实现 Windows 和 Linux 进行通信. 安装步骤: 1 .在 Ubuntu 系统下面安装 samba 服务: $ sudo apt-get instal ...

  4. 基于Centos开启samba服务

    1.安装samba服务: yum -y install samba samba-common samba-client2.查看samba服务状态: service smb status: 正常状态是: ...

  5. centos 安装memcache服务后memcahce本机连接Permission

    自己手动在虚拟机下装了下memcache,整个过程真是充满波折,本身用php5.3安装memcache扩展就麻烦很多,无法通过yum直接安装,安装方法详见http://chenwei.me/blog/ ...

  6. Linux samba 服务的配置

    今天有个学生问我 samba 服务怎么配置,所以晚上特意研究一下怎么配置这个服务. 过程如下: sudo apt-get install samba samba-common // 安装 samba ...

  7. Ubuntu 18.04安装Samba服务器及配置

    Ubuntu 18.04安装Samba服务器及配置 局域网下使用samba服务在Linux系统与Windows系统直接共享文件是一项很方便的操作.以Ubuntu为例配置samba服务,Linux服务器 ...

  8. windows IIS安装php服务及配置

    windows IIS安装php服务及配置 启动IIS服务 打开 "控制面板" => "程序" => "启用或关闭Window功能&quo ...

  9. Centos 7.4 安装samba服务

    # See smb.conf.example for a more detailed config file or # read the smb.conf manpage. # Run 'testpa ...

随机推荐

  1. input上传限定文件类型

    input上传限定文件类型 accept="image/*"   限定为只能上传图片 accept=”audio/*   限定为只能上传音频 accept=”video/*” 限定 ...

  2. MySql从一窍不通到入门(五)Sharding:分表、分库、分片和分区

    转载:用sharding技术来扩展你的数据库(一)sharding 介绍 转载:MySQL架构方案 - Scale Out & Scale Up. 转载: 数据表分区策略及实现(一) 转载:M ...

  3. SQL 经典回顾:JOIN 表连接操作不完全指南

    ​   2017-02-23 小峰 ITPUB 点击上方“蓝字”可以关注我们哦  |转载自:码农网 |原文链接:www.codeceo.com/article/sql-join-guide.html ...

  4. Oracle 数据库中查看表空间的2种方法

    在Oracle数据库中查看表空间使用状况是我们在实际应用中经常涉及到的,以下的内容就就是对Oracle 数据库中查看表空间使用状况时所要用到的SQL的描述,希望你能从中获得自己想要的东西. Oracl ...

  5. [CodeForces - 197C] C - Lexicographically Maximum Subsequence

    C - Lexicographically Maximum Subsequence You've got string s, consisting of only lowercase English ...

  6. NOIP2006能量项链

    题目描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定 ...

  7. [LeetCode] 110. Balanced Binary Tree ☆(二叉树是否平衡)

    Balanced Binary Tree [数据结构和算法]全面剖析树的各类遍历方法 描述 解析 递归分别判断每个节点的左右子树 该题是Easy的原因是该题可以很容易的想到时间复杂度为O(n^2)的方 ...

  8. vs2015如何使用附加进程调试发布在IIS上项目

    1.如何使用附加进程调试IIS上的网站项目 1)在IIS部署一个网站项目 2)保证浏览器可访问(比如访问登陆页面) 3)在项目中LoginController断点,并在工具栏的调试找到附加到进程 4) ...

  9. bash 调试

    bashdb test.sh step edit  visual 跳到那一行 R restart http://www.ibm.com/developerworks/cn/linux/l-cn-she ...

  10. python 利用turtle库绘制五角星

    # -*- coding: utf-8 –*-import turtleimport math def draw_polygon(aTurtle, size=50, n=3): for i in ra ...