You are not logged in.
I have an smb.conf which works perfectly using any distro other than Arch, saved in my subfolder "Linux Important Backups" on my Data Drive. I also have the "example" smb.conf as specified in the Arch Wiki. I have tried both with no success. Many months ago I successfully installed and configured Arch the Arch way, followed the Arch Wiki and successfully installed and configured Samba no problems - using my own smb.conf. So now I am wondering if I am missing something, or has something changed within Arch to necessitate some interaction on my part to "make it work"?
Enclosed are my inxi -fxz and details of the error message I am getting with Samba file sharing. The path for the directory I'm attempting to share is /mnt/MyData/Daves Correspondence. Part of the error message states the path contains "invalid characters"; .....but I cannot see any.......
Any suggestions will be very much appreciated, please.
[david@david-b450m-gaming /]$ inxi -fxz
CPU:
Info: quad core model: AMD Ryzen 3 4300GE with Radeon Graphics bits: 64
type: MT MCP arch: Zen 2 rev: 1 cache: L1: 256 KiB L2: 2 MiB L3: 4 MiB
Speed (MHz): avg: 1769 high: 2994 min/max: 1400/4112 boost: enabled
cores: 1: 2994 2: 1330 3: 1331 4: 1330 5: 2994 6: 1330 7: 1508 8: 1336
bogomips: 55919
Flags: 3dnowprefetch abm adx aes aperfmperf apic arat avic avx avx2 bmi1
bmi2 bpext cat_l3 cdp_l3 clflush clflushopt clwb clzero cmov cmp_legacy
constant_tsc cpb cpuid cqm cqm_llc cqm_mbm_local cqm_mbm_total
cqm_occup_llc cr8_legacy cx16 cx8 de decodeassists extapic extd_apicid
f16c flushbyasid fma fpu fsgsbase fxsr fxsr_opt ht hw_pstate ibpb ibrs
ibs irperf lahf_lm lbrv lm mba mca mce misalignsse mmx mmxext monitor
movbe msr mtrr mwaitx nonstop_tsc nopl npt nrip_save nx osvw
overflow_recov pae pat pausefilter pclmulqdq pdpe1gb perfctr_core
perfctr_llc perfctr_nb pfthreshold pge pni popcnt pse pse36 rapl rdpid
rdpru rdrand rdseed rdt_a rdtscp rep_good sep sha_ni skinit smap smca
smep ssbd sse sse2 sse4_1 sse4_2 sse4a ssse3 stibp succor svm svm_lock
syscall tce topoext tsc tsc_scale umip v_spec_ctrl v_vmsave_vmload vgif
vmcb_clean vme vmmcall wbnoinvd wdt xgetbv1 xsave xsavec xsaveerptr
xsaveopt xsaves
Error Message (typed longhand as there was no way to copy and paste)
Cannot modify the share:
'net usershare' returned error 255: [2022/03/08 13:10:24, 0] ../../lib/util/
debug.c:1100(reopen_one_log)
reopen_one_log:Unable to open new log file 'Daves Correspondence/
log.net': No such file or directory
net usershare add:share name /mnt/mydata/daves correspondence contains
invalid characters (any of %<>*?|^+=;:",)
Last edited by dave1953 (2022-03-12 10:32:02)
Offline
Please use code tags for pasting outputs: https://bbs.archlinux.org/help.php#bbcode
On a guess I'd say the space in the name is a problem, try a dir that doesn't contain a space.
Offline
Thanks for your suggestion and I will take on board regarding code quotes. Unfortunately the removal of spaces, renaming folders makes no difference whatsoever, I just tried it with a folder called "test". Again, I would respectfully reiterate 1) there are no issues when I use the "testparm" command and 2) I can successfully configure and successfully use correctly Samba in any other distro I choose - except Arch. No problems with any Debian based distro or Fedora. Which is what makes me believe I am missing something or need to change a lib file somewhere(?).
Stumped
Offline
Offline
#======================= Global Settings =======================
[global]
## Browsing/Identification ###
# Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = workgroup
force user = david
usershare path = /var/lib/samba/usershares
usershare max shares = 100
usershare allow guests = yes
usershare owner only = yes
#### Networking ####
# The specific set of interfaces / networks to bind to
# This can be either the interface name or an IP address/netmask;
# interface names are normally preferred
; interfaces = 127.0.0.0/8 eth0
# Only bind to the named interfaces and/or networks; you must use the
# 'interfaces' option above to use this.
# It is recommended that you enable this feature if your Samba machine is
# not protected by a firewall or is a firewall itself. However, this
# option cannot handle dynamic or non-broadcast interfaces correctly.
; bind interfaces only = yes
#### Debugging/Accounting ####
# This tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba/log.%m
# Cap the size of the individual log files (in KiB).
max log size = 1000
# We want Samba to only log to /var/log/samba/log.{smbd,nmbd}.
# Append syslog@1 if you want important messages to be sent to syslog too.
logging = systemd
# Do something sensible when Samba crashes: mail the admin a backtrace
panic action = /usr/share/samba/panic-action %d
####### Authentication #######
# Server role. Defines in which mode Samba will operate. Possible
# values are "standalone server", "member server", "classic primary
# domain controller", "classic backup domain controller", "active
# directory domain controller".
#
# Most people will want "standalone server" or "member server".
# Running as "active directory domain controller" will require first
# running "samba-tool domain provision" to wipe databases and create a
# new domain.
server role = standalone server
obey pam restrictions = yes
# This boolean parameter controls whether Samba attempts to sync the Unix
# password with the SMB password when the encrypted SMB password in the
# passdb is changed.
unix password sync = yes
# For Unix password sync to work on a Debian GNU/Linux system, the following
# parameters must be set (thanks to Ian Kahan <<kahan@informatik.tu-muenchen.de> for
# sending the correct chat script for the passwd program in Debian Sarge).
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
# This boolean controls whether PAM will be used for password changes
# when requested by an SMB client instead of the program listed in
# 'passwd program'. The default is 'no'.
pam password change = yes
# This option controls how unsuccessful authentication attempts are mapped
# to anonymous connections
map to guest = bad user
########## Domains ###########
#
# The following settings only takes effect if 'server role = primary
# classic domain controller', 'server role = backup domain controller'
# or 'domain logons' is set
#
# It specifies the location of the user's
# profile directory from the client point of view) The following
# required a [profiles] share to be setup on the samba server (see
# below)
; logon path = \\%N\profiles\%U
# Another common choice is storing the profile in the user's home directory
# (this is Samba's default)
# logon path = \\%N\%U\profile
# The following setting only takes effect if 'domain logons' is set
# It specifies the location of a user's home directory (from the client
# point of view)
; logon drive = H:
# logon home = \\%N\%U
# The following setting only takes effect if 'domain logons' is set
# It specifies the script to run during logon. The script must be stored
# in the [netlogon] share
# NOTE: Must be store in 'DOS' file format convention
; logon script = logon.cmd
# This allows Unix users to be created on the domain controller via the SAMR
# RPC pipe. The example command creates a user account with a disabled Unix
# password; please adapt to your needs
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
# This allows machine accounts to be created on the domain controller via the
# SAMR RPC pipe.
# The following assumes a "machines" group exists on the system
; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
# This allows Unix groups to be created on the domain controller via the SAMR
# RPC pipe.
; add group script = /usr/sbin/addgroup --force-badname %g
############ Misc ############
# 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 = /home/samba/etc/smb.conf.%m
# Some defaults for winbind (make sure you're not using the ranges
# for something else.)
; idmap config * : backend = tdb
; idmap config * : range = 3000-7999
; idmap config YOURDOMAINHERE : backend = tdb
; idmap config YOURDOMAINHERE : range = 100000-999999
; template shell = /bin/bash
# Setup usershare options to enable non-root users to share folders
# with the net usershare command.
# Maximum number of usershare. 0 means that usershare is disabled.
# usershare max shares = 100
# Allow users who've been granted usershare privileges to create
# public shares, not just authenticated ones
usershare allow guests = no
; server string = samba 4.13.3
security = user
; encrypt passwords = yes
; guest ok = no
; guest account = nobody
#======================= Share Definitions =======================
[homes]
comment = Home Directories
; browseable = yes
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = no
[ourfiles]
comment = Some useful files
read only = no
path = /4c05f1a0-1665-4b5f-a2a4-ee8dba614a48/
guest ok = no
# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
create mask = 0700
# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
directory mask = 0700
# By default, \\server\username shares can be connected to by anyone
# with access to the samba server.
# The following parameter makes sure that only "username" can connect
# to \\server\username
# This might need tweaking when using external authentication schemes
valid users = %S
# Un-comment the following and create the netlogon directory for Domain Logons
# (you need to configure Samba to act as a domain controller too.)
;[netlogon]
; comment = Network Logon Service
; path = /home/samba/netlogon
; guest ok = no
; read only = yes
# Un-comment the following and create the profiles directory to store
# users profiles (see the "logon path" option above)
# (you need to configure Samba to act as a domain controller too.)
# The path below should be writable by all users so that their
# profile directory may be created the first time they log on
;[profiles]
; comment = Users profiles
; path = /home/samba/profiles
; guest ok = no
; browseable = no
; create mask = 0600
; directory mask = 0700
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
; guest ok = no
; read only = yes
create mask = 0700
# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
; browseable = yes
; read only = yes
; guest ok = no
# Uncomment to allow remote administration of Windows print drivers.
# You may need to replace 'lpadmin' with the name of the group your
# admin users are members of.
# Please note that you also need to set appropriate Unix permissions
# to the drivers directory for these users to have write rights in it
; write list = root, @lpadmin
[public]
path = /home/Public/
; available = yes
; browsable = yes
public = yes
writable = yes
force user = samba-public
[Data]
path = /mnt/MyData
writeable = yes
; browseable = yes
guest ok = no
[Kingston SSD]
path = /mnt/Kingston SSD
writeable = yes
browseable = yes
guest ok = no
[256SSD]
path = /mnt/256SSD
writeable = yes
browseable = yes
guest ok = no
[global]
usershare path = /var/lib/samba/usershares
usershare max shares = 100
usershare allow guests = no
usershare owner only = yes
Last edited by dave1953 (2022-03-08 22:48:24)
Offline
Please edit your posts and put [code] [/code] tags around all commands and their outputs, it makes things much easier to read for everyone.
https://bbs.archlinux.org/help.php#bbcode
You've already been asked to do this once.
Offline
Sorry. Newbie error I'm afraid. Didn't mean to offend. Will try harder.
(edit) Hopefully now corrected. Apologies once more.
Last edited by dave1953 (2022-03-08 22:50:13)
Offline
What was the command you used? Was it executed on the system hosting the share? Did you try redirecting stdout and stderr to capture the commands output?
Offline
Offline
Thanks, I'll have a good look into this.
Offline
Thanks for your help, but I checked your suggestion and attached to the article is a patch and sorry to say I do not know how to implement it. Could you please point me in the right direction? Apologies for my lack of knowledge, but anxious to learn.
Offline
read this first:
https://wiki.archlinux.org/title/Patchi … ng_patches
to find the original PKGBUILD go to this page:
https://archlinux.org/packages/communit … lus-share/
which has a link in the top right called "source files" which takes you to this page:
https://github.com/archlinux/svntogit-c … hare/trunk
which has the PKGBUILD which you then modify and put the patch file next to it in a directory and run "updpkgsums" then build the package using "makepkg" (i use "makepkg -Ccs")
here is what the modified PKGBUILD should look like:
# Maintainer: Balló György <ballogyor+arch at gmail dot com>
# Contributor: Nevar <psi.neamf@gmail.com>
pkgname=nautilus-share
pkgver=0.7.3
pkgrel=9
pkgdesc='Nautilus extension to share folder using Samba'
arch=('x86_64')
url="https://git.gnome.org/browse/nautilus-share"
license=('GPL')
depends=('nautilus' 'samba')
makedepends=('intltool')
source=("https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz"
"parameter-fix.patch"
)
sha512sums=('12511d544affbfcf671c31ebd389e7e6deaeb518d30565414944f4219f135b5d08a2048750de3bd1d716aec97a59fb9daa3ed4819aac59c057ba4374df2712c3'
'bd7028886de7bb9ab6d8135f1c07d932f188320645470e502e5dcac56793b52c47ba434e54310c607890bc15efa31e99272ff96426da215fbde30fadfadd18b2')
prepare() {
cd "$pkgname-$pkgver"
patch --forward --strip=1 --input="${srcdir}/parameter-fix.patch"
}
build() {
cd $pkgname-$pkgver
./configure --prefix=/usr
make
}
package() {
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
}
that SHOULD work, i havent tested it though cause i dont have any of the dependencies on my system as i dont use gnome or nautilus.
Last edited by jonno2002 (2022-03-09 12:55:49)
Offline
Thank you, should keep me out of mischief for a while working all this out.
Offline
i decided to try build the package and glad i did because it doesnt work, i had to change a few things first.
heres the new PKGBUILD:
# Maintainer: Balló György <ballogyor+arch at gmail dot com>
# Contributor: Nevar <psi.neamf@gmail.com>
pkgname=nautilus-share
pkgver=0.7.3
pkgrel=9
pkgdesc='Nautilus extension to share folder using Samba'
arch=('x86_64')
url="https://git.gnome.org/browse/nautilus-share"
license=('GPL')
depends=('nautilus' 'samba')
makedepends=('intltool')
source=("https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz"
"parameter-fix.patch"
)
sha512sums=('12511d544affbfcf671c31ebd389e7e6deaeb518d30565414944f4219f135b5d08a2048750de3bd1d716aec97a59fb9daa3ed4819aac59c057ba4374df2712c3'
'ed3221b8582f6d07c98583e24d6b6bc539f191a9b09f445fa95e56991f63487cebaadd6b7464dd624c3aac22fe5c1b272147a35845b025758b106c930358c8ec')
prepare() {
cd $pkgname-$pkgver
patch --forward --strip=0 --input="${srcdir}/parameter-fix.patch"
}
build() {
cd $pkgname-$pkgver
./configure --prefix=/usr
make
}
package() {
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
}
and here the new parameter-fix.patch:
--- src/shares.c 2009-12-09 10:42:09.000000000 +0000
+++ src/shares.c 2021-10-11 02:17:53.061229610 +0000
@@ -622,7 +622,7 @@
return FALSE;
argv[0] = "add";
- argv[1] = "-l";
+ argv[1] = "--long";
argv[2] = info->share_name;
argv[3] = info->path;
argv[4] = info->comment;
so yea chuck those 2 files in a dir and run "updpkgsums" and "makepkg" and you should be right.
sorry for giving you incorrect info, im no expert at this stuff either so i learned a bit about patching too which is always good !
Offline
Thank you for your kind help and support. I did try to build the previous package you generously provided and was successful. Where it went wrong for me was installing the package. I'll give this one a go and thank you once again for your generosity.
Offline
#14
The command is amazing
Offline