alpha 0.1
This commit is contained in:
52
lib/samba.sh
Normal file
52
lib/samba.sh
Normal file
@@ -0,0 +1,52 @@
|
||||
create_or_use_directory() {
|
||||
read -p "Путь к папке: " DIR
|
||||
if [ -d "$DIR" ]; then
|
||||
log "Используем $DIR"
|
||||
else
|
||||
read -p "Создать $DIR ? (y/N): " Y
|
||||
[[ "$Y" != "y" ]] && return 1
|
||||
mkdir -p "$DIR"
|
||||
chmod 770 "$DIR"
|
||||
fi
|
||||
echo "$DIR"
|
||||
}
|
||||
|
||||
setup_samba() {
|
||||
$PKG install -y samba
|
||||
CONF="/etc/samba/smb.conf"
|
||||
SNAP=$(backup_create samba "$CONF")
|
||||
|
||||
cat > "$CONF" <<EOF
|
||||
[global]
|
||||
workgroup = WORKGROUP
|
||||
security = user
|
||||
map to guest = bad user
|
||||
EOF
|
||||
|
||||
while true; do
|
||||
read -p "Имя шары (Enter=выход): " NAME
|
||||
[ -z "$NAME" ] && break
|
||||
|
||||
PATH=$(create_or_use_directory) || continue
|
||||
read -p "Пользователи (guest или user1,user2): " USERS
|
||||
|
||||
if [[ "$USERS" == "guest" ]]; then
|
||||
GUEST="yes"; VALID=""
|
||||
else
|
||||
GUEST="no"; VALID="valid users = $USERS"
|
||||
fi
|
||||
|
||||
cat >> "$CONF" <<EOF
|
||||
|
||||
[$NAME]
|
||||
path = $PATH
|
||||
guest ok = $GUEST
|
||||
writable = yes
|
||||
$VALID
|
||||
EOF
|
||||
done
|
||||
|
||||
testparm || { cp "$SNAP/smb.conf" "$CONF"; }
|
||||
systemctl restart smbd
|
||||
pause
|
||||
}
|
||||
Reference in New Issue
Block a user