Thursday, 26 October 2017

RHEL7 Samba Network Sharing

Samba Network Sharing

                                     

 

 

Introduction

 

Most Linux systems are the part of networks that also run Windows systems. Using Linux Samba servers, your Linux and Windows systems can share directories and printers.

 

Samba is an open-source implementation of the Server Message Block (SMB) and Common Internet File System (CIFS) protocols that provides file and print services between clients across various operating systems

 

Samba Configuration File:

 

The default configuration file (/etc/samba/smb.conf) allows users to view their home directories as a Samba share. It also shares all printers configured for the system as Samba shared printers. In other words, you can attach a printer to the system and print to it from the Windows machines on your network.

 

            Samba Server and Samba Client Machine Details

 

 

[root@server ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain

::1         localhost localhost.localdomain

 

192.168.56.101 server.agoutam.com server

192.168.56.102 client.agoutam.com client

192.168.56.101 www.agoutam.com

 

 

Where :

            Samba Server Run : 192.168.56.101 server.agoutam.com server

            Samba Client Run : 192.168.56.102 client.agoutam.com client

 

 

Samba Services and Port for Firewall to open In order to Run Samba Service

 

Ports you need to open for two-way samba communication with Windows and Linux desktop systems.

 

NetBIOS-ns – 137/tcp # NETBIOS Name Service

netbios-dgm – 138/tcp # NETBIOS Datagram Service

netbios-ssn – 139/tcp # NETBIOS session service

microsoft-ds – 445/tcp # if you are using Active Directory

 

Port 445 (TCP) – NetBIOS was moved to 445 after 2000 and beyond, (CIFS)


# firewall-cmd --permanent --zone=public --add-service=samba

# firewall-cmd --reload

OR

# firewall-cmd --permanent --add-port=137/tcp

# firewall-cmd --permanent --add-port=138/tcp

# firewall-cmd --permanent --add-port=139/tcp

# firewall-cmd --permanent --add-port=445/tcp

 

 

 

 

 

To Install the Samba packages

 

 

[root@server ~]# yum install -y samba

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

Resolving Dependencies

--> Running transaction check

---> Package samba.x86_64 0:4.6.2-8.el7 will be installed

--> Processing Dependency: samba-libs = 4.6.2-8.el7 for package: samba-4.6.2-8.el7.x86_64

--> Processing Dependency: samba-common-tools = 4.6.2-8.el7 for package: samba-4.6.2-8.el7.x86_64

--> Processing Dependency: libxattr-tdb-samba4.so(SAMBA_4.6.2)(64bit) for package: samba-4.6.2-8.el7.x86_64

--> Processing Dependency: libxattr-tdb-samba4.so()(64bit) for package: samba-4.6.2-8.el7.x86_64

--> Running transaction check

---> Package samba-common-tools.x86_64 0:4.6.2-8.el7 will be installed---> Package samba-libs.x86_64 0:4.6.2-8.el7 will be installed

 

Total download size: 1.3 M

Installed size: 3.7 M

Downloading packages:

 (2/4): samba-4.6.2-8.el7.x86_64.rpm                                  (3/4): samba-common-tools-4.6.2-8.el7.x86_64.rpm                      (4/4): samba-libs-4.6.2-8.el7.x86_64.rpm                              ----------------------------------------------------------------

Total                                                                 1.5 MB/s | 1.3 MB  00:00:00

Running transaction

  Installing : pytalloc-2.1.9-1.el7.x86_64                              Installing : samba-libs-4.6.2-8.el7.x86_64                            Installing : samba-common-tools-4.6.2-8.el7.x86_64                    Installing : samba-4.6.2-8.el7.x86_64                                 Verifying  : pytalloc-2.1.9-1.el7.x86_64                              Verifying  : samba-libs-4.6.2-8.el7.x86_64                            Verifying  : samba-common-tools-4.6.2-8.el7.x86_64                    Verifying  : samba-4.6.2-8.el7.x86_64                              

Installed:

  samba.x86_64 0:4.6.2-8.el7

 

Dependency Installed:

  pytalloc.x86_64 0:2.1.9-1.el7                      samba-common-tools.x86_64 0:4.6.2-8.el7                      samba-libs.x86_64 0:4.6.2-8.el7

 

Complete!

 

 

 

 

To Create Shared Folder for Network sharing

 

 

[root@server ~]# mkdir -v /sambasharing

mkdir: created directory ‘/sambasharing’

 

 

To provide Permission to Shared Folder

 

[root@server ~]# chown 770 /sambasharing

 

 

To Create File inside Samba Shared Directory

 

 

 

[root@server sambasharing]# touch file1 file2 file3

[root@server sambasharing]# ls

file1  file2  file3

 

 

To Create Samba User and Password

 

 

[root@server sambasharing]# useradd agsamba

[root@server sambasharing]# smbpasswd -a agsamba

New SMB password:

Retype new SMB password:

Added user agsamba.

[root@server sambasharing]#

 

 

To Create samba group

 

 

[root@server sambasharing]# groupadd smbusers

 

 

To change ownership of /sambasharing folder to smbusers

 

 

[root@server sambasharing]# chown :smbusers /sambasharing

 

 

 

 

 

 

To Add user agsamba to Secondary Group smbusers

 

 

[root@server sambasharing]# usermod -G smbusers agsamba

[root@server sambasharing]# grep smbusers /etc/group

smbusers:x:1006:agsamba

 

 

To view Group Information of agsamba User.

 

 

[root@server sambasharing]# id agsamba

uid=1005(agsamba) gid=1005(agsamba) groups=1005(agsamba),1006(smbusers)

[root@server sambasharing]#

 

 

Verify Configuration changes using testparm command checks smb.conf configuration file for internal correctness

 

[root@server sambasharing]# 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 "[sambadir]"

Loaded services file OK.

Server role: ROLE_STANDALONE

 

Press enter to see a dump of your service definitions

 

# Global parameters

[global]

        server string = Samba server Version %v

        workgroup = AGOUTAM SAMBA

        log file = /var/log/samba/log.%m

        max log size = 50

        printcap name = cups

        security = USER

        idmap config * : backend = tdb

        cups options = raw

        hosts allow = 127. 192.168.56.

 

 

[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

 

#sambadir is Name of Samba Sharing and /sambasharing is shared folder

[sambadir]

        comment = Centos7 Samba Share

        path = /sambasharing

        guest ok = Yes

        read only = No

 

To Enable Samba Service at Boot time.

 

 

[root@server sambasharing]# systemctl enable smb

Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.

 

 

 

To Start Samba Service

 

 

[root@server sambasharing]# systemctl start smb

 

 

To Set up the correct SELinux context for /sambasharing                                                                                       

 

 

[root@server sambasharing]# semanage fcontext -a -t samba_share_t "/sambasharing (/.*)?"                                                   

[root@server sambasharing]# restorecon -R /sambasharing

 

 

                               

 

To Add Samba Service and open default port in  firewall

 

 

[root@server sambasharing]# firewall-cmd --permanent --add-service=samba

success

 

 

To View status of Samba Service

 

[root@server sambasharing]# systemctl status smb

? smb.service - Samba SMB Daemon

   Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled)

   Active: active (running) since Mon 2017-10-23 11:29:55 IST; 2min 22s ago

 Main PID: 2342 (smbd)

   Status: "smbd: ready to serve connections..."

   CGroup: /system.slice/smb.service

           ??2342 /usr/sbin/smbd

          

 

Oct 23 11:29:55 server systemd[1]: Starting Samba SMB Daemon...

Oct 23 11:29:55 server smbd[2342]: [2017/10/23 11:29:55.671610,  0] ../lib/...y)

Oct 23 11:29:55 server systemd[1]: Started Samba SMB Daemon.

Oct 23 11:29:55 server smbd[2342]:   STATUS=daemon 'smbd' finished starting...ns

Hint: Some lines were ellipsized, use -l to show in full.

 

          

Client Configuration to Connect to Samba server

    

 

To Install Samba client package

 

 

[root@client ~]# yum -y install samba-client samba-windbind

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

Package samba-client-4.6.2-8.el7.x86_64 already installed and latest version

No package samba-windbind available.

Nothing to do

[root@client ~]#

 

 

 

 

 

Verifying client instance i.e connecting from client Computer

smbclient <path> <credentials>

smbclient //192.168.56.101/sambadir -U agsamba

 

 

[root@client ~]# smbclient //192.168.56.101/sambadir -U agsamba

Enter SAMBA\agsamba's password:

Domain=[SERVER] OS=[Windows 6.1] Server=[Samba 4.6.2]

smb: \> ls

  .                                   D        0  Mon Oct 23 11:09:23 2017

  ..                                 DR        0  Mon Oct 23 11:06:58 2017

  file1                               N        0  Mon Oct 23 11:09:23 2017

  file2                               N        0  Mon Oct 23 11:09:23 2017

  file3                               N        0  Mon Oct 23 11:09:23 2017

 

                10873856 blocks of size 1024. 3439320 blocks available

smb: \>

 

 

 

To View Information of Samba Shared Directory

 

 

 

[root@client ~]# smbclient -L //192.168.56.101 -N

Anonymous login successful

OS=[Windows 6.1] Server=[Samba 4.6.2]

 

        Sharename       Type      Comment

        ---------       ----      -------

        print$          Disk      Printer Drivers

        sambadir        Disk      Centos7 Samba Share

        IPC$            IPC       IPC Service (Samba server Version 4.6.2)

Anonymous login successful

OS=[Windows 6.1] Server=[Samba 4.6.2]

 

        Server               Comment

        ---------            -------

 

        Workgroup            Master

        ---------            -------

 

 

 

 

 

To Mount Samba file system on Client Machine

          

 

To install Packaged required for Mounting ,yum install cifs-utils

 

 

[root@client ~]# yum install -y cifs-utils

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

Package cifs-utils-6.2-10.el7.x86_64 already installed and latest version

Nothing to do

 

 

 

 

To Create Mount Directory in Client Machine

 

 

 

[root@client ~]# mkdir /smb

 

 

 To Create Mount Point for Samba Network Sharing

 

 

 

[root@client ~]# mount.cifs //192.168.56.101/sambadir /smb -o user=agsamba

Password for agsamba@//192.168.56.101/sambadir:  *******

[root@client ~]# df -hT

Filesystem                Type      Size  Used Avail Use% Mounted on

/dev/mapper/centos-root   xfs        21G  7.2G   14G  34% /

devtmpfs                  devtmpfs  905M     0  905M   0% /dev

tmpfs                     tmpfs     920M     0  920M   0% /dev/shm

tmpfs                     tmpfs     920M  8.8M  911M   1% /run

tmpfs                     tmpfs     920M     0  920M   0% /sys/fs/cgroup

/dev/sda1                 xfs      1014M  178M  837M  18% /boot

tmpfs                     tmpfs     184M   12K  184M   1% /run/user/42

tmpfs                     tmpfs     184M     0  184M   0% /run/user/0

//192.168.56.101/sambadir cifs       11G  7.1G  3.3G  69% /smb

 

 

 

                                     

To  Access Samba Server from Window machine

                               

 

Step 1 :Got To Run And Type \\192.68.56.101\sambadir

Step 2:Window will open to Provide password for authentication Provide Password

Step 3:To View Samba Shared Directory in Window ,In Browser Type IP Address of Samba Server Host Machine

 

Step 4:To View Content of Samba Shared Directory,Go to sambadir where sambadir is name of samba Shared  folder

No comments:

What is iSCSI and How Does it Work?