You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
2.8 KiB
58 lines
2.8 KiB
#!/usr/bin/env bash
|
|
|
|
ENABLED=yes
|
|
[[ ${ENABLED} != "yes" ]] && exit 0
|
|
DEBUGMODE=no
|
|
|
|
SOURCE=/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
|
|
SOURCE=/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
|
|
debug_mode "$0" "$@"
|
|
|
|
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
|
|
SOURCE=${SYSCONF}/server; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
|
|
|
|
## Включить SAMBA usershares лёгкая публикация каталога пользователя в сети
|
|
## SAMBA_USERSHARE=enable|yes|disable|no
|
|
## enable|yes # Включить настройку usershares
|
|
## disable|no # Выключить настройку usershares
|
|
##
|
|
## SAMBA_USERSHARE[<param>]=<value>
|
|
## usershare max shares # Разрешённое максимальное кол-во сетевых каталогов. Возмжные значения от 0 до 65535. По умолчанию: 100
|
|
## usershare allow guests # Разрешить гость вход. Возможные значения 'yes' | 'no'. По умолчанию: yes
|
|
## usershare owner only # Разрешить только владельцу. Возможные значения 'yes' | 'no'. По умолчанию: yes
|
|
|
|
PATH_SAMBA="/etc/samba"
|
|
FILE_SAMBA_CONF="${PATH_SAMBA}/smb.conf"
|
|
FILE_USERSSHARES_CONF="${PATH_SAMBA}/usershares.conf"
|
|
USERSHARES_CONF=$(cat <<EOF
|
|
[global]
|
|
usershare path = /var/lib/samba/usershares
|
|
usershare max shares = 100
|
|
usershare allow guests = yes
|
|
usershare owner only = yes
|
|
usershare prefix deny list = /etc /dev /sys /proc
|
|
usershare prefix allow list = /home /srv /mnt /media /var
|
|
EOF
|
|
)
|
|
|
|
USERSHARES="/var/lib/samba/usershares"
|
|
[[ -d ${USERSHARES} ]] && chmod 1770 ${USERSHARES} && chgrp -R sambashare ${USERSHARES} || install -dm1770 -o root -g sambashare ${USERSHARES}
|
|
|
|
USERSHARESPUB="/home/usershares"
|
|
[[ -d ${USERSHARESPUB} ]] && chmod 3770 ${USERSHARESPUB} && chgrp -R sambashare ${USERSHARESPUB} || install -dm3770 -o root -g sambashare ${USERSHARESPUB}
|
|
|
|
usermod -a -G sambashare nobody
|
|
|
|
if [[ ${SAMBA_USERSHARE} == @(enable|yes) ]]; then
|
|
[[ -f "${FILE_USERSSHARES_CONF}" ]] || echo -ne "${USERSHARES_CONF}" > "${FILE_USERSSHARES_CONF}"
|
|
[[ $(cat "${FILE_SAMBA_CONF}" 2>/dev/null) =~ "include = ${FILE_USERSSHARES_CONF}" ]] || sed "/^\s*\[global\]/a\ \ include = ${FILE_USERSSHARES_CONF}" -i ${FILE_SAMBA_CONF}
|
|
elif [[ ${SAMBA_USERSHARE} == @(disable|no) ]]; then
|
|
rm -f "${FILE_USERSSHARES_CONF}"
|
|
sed "\|include = ${FILE_USERSSHARES_CONF}|d" -i "${FILE_SAMBA_CONF}"
|
|
fi
|
|
|
|
## TODO
|
|
## Изменение параметров и вставка новых в файле конфигурации ${FILE_USERSSHARES_CONF}
|
|
|
|
|
|
|