Share Access

Is the implication with the difference between KDE and Gnome on accessing shares that other DE's need special configurations as well? - KitchM 02:06, 7 May 2010 (EDT)

As I read it, the difference is made between KDE and Gnome's graphical file managers (3.2) and from commandline (3.3). On the other hand, gvfs belongs to gnome - all a tad confusing. See my post below for a suggestion on how to rewrite that bit. Hokasch 12:02, 18 May 2010 (EDT)

Thanks; very nice! I'm totally with you on this. In fact, what if someone uses a different file manager? Why are there so many different network browser mechanisms? Why so many different network protocols? Etc., etc.. I picked Ext3 only once when I installed the OS, and I didn't even have to configure that. I was able to connect to the Internet with little work. But to hook my computer to another one on my own LAN, I've got to jump thru hoops. That bugs the heck out of me. There's got to be a better way. - KitchM 01:43, 19 May 2010 (EDT)

I am not aware of other filebrowsers that can browse/mount shares on the fly. With thunar and fluxbox, I used some of the solutions mentioned later (fusesmb or so). Look here for some quick adjustments (didnt' want to mess up the paragraphs on the official page for now): https://wiki.archlinux.org/index.php/User:Hokasch/SambaHokasch 08:31, 19 May 2010 (EDT)

The issue is actually that the underlying services are not correctly done. For instance, if the user wishes to access a network share, the only thing that must be there (besides the other computers being turned on and physically connected to the LAN) is for the proper service to be running so that the OS knows that the computers are available. All file managers should then be able to see the shares available. This should be automatic.

Why should a person have to use a network browser, such as Avahi or LinNeighborhood? If those work, then the file manager should be able to handle that as well. Right now, if I use one of these to mount a network share, then any file manager can see that item and automatically list it in the directory tree. Since my file manager (XFE) can mount and unmount things, there is only one part missing, and that isn't the fault of the file manager. - KitchM 13:46, 24 May 2010 (EDT)

Rearrangement

It might be a very helpful thing for an expert on the subject to work this whole article over in a better arrangement of the process. I have found that the comments here point out a few issues, and my experience notes a couple things. I found the following basic outline:
1. install, 2. configure smb.conf, 3. start daemons, 4. add users, 5. access shares from other computers on LAN, and 6. mounting those shares

What seems to be left out are:
1. more smb.conf details, 2. creating shares, 3. making them available for other computers, and ?

_netdev mount option

when adding a share to /etc/fstab, wouldn't adding _netdev be a good idea?

(Please sign your edits in discussion pages with ~~~~)

I think you have a point, _netdev should probably be added to the mount options. -- Kynikos 06:15, 13 December 2011 (EST)

~~~~

The fstab setting "comment=systemd.automount" does not work with mount.cifs "comment" or x-sysmted.* is not mentioned in the man-page of mount.cifs. -- Some1 22:05 22.Nov 2013

Messy

This page is a bit of a mess.. KDE file sharing it at the bottom but numerious deprecated method are listed in the main article..

smb.conf file required for smbclient?

I get an error (warning) when I try to use smbclient without Samba server on that client? Should the wiki be updated to clarify the necessity of smb.conf on smbclient installs only? The wiki is confusing to me because it appears that smb.conf is not required for smbclient only installs.

Error below:

params.c:OpenConfFile() - Unable to open configuration file "/etc/samba/smb.conf":
No such file or directory
smbclient: Can't load /etc/samba/smb.conf - run testparm to debug it

I tried the smbclient -L command and also got this message. I suspect it is just an overly talkative program rather than an indication of an error. Might be worth mentioning this, unless someone knows how a missing config file could cause a real problem. Vadmium (talk) 01:58, 3 December 2012 (UTC).

I just solved a long time printing problem by creating an empty file at "/etc/samba/smb.conf". Before this I never managed to use the Samba printers at my university unless I printed through he command line with smbclient -U "username" //printer -c "print file.ps". With all other methods cups would reply with "Can't load /etc/samba/smb.conf - run testparm to debug it". Generating that file (even if it's completely empty) solved that issue. Sounds to me like a bug in cups as there is no reason to require that file, given it's never used. ptersilie (talk)

permissions

I spend hours to try sharing files for guest access in my /home/[user]/Public. Finally I see something from the page Samba/Tips_and_tricks "Note: Make sure the guest also has permission to visit /path, /path/to and /path/to/public". the access to /home/[user] is forbidden for Groups and Others ! So I use /srv/public instead, but this precious information must be write somewhere. Mikhaddo (talk) 14:24, 3 September 2015 (UTC)

smb.conf permissions

Would it be appropriate to change the “cp /etc/samba/smb.conf.default /etc/samba/smb.conf” command in the instructions to “cp -a /etc/samba/smb.conf.default /etc/samba/smb.conf” or otherwise have a note to make sure smb.conf is world-readable? On my setup, a plain cp resulted in permissions of 600, and “net usershare” absolutely refused to work with the unhelpful message “usershares are currently disabled” until I finally discovered that the permissions on the config file were incorrect. TravisE (talk) 07:52, 4 November 2015 (UTC)

To clarify or add on to what user @TravisE said, this is what I had to do to get the client working: basically, you need to create the /etc/samba directory in case you do not have the server installed ("sudo mkdir /etc/samba") and assign it 755 permissions ("sudo chmod 755 /etc/samba"), then you can create an empty file and assign it 644 permissions ("sudo touch /etc/samba/smb.conf ; sudo chmod 644 /etc/samba/smb.conf"). These permissions are default on Fedora, and also seems to work fine for Arch. Is there a bug filed about this already? Google hasn't been much help...
--Sagir3 (talk) 00:48, 31 July 2017 (UTC)

Samba automount

Thanks for the edit and link to the man page, but I'm still hoping for a more easy solution: '.. It only indicates that the network management stack is up after it has been reached.
.. services using the network should hence simply place an After=network.target dependency in their unit files, and avoid any Wants=network.target or even Requires=network.target'.

Is there no other method to check if an network service is started? Or should the Requirement line simple be removed?

Hi, no problem. There are other methods, but it gets more complicated. So, sorry I am not aware of an easy other method that works with any network management service, let's both have hope :) Network mounts like via samba are susceptible to fail easily, I would not remove Requires= for such (particularly since not everyone uses the listed networkd-online or nm-online). The Requires= actually can be handy as well, because it means you don't need to have the network managemnt started. Once you start mnt-myshare.mount, it would automatically start the Requires= unit. Or, once you stop the required unit, the mount is brought down first. Ok? --Indigo (talk) 21:24, 29 February 2016 (UTC)

I don't know if the Require line is still needed thought, since it already has set network-online as dep.

An issue could occur when using/restart or switching between multiple network services, resulting in (share) connections getting drop or creating multiple connections.

On testing, I didn't found any (share-)disconnect issues resulting in network failures/changing IP's, restarting backends, etc. The share would simple lose it's connections, and restore the connection when it could reach the server again.

Therefore I would recommend of dropping the Require string, since it should not depend on a (single) backend, but simple on the IP-settings.

Well, if you test it and it works with different backends safely on connect/disconnect, sure - the Requires= is not a pre-requisite for the unit to work. I did not want to dive into the topic, but since you ask: my first thought is that this note is a nuisance. It would be cleaner, if a custom systemd unit mnt-myshare.mount works without any "You may have to enable unit xyz...", no matter what service takes care of the network connection. network-online.target is a systemd standard. I have not followed, if all the major network configuration tools now adjusted to adhere to it so that other units can safely depend on ordering behind it only. If yes I wonder, why systemd-networkd-wait-online.service even exists..

My second thought: the mnt-myshare.mount unit's dependencies should ensure that manual stopping of the connection is not possible, if it is in use (e.g. files open via the share). I don't know if that was part of your test; my expectation to a network share these days is that either the service and protocol (samba, cifs) tries to ensure no data is lost or the unit mounting the share.

My third thought (only now that I look at the Samba#Automatic_mounting section): I would never use the mnt-myshare.mount anyway. Why? Because it will try to find the //server/sharename each time any network connection goes up. Imagine you connect to a public hotel/university w/lan (no samba server you need there), samba starts searching, someone in the public network sniffs the query. Next time you connect to the same hotel/university w/lan a named share may be found, samba tries to connect and with that -oops- your share credentials are over the wire. As is, this is classic information leakage. I would always bind such a automount to a particular network connection, i.e. let it have some sort of pre-authentication. Obviously, this last thought makes the whole thing more complicated again. I would not say that the unit must reflect it, but maybe a general warning is a sensible thing to add.

tl;dr: If you tested it and it works without Requires= for other network services than those mentioned in the note, fine with me to remove it. I am not using samba with a systemd installation currently, so I cannot give it a try.

Server Configuration - Creating a Share

I have a question regarding what are we supposed to understand with the sentence at [[[1]]]:

On Windows side, be sure to change smb.conf to the in-use Windows Workgroup (default: WORKGROUP).

From my point of view this means that the Workgroup on 'smb.conf' should be the same as the workgroup used on Windows and nothing needs to be changed on any Windows Machine. If that is the case, could we rephrase that as:

Also remember to change smb.conf to the in-use Windows Workgroup (default: WORKGROUP).

Share files without a username and password

Is anyone actually having success with the described methods? Wouldn't it be much easier to suggest the following method with "force user" to share files in a friendly/home network without having filesystem permission headaches?