zoukankan      html  css  js  c++  java
  • linux Samba 搭建

    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 = \%Lprofiles.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.

    Windows 7, 1 nic, bridge, internet [Running] - Oracle VM VirtualBox_004Now you’ll able to access the fully accessed Samba share from your Windows OS clients.

    Windows 7, 1 nic, bridge, internet [Running] - Oracle VM VirtualBox_005Create 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.

    Windows 7, 1 nic, bridge, internet [Running] - Oracle VM VirtualBox_006Create 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 = \%Lprofiles.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!

    Windows 7, 1 nic, bridge, internet [Running] - Oracle VM VirtualBox_007That’s it. Now you’ll able to access the Samba shares.

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

  • 相关阅读:
    老天待我不薄,又来这么一题POJ1753
    HDOJ4857【拓扑排序】
    二分匹配ZOJ3646
    poj3185//BFS随便切...
    poj2239 poj1274【二分匹配】
    每天一水poj1502【最短路】
    POJ1466/HDOJ1068 谈谈二分匹配的时间复杂度
    纯拓扑排序一搞poj2367
    poj1477(水)
    用动态链表high-poj 1528
  • 原文地址:https://www.cnblogs.com/nevermore29/p/13614229.html
Copyright © 2011-2022 走看看