I configured my /etc/samba/smb.conf for a standalone server, removed all the printer stuff and checked its contents with testparm. It shows the following service definitions:
# Global parameters
[global]
log file = /var/log/samba/log.%m
logging = file
map to guest = Bad User
max log size = 1000
obey pam restrictions = Yes
pam password change = Yes
panic action = /usr/share/samba/panic-action %d
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
passwd program = /usr/bin/passwd %u
server role = standalone server
server string = %h server (Samba, Manjaro)
unix password sync = Yes
usershare allow guests = Yes
workgroup = ARMINUX
idmap config * : backend = tdb
[achat-mj-jaro]
path = /home/jaro
read only = No
valid users = jaro
[achat-mj-ad]
path = /home/AD@achat
read only = No
valid users = jaro
[achat-mj-bifimu]
path = /mnt/bifimu
read only = No
valid users = jaro
In my pcmanfm network folder “network:///” I should see my Manjaro PC “achat” and the defined shares, however, there is nothing besides the Windows network.
In the samba log file I see:
######### 2022 03 26 1513 ### test mit neuem smb.conf
[2022/03/26 15:16:26.626809, 0] ../../source4/samba/server.c:626(binary_smbd_main)
samba version 4.15.5 started.
Copyright Andrew Tridgell and the Samba Team 1992-2021
[2022/03/26 15:16:26.627151, 0] ../../lib/util/become_daemon.c:150(daemon_status)
daemon_status: daemon 'samba' : Starting process...
[2022/03/26 15:16:26.675359, 0] ../../source4/samba/server.c:861(binary_smbd_main)
At this time the 'samba' binary should only be used for either:
'server role = active directory domain controller' or to access the ntvfs file server with 'server services = +smb' or the rpc proxy with 'dcerpc endpoint servers = remote'
You should start smbd/nmbd/winbindd instead for domain member and standalone file server tasks
[2022/03/26 15:16:26.675415, 0] ../../lib/util/become_daemon.c:119(exit_daemon)
exit_daemon: daemon failed to start: Samba detected misconfigured 'server role' and exited. Check logs for details, error code 22
I do not understand why the samba service is not started, what is wrongly configured and would appreciate help.
Additional observation: I can enter the following commands
sudo smbd start
sudo nmbd start
After that the pcmanfm network folder shows achat and within achat my shares:
Have you definitely enabled the smbd/nmbd services?
You can check their status with sudo systemctl status smbd.service and sudo systemctl status nmbd.service
You can start the service on the current run by substituting status in the above with start, and to have them start up automatically each boot, replace it with enable - i.e. sudo systemctl enable smbd.service and sudo systemctl enable nmbd.service
Apologies if that’s teaching grandmother to suck eggs.
I looked at your sharenames and noticed the locations in /home and /mnt
Those locations is begging for problems.
Use a dedicated structure outside the /home and /mnt and /run - so you can control the permissions without worrying the system inherit system permissions onto the shares making them inaccessible.
[jaro@achat ~]$ sudo -i
[sudo] Passwort...
[achat ~]# systemctl status smbd.service
Unit smbd.service could not be found.
[achat ~]# systemctl status nmbd.service
Unit nmbd.service could not be found.
### so I tried to enable. I already knew those commands, however ...
[achat ~]# systemctl enable smbd.service
Failed to enable unit: Unit file smbd.service does not exist.
[achat ~]# systemctl enable nmbd.service
Failed to enable unit: Unit file nmbd.service does not exist.
Why do the services not exist?
Well, I do understand that I cannot enable a non-existing service for the next system start.
You say that the locations in /home and /mnt are likely to cause (permission) problems? I would like to understand your statement:
“Use a dedicated structure outside the /home and /mnt and /run - so you can control the permissions without worrying the system inherit system permissions onto the shares making them inaccessible.”
The link to “Basic Samba Setup and Troubleshooting 1” does not help me; it is like Chinese to me.
When I edited my smb.conf file I started from the template and modified as few lines as possible according to the instructions I read in the template. What was wrong with my approach?
I have been a system adminstrator on numerous sites and what I recommend is based by personal experience on how to administer shared resources using a predicatable structure to simplify maintenance and permissions.
Example
/data/smb/share1
/data/smb/share2
Set permissions on /data/smb using either ownership to your username or set readwrite to everyone.
/mnt is for temporary mounts and /home is for users home and is and the mount on boot sets inherited permissions and is thus readonly for everyone but root.
That is why it is wiser to create a dedicated structure like the /data tree example mentioned above.
I have written numerous topics on the topic of sharing and mounting both devices and remote shares - just search for [root tip].
@ straycat
I believe you have got the solution to my question why my Manjaro won’t start the daemon processes. Naming of the services! Now, after the start of my Manjaro system, pcmanfm / network shows my PC “achat”. See the following #log1#.
My intended sharing works now and I might close this thread. However, I still do not understand why error 22 persists. For the sake of spreading Linux knowhow I would welcome additional comments. In particular I note this line in /var/log/samba/log.%m:
“You should start smbd/nmbd/winbindd instead for domain member and standalone file server tasks”
Yes, what I need is a standalone file server on my PC to serve in my home network and therefore I specified “server role = standalone server” in my above smb.conf file. The error 22 seemingly tells me what to do. Possibly I am too stupid to understand the instruction. Does it mean that the commands
“systemctl enable smb.service” and
“systemctl enable nmb.service”
are wrong to start a standalone server and instead of that I should invoke
### 2022 04 02 2032 after enable of smb and nmb ###################
[2022/04/02 10:49:47.502358, 0] ../../source4/samba/server.c:626(binary_smbd_main)
samba version 4.15.5 started.
Copyright Andrew Tridgell and the Samba Team 1992-2021
[2022/04/02 10:49:47.502549, 0] ../../lib/util/become_daemon.c:150(daemon_status)
daemon_status: daemon 'samba' : Starting process...
[2022/04/02 10:49:47.531474, 0] ../../source4/samba/server.c:861(binary_smbd_main)
At this time the 'samba' binary should only be used for either:
'server role = active directory domain controller' or to access the ntvfs file server with 'server services = +smb' or the rpc proxy with 'dcerpc endpoint servers = remote'
You should start smbd/nmbd/winbindd instead for domain member and standalone file server tasks
[2022/04/02 10:49:47.531516, 0] ../../lib/util/become_daemon.c:119(exit_daemon)
exit_daemon: daemon failed to start: Samba detected misconfigured 'server role' and exited. Check logs for details, error code 22
I don’t know about the error code but if you have samba working that’s good.You might check out Using Samba in your File Manager - Manjaro and see if you missed something setting it up.
In March and April I encountered a Samba problem, which i could solve, however, without full understanding of the solution. Since then I needed the samba only rarely. Now, in November 2022, my problem (error code 22) seems to be back.
My last trial today (2022-11-28) was the following
###Step 1: I disabled the Samba services:
systemctl disable smb.service
systemctl disable nmb.service
###Step 2: reboot; next I verify that services are disabled:
systemctl status nmb.service
○ nmb.service - Samba NMB Daemon
Loaded: loaded (/usr/lib/systemd/system/nmb.service; disabled; preset: disabled)
Active: inactive (dead)
systemctl status smb.service
[achat samba]# systemctl status smb.service
○ smb.service - Samba SMB Daemon
Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; preset: disabled)
Active: inactive (dead)
###Step 3: I check the syntax of my smb.conf file
pushd /etc/samba
testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)
Server role: ROLE_STANDALONE
###Step 4: I start smbd and nmbd
sudo -i
smbd start; nmbd start;
###Step 4: In PCMANFM I click "network", I can see my "achat" PC.
#Double click on <achat> yields error messages that are possibly related with lacking privileges:
Empfangen der Freigabenliste vom Server ist gescheitert: Das Programm verursachte den Abbruch der Verbindung
Der angegebene Ort ist nicht eingehängt
###Step 5: looking into the log file /var/log/samba/log.%m
[jaro@achat samba]$ tail log.%m
samba version 4.17.2 started.
Copyright Andrew Tridgell and the Samba Team 1992-2022
[2022/11/28 12:06:48.853748, 0] ../../lib/util/become_daemon.c:150(daemon_status)
daemon_status: daemon 'samba' : Starting process...
[2022/11/28 12:06:48.905399, 0] ../../source4/samba/server.c:851(binary_smbd_main)
At this time the 'samba' binary should only be used for either:
'server role = active directory domain controller' or to access the ntvfs file server with 'server services = +smb' or the rpc proxy with 'dcerpc endpoint servers = remote'
You should start smbd/nmbd/winbindd instead for domain member and standalone file server tasks
[2022/11/28 12:06:48.905486, 0] ../../lib/util/become_daemon.c:119(exit_daemon)
exit_daemon: daemon failed to start: Samba detected misconfigured 'server role' and exited. Check logs for details, error code 22
Here error code 22 it is back! I do not know why and what I could do to understand and remove the cause of my problem.