Linux_Samba详解

简介: 目录目录Samba ServerParameterConfiguration file explainSetup the Samba ServerAccess the samba shareDirectory from other linux OS...

目录

Samba Server

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,C/S架构,可用于用于Linux和Windows共享文件。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置”NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
Samba:File share service(windows <–> linux),support edit(on-line) file’s content.Can be prevent the infection virus on windows OS.
You can setup the Samba server on Window or Linux.
Linux OS:
Protocol:SMB(Server message Block) Protocol
Port:TCP139 UDP137
Window OS:
Protocol:CIFS(Common Internet File System) Protocol
Port: TCP445 UDP138

Parameter

Program: smbd(Commonly used)\umdbd(Rarely used)
Software:
samba-3.033-3.28.el5
samba-common
samba-client(Web GUI management samba service,Rarely used)
configure file:
/etc/samba/smb.conf
Tools for Check configure:testparm

Configuration file explain

Vim /etc/samba/smb.conf

#Section:
[global]                 #Global Setting
workgroup =              #work group name
security = [share|user|server]            #select one out of three
                    #share --> don't need the authentication
                    #user --> login the samba server share directory by local samba user authentication
                    #server --> user authentication by network
log file =  #log file store url

[homes]              #share /home directory

[printers]           #Printers set

[userShare]          #user-defined share directory
comment =            #description of share directory
path =               #share directory path
browseable = [yes|no]           #samba service share directory whether show in the Network Neighborhood of windows OS.General the value is "yes"
guest ok = [yes|no]     #share directory whether can access by anonymous user
                         #yes --> support anonymous user access
                         #no --> access by authentication
valid users = userName,@groupName           #Allow user who can login share directory
writable = [yes|no]           #User whether have permission to write in the share directory
write list = userName,@groupName              #Allow user who have write permission in the share directory
public = [yes|no]             #whether support anonymous user to login the share directory
create mode = 0644            #Set the default permissions of file when you create a new file in the share directory
directory mode = 0755         #Set the default permissions of directory when you create a new sub-directory in the share directory
#Attention: If you want to write into the share directory, you have to meet two condition.
#        1.Set option "writable = yes" into the config file
#        2.The share directory have permissions of writable(rw-rw-rw-)

Check samba config file:
1.Use command grep:

grep -V "^#" smb.conf | grep -V "^;" | grep -V ^$

2.Use command supported by samba service

testparm  #Check and read the config file

Setup the Samba Server

Step1. Install samba and check the config file

yum in stall -y samba samba-common samba-client
grep -V "^#" /etc/samba/samba.conf | grep -V "^;" | grep -V ^$    #Look up the configuration file
testparm

Step2. Edit samba service config file.
vim /etc/samba/smb.conf

#Example:
        [global]
            security = user
            hosts allow = 127. 192.168.8. 10.20.0.  #limit access from IP address, Only allow access from network-segment with (127./192.168.8./10.20.0.)
            hosts deny = 172.16.8.                  #Deny every access from 172.16.8.
        [myshare]
            comment = Jmilk share driectory
            path = /tmp/myshare      #share dir with /tmp/myshare
            browseable = yes
            guest ok = no
            valid users = jmilk,@jmilkGroup
            writable = yes
            write list = jmilk,@jmilkGroup
            create mode = 0644
            public = no
            directory mode = 0755

**Step3.**change the permission for share directory

chmod 757 /tmp/myshare     #ensure the share directory have writable permissions

Step4. Create samba user in local, and setting not support login the OS for samba user.
Precondition:samba userName have to the same as OS userName.

useradd -M -s /sbin/nologin jsamba
pdbedit -a -u jsamba
        #-a create
        #-u userName
smbpasswd jsamba    #change the password for samba user
pdbedit -Lv jsamba  #list samba user detailed info

Step4. Start samba service

service smbd restart

Access the samba shareDirectory from other linux OS

Samba Server:Linux
Samba Client:Linux
Step1. List the share directory

smbclient -L SambaServerIP

Step2. Login the samba server’s share directory
1.Anonymous user login

smbclient //sambaServerIP/shareDirectoryName
            #get --> download the file into local from samba server.
            #put --> upload the file into samba server from local

2.Samba user authentication login

smbclient //sambaServerIP/shareDirectoryName -u sambaUserName
mount -o userName=jsamba,passwd fanguiju //sambaServerIP/shareDirectory /mnt

Access the windows OS samba shareDirectory from Linux

**Samba Server**Windows
Samba Client:Linux
Step1.

smbclient -L sambaServerIP -u administrator   #login sambaServer(win) by adminstrator identity
smbclient -u administrator //sambaServerIP

step2. Mount share dirctory into local

mount -o userName=administrator //sambaServerIP(wim)/d$ /mnt/winShare

vim /etc/fstab #realize permanent mount

Attention:在同一个可以互通的网络中,只要有一台SambaSrever,那受到此SambaServer影响的LinuxOS和windowsOS都可以实现与sambaServer之间实现文件共享。

Access the samba shareDirectory of LinuxOS by winOS

**Server:**Linux
**Client:**Windows

Ctrl+R(run) //LinuxSambaServerIP #And then enter the user authentication
CMD.exe command below:

net use * /del /y   #clear the user login cache
相关文章
|
1月前
|
监控 Shell Linux
【Shell 命令集合 网络通讯 】Linux 共享文件和打印机 Samba 命令 使用指南
【Shell 命令集合 网络通讯 】Linux 共享文件和打印机 Samba 命令 使用指南
42 0
|
9月前
|
网络协议 安全 Unix
Linux下的samba服务配置详解
Linux下的samba服务配置详解
270 1
|
25天前
|
Ubuntu Linux 虚拟化
【Linux】ubuntu安装samba服务器
【Linux】ubuntu安装samba服务器
|
1月前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 验证Samba配置文件 testparm命令 使用教程
【Shell 命令集合 网络通讯 】Linux 验证Samba配置文件 testparm命令 使用教程
38 0
|
3月前
|
Ubuntu Linux Windows
window10 虚拟机 linux ubuntu 环境下samba服务器配置
本文的目的是在windows 10 系统,使用samba服务实现 windows 10共享虚拟机ubuntu系统的文件。
44 0
|
3月前
|
算法 Ubuntu Unix
【Linux】文件服务Samba
【Linux】文件服务Samba
37 0
|
3月前
|
Linux Windows
Linux系统安装Samba服务器
在实际开发中,我们经常会有跨系统之间文件传递的需求,Samba便是能够在Windows和Linux之间传递文件的服务,功能也是非常强大和好用,本篇文章将介绍如何在Linux系统上安装Samba服务,以CentOS7系统为例。
65 0
|
3月前
|
网络协议 Linux 网络安全
百度搜索:蓝易云【Linux下的samba服务配置详解】
以上是对Samba服务配置的详解。通过配置Samba,你可以在Linux和Windows之间实现文件共享和打印机共享,方便进行跨平台的文件传输和共享操作。请根据具体需求和环境,进行相应的配置和调整。
33 0
百度搜索:蓝易云【Linux下的samba服务配置详解】
|
4月前
|
存储 Linux 开发工具
简述利用samba实现windows和linux之间文件同步
简述利用samba实现windows和linux之间文件同步
121 0