Configuring Samba was done with Ubuntu Linux OS and Raspberry Pi OS.
The word “Ubuntu” means Ubuntu Linux OS and Raspberry Pi OS in this article.
We prepare the user ‘patine’ on Ubuntu before installing Samba.
Install Samba into Ubuntu Linux OS
Install Samba with the apt package manager into Ubuntu.
sudo apt install samba
Create the user ‘patine’ on Samba
Create the user ‘patine’ on the account database of Samba.
pdbedit -a patine
Samba asks for a passphrase when creating a new user.
Mount filesystem with extended attribute
Mount a filesystem on the public directory with an extended attribute option.
IMPORTANT: These mount options are enabled in default.
Linux and ext4 filesystem are now supporting POSIX ACL and extended attributes, as known as acl and user_xattr.
Mount a ext4 file system with the user_xattr mount option by editing the /etc/fstab file.
Patineboot found the Finder transfers files very slowly with the standard protocols, confirmed on Netatalk, NFSv4, sshfs, ftps, and sftp.
Patineboot thinks that Apple confirms that the Finder connects only to Apple’s products.
Other solutions of file transfer on macOS.
Path Finder transfers files fast and succeeds.
Cyberduck does on sftp most fast.
Commands on Ubuntu
Add a user to Ubuntu
Restart Samba service
sudo systemctl restart smbd.service
Hide the /lost+found/ directory
Configure the below Parameter if you hide the /lost+found/ directory at the root directory on the ext4 filesystem.
Hide directories and files. In this case, hide the /lost+found/ directory.
Interesting Samba options
min receivefile size (G)
Kernel writes received data to file buffer directly.
use sendfile (S)
Use more efficient sendfile system call.
root preexec (S)
Run a command when connected from someone.
Configure for Time Machine on macOS
Add the ‘vfs objects’ and ‘fruit:time machine’ parameters into the ’timemachine’ section.