I'd like to script adding a share to a smb.conf
file. My current script just appends it to the end of the file, but that's not ideal. I'd rather have something that will add a new share if it doesn't exist, and replace it if it does.
I'm currently scripting this on a CentOS 7 distro, but would ideally like something that would work across distros, though that's not a requirement.
Also, I'm using bash
to do this because the script is run before other packages are added to the system. The script uses yum
to install the samba
packages, and then is supposed to configure it and add shares.
To fit with modern sysadmin best practices it would be good to add your configs as individual files in
/etc/smb/smb.d
and then reference them with aninclude
. Sadly samba does not support wildcardinclude
s so you have to do add something like:in your
smb.conf
and then generate theincludes.conf
with something like:For a bit more context:
So now you can stick any additional samba configs into
/etc/smb/smb.d
, regenerateincludes.conf
and restart samba and life is good.This is an old topic but still useful. This are my scripts to create and delete users in a simple samba installation for storing backups.
Tested on CentOS
Prepare directory and permissions
Run this commands on a terminal
smb.conf
smbaddshare.sh
smbremoveshare.sh