• Why O why is SAMBA such a nightmare in Linux?


    Antergos has failed me. :(

    I’ve been testing various distros for a LONG time now and Antergos was leading the race (by far) as my future desktop OS. But, it finally started doing what every other distro did before it. Namely, making it impossible for me to access Windows 7 SMB shares. All this worked perfectly until tonight.

    For many, many weeks, when I would boot into Antergos and launch Nemo… I could click on “Network” and see my Windows boxes and go right into them. Tonight, not so much. When I click on Networks, I see ‘Windows Networks’. When I click on that, I just see ‘smb:///’ in the address bar in Nemo and nothing else.

    I followed this guide to manually mount the share: https://wiki.archlinux.org/index.php/samba#Manual_mounting

    mount -t cifs //server-pc/d$ /mnt/server-pc -o user=server,password=mysupersecretpassword,uid=username,gid=group,workgroup=workgroup,ip=192.168.1.249,iocharset=utf8

    I get this back: ‘event not found’.

    Yes, I used mkdir and created a /mnt/server-pc folder and made sure my account had access to that directory.

    (Maybe I’m not entering the right data in that string?!) Or, because Nemo can’t see my Windows ahres, for who whatever reason, manually mapping isn’t going to work either until I fix the underlying problem?

    As I transition away from Windows and into Linux, I need a a 100% reliable way of accessing my Windows shares as I test things out. Since I’ve had this problem with every. single. Linux distro, why isn’t SAMBA more reliable or is the question, why is MS such pricks and did a crap job with SMB? In either case, what can I do, if anything, to get SAMBA working 100% reliably so I can always access my Windows shares?

    Thanks

  • @RoadHazard
    In your mount command, does it help to change plain $ sign to \$ ?

  • After installing cifs-utils or smbclient, load the cifs kernel module or reboot to prevent mount fails.

    More is not needed, to get a share from local network, if the share is not longer aviable over nemo, it is may a issue with nemo, or on the side of the windows machine.
    You can try to use smbclient from commandline to see if the share is aviable http://jlk.fjfi.cvut.cz/arch/manpages/man/smbclient.1

    [updates once a week] = [90% less problems]
    http://gofccyourself.com
    my-blog#k
    how to add system logs
    i3 GNOME

  • run testparm to debug it

    testparm
    

    [updates once a week] = [90% less problems]
    http://gofccyourself.com
    my-blog#k
    how to add system logs
    i3 GNOME

  • @manuel Nope. Makes no difference. I can access my shares today but that command still gives the same error.

    @joekamprad Those programs are already installed but I’m affraid I have no idea how to load the cifs kernel module (too much of a newb). I’ll take a look at that link when I get some free time (about to go grocery shopping now). :) And when I run ‘testparm’, I get this:

    Load smb config files from /etc/samba/smb.conf
    rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
    Unknown parameter encountered: "�� Pf�D�KczM ���j�(���2n��2���9ؿ��vR��"
    Ignoring unknown parameter "�� Pf�D�KczM ���j�(���2n��2���9ؿ��vR��"
    Unknown parameter encountered: "3�⡈Ɯ���W���Ɉ��h������/��גD�*�&3����w��&
    ��������ص�+���N0�����-��Rd>{�RG��p�����k𮇭xM�+��>{ՓZK)Y�9���јn$Q�fsK�"�. Ignoring unknown parameter "3�⡈Ɯ���W���Ɉ��h������/��גD�*�&3����w��& ������pT����ص�+0�5z������-��Rd>{�RG��p�����k𮇭xM�+��>{ՓZK)Y�9���јn$Q�fsK�"
    Error loading services.

    … that normal?

  • 0_1505685948802_Bildschirmfoto vom 2017-09-18 00-05-32.png

    nonono this is looking strange to me…

    try taking a look to the file cat /etc/samba/smb.conf

    [updates once a week] = [90% less problems]
    http://gofccyourself.com
    my-blog#k
    how to add system logs
    i3 GNOME

  • @joekamprad I didn’t paste it all, but here’s the first several lines:

    cat /etc/samba/smb.conf
    PK8,K^�2
    ’mimetypeapplication/vnd.oasis.opendocument.textPK8,K�O��^.^.Thumbnails/thumbnail.png�PNG
    
    IHDR�߃�r�PLTE+,209COPVRPB^WTKhnfmhgjxkrzxj`ujqvtfyxznp�xx�xz�}�w|��}��|���|l�y{�~v�|�������v��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Þ�ժ�ª�ð����ü�Ի»��ƻ�ź�ӻ��������ú�Ƚ�ô����»�½�ʷ�ʻ�˽�Ѿ����¼��������»�ǽ�Ѽ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������W�+%IDATx��}\��g����^�ݴ��z1��[������ �q$L{Mj�Mn�1��p-ڸ�O� &��Q�R�-�Ȓ5q�F �[m�(lܑ%kl��[�^�!���{_a’v��M�m�c�a�yg�a��<?��;���g�S�|f�

    I think I know what happened. When I started having problems, I edited the smb.conf file to see if I could get Windows shares working again. I think when I was editing it, it defaulted to using LibreOffice Writer and I might have saved it in the wrong format? I have since re-saved a good copy and it opens fine in the text editor.

    Right now, Windows shares are showing up… everything is working perfectly. Since I don’t have enough privileges to upload the smb.conf file, I’ll try pasting it in here.

    testparm now gives me this:

    This is the main Samba configuration file. You should read the

    smb.conf(5) manual page in order to understand the options listed

    here. Samba has a huge number of configurable options (perhaps too

    many!) most of which are not shown in this example

    Any line which starts with a ; (semi-colon) or a # (hash)

    is a comment and is ignored. In this example we will use a

    for commentry and a ; for parts of the config file that you

    may wish to enable

    NOTE: Whenever you modify this file you should run the command “testparm”

    to check that you have not made any basic syntactic errors.

    #======================= Global Settings =====================================
    [global]

    workgroup = NT-Domain-Name or Workgroup-Name

    workgroup = workgroup

    server string is the equivalent of the NT Description field

    server string = Samba Server

    This option is important for security. It allows you to restrict

    connections to machines which are on your local network. The

    following example restricts access to two C class networks and

    the “loopback” interface. For more examples of the syntax see

    the smb.conf man page

    ; hosts allow = 192.168.1. 192.168.2. 127.

    if you want to automatically load your printer list rather

    than setting them up individually then you’ll need this

    printcap name = /etc/printcap
    load printers = yes

    It should not be necessary to spell out the print system type unless

    yours is non-standard. Currently supported print systems include:

    bsd, sysv, plp, lprng, aix, hpux, qnx

    ; printing = bsd

    Uncomment this if you want a guest account, you must add this to /etc/passwd

    otherwise the user “nobody” is used

    ; guest account = pcguest

    this tells Samba to use a separate log file for each machine

    that connects

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

    Put a capping on the size of the log files (in Kb).

    max log size = 50

    Security mode. Most people will want user level security. See

    security_level.txt for details.

    security = user

    Use password server option only with security = server

    ; password server = <NT-Server-Name>

    Password Level allows matching of n characters of the password for

    all combinations of upper and lower case.

    ; username level = 8

    You may wish to use password encryption. Please read

    ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation.

    Do not enable this option unless you have read those documents

    ; encrypt passwords = yes
    ; smb passwd file = /etc/samba/smbpasswd

    The following are needed to allow password changing from Windows to

    update the Linux sytsem password also.

    NOTE: Use these with ‘encrypt passwords’ and ‘smb passwd file’ above.

    NOTE2: You do NOT need these to allow workstations to change only

    the encrypted SMB passwords. They allow the Unix password

    to be kept in sync with the SMB password.

    ; unix password sync = Yes
    ; passwd program = /usr/bin/passwd %u
    ; passwd chat = NewUNIXpassword %n\n ReTypenewUNIXpassword* %n\n passwd:allauthenticationtokensupdatedsuccessfully*

    Unix users can map to different SMB User names

    ; username map = /etc/samba/smbusers

    Using the following line enables you to customise your configuration

    on a per machine basis. The %m gets replaced with the netbios name

    of the machine that is connecting

    ; include = /etc/samba/smb.conf.%m

    Configure Samba to use multiple interfaces

    If you have multiple network interfaces then you must list them

    here. See the man page for details.

    ; interfaces = 192.168.12.2/24 192.168.13.2/24

    Configure remote browse list synchronisation here

    request announcement to, or browse list sync from:

    # a specific host or from / to a whole subnet (see below)
    ; remote browse sync = 192.168.3.25 192.168.5.255

    Cause this host to announce itself to local subnets here

    ; remote announce = 192.168.1.255 192.168.2.44

    Browser Control Options:

    set local master to no if you don’t want Samba to become a master

    browser on your network. Otherwise the normal election rules apply

    local master = no

    OS Level determines the precedence of this server in master browser

    elections. The default value should be reasonable

    ; os level = 33

    Domain Master specifies Samba to be the Domain Master Browser. This

    allows Samba to collate browse lists between subnets. Don’t use this

    if you already have a Windows NT domain controller doing this job

    domain master = no

    Preferred Master causes Samba to force a local browser election on startup

    and gives it a slightly higher chance of winning the election

    preferred master = no

    Use only if you have an NT server on your network that has been

    configured at install time to be a primary domain controller.

    ; domain controller = <NT-Domain-Controller-SMBName>

    Enable this if you want Samba to be a domain logon server for

    Windows95 workstations.

    ; domain logons = yes

    if you enable domain logons then you may want a per-machine or

    per user logon script

    run a specific logon batch file per workstation (machine)

    ; logon script = %m.bat

    run a specific logon batch file per username

    ; logon script = %U.bat

    Where to store roving profiles (only for Win95 and WinNT)

    %L substitutes for this servers netbios name, %U is username

    You must uncomment the [Profiles] share below

    ; logon path = \%L\Profiles%U

    All NetBIOS names must be resolved to IP Addresses

    ‘Name Resolve Order’ allows the named resolution mechanism to be specified

    the default order is “host lmhosts wins bcast”. “host” means use the unix

    system gethostbyname() function call that will use either /etc/hosts OR

    DNS or NIS depending on the settings of /etc/host.config, /etc/nsswitch.conf

    and the /etc/resolv.conf file. “host” therefore is system configuration

    dependant. This parameter is most often of use to prevent DNS lookups

    in order to resolve NetBIOS names to IP Addresses. Use with care!

    The example below excludes use of name resolution for machines that are NOT

    on the local network segment

    - OR - are not deliberately to be known via lmhosts or via WINS.

    ; name resolve order = wins lmhosts bcast

    Windows Internet Name Serving Support Section:

    WINS Support - Tells the NMBD component of Samba to enable it’s WINS Server

    ; wins support = yes

    WINS Server - Tells the NMBD components of Samba to be a WINS Client

    # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
    ; wins server = w.x.y.z

    WINS Proxy - Tells Samba to answer name resolution queries on

    behalf of a non WINS capable client, for this to work there must be

    at least one WINS Server on the network. The default is NO.

    ; wins proxy = yes

    DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names

    via DNS nslookups. The built-in default for versions 1.9.17 is yes,

    this has been changed in version 1.9.18 to no.

    dns proxy = no

    Case Preservation can be handy - system default is no

    NOTE: These can be set on a per share basis

    ; preserve case = no
    ; short preserve case = no

    Default case is normally upper case for all DOS files

    ; default case = lower

    Be very careful with case sensitivity - it can break things!

    ; case sensitive = no

    #============================ Share Definitions ==============================
    [homes]
    comment = Home Directories
    browseable = no
    writable = yes

    Un-comment the following and create the netlogon directory for Domain Logons

    ; [netlogon]
    ; comment = Network Logon Service
    ; path = /home/netlogon
    ; guest ok = yes
    ; writable = no
    ; share modes = no

    Un-comment the following to provide a specific roving profile share

    the default is to use the user’s home directory

    ;[Profiles]
    ; path = /home/profiles
    ; browseable = no
    ; guest ok = yes

    NOTE: If you have a BSD-style print system there is no need to

    specifically define each individual printer

    [printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = no

    Set public = yes to allow user ‘guest account’ to print

    guest ok = no
    writable = no
    printable = yes

    This one is useful for people to share files

    ;[tmp]
    ; comment = Temporary file space
    ; path = /tmp
    ; read only = no
    ; public = yes

    A publicly accessible directory, but read only, except for people in

    the “staff” group

    ;[public]
    ; comment = Public Stuff
    ; path = /home/samba
    ; public = yes
    ; read only = yes
    ; write list = @staff

    Other examples.

    A private printer, usable only by fred. Spool data will be placed in fred’s

    home directory. Note that fred must have write access to the spool directory,

    wherever it is.

    ;[fredsprn]
    ; comment = Fred’s Printer
    ; valid users = fred
    ; path = /homes/fred
    ; printer = freds_printer
    ; public = no
    ; writable = no
    ; printable = yes

    A private directory, usable only by fred. Note that fred requires write

    access to the directory.

    ;[fredsdir]
    ; comment = Fred’s Service
    ; path = /usr/somewhere/private
    ; valid users = fred
    ; public = no
    ; writable = yes
    ; printable = no

    a service which has a different directory for each machine that connects

    this allows you to tailor configurations to incoming machines. You could

    also use the %u option to tailor it by user name.

    The %m gets replaced with the machine name that is connecting.

    ;[pchome]
    ; comment = PC Directories
    ; path = /usr/pc/%m
    ; public = no
    ; writable = yes

    A publicly accessible directory, read/write to all users. Note that all files

    created in the directory by users will be owned by the default user, so

    any user with access can delete any other user’s files. Obviously this

    directory must be writable by the default user. Another user could of course

    be specified, in which case all files would be owned by that user instead.

    ;[public]
    ; path = /usr/somewhere/else/public
    ; public = yes
    ; only guest = yes
    ; writable = yes
    ; printable = no

    The following two entries demonstrate how to share a directory so that two

    users can place files there that will be owned by the specific users. In this

    setup, the directory should be writable by both users and should have the

    sticky bit set on it to prevent abuse. Obviously this could be extended to

    as many users as required.

    ;[myshare]
    ; comment = Mary’s and Fred’s stuff
    ; path = /usr/somewhere/shared
    ; valid users = mary fred
    ; public = no
    ; writable = yes
    ; printable = no
    ; create mask = 0765

  • @RoadHazard
    So can this be marked as solved now? :)

  • If you are happy, mark as solved ;) It’s your post !

    Bild Text

    [updates once a week] = [90% less problems]
    http://gofccyourself.com
    my-blog#k
    how to add system logs
    i3 GNOME

  • @joekamprad Yup, I’ll mark is as solved but, I started messing with that samba file because I couldn’t access my Windows shares. Something caused Antergos to stop “seeing” those shares, like so many other distros before it. But as of right now, it’s working AOK so I don’t see a point in keeping this open.

    However, if I should boot up one day and my Windows shares are not visible, what sort of data should I collect and attach to my post?

  • @RoadHazard
    Totally depends on what kind of a problem it is.
    But often the reason lies in the changes we make into the system. ;)

  • the holy journal is the first information history you can search:

    journalctl --since "525600 minutes ago" (change the number to lapse in the near past)

    [updates once a week] = [90% less problems]
    http://gofccyourself.com
    my-blog#k
    how to add system logs
    i3 GNOME

nightmare1 samba22 Posts 12Views 577
Log in to reply