README.md

This commit is contained in:
q3aql 2018-06-09 22:28:40 +02:00
parent 7e1305fc3a
commit ef9bb9138c
4 changed files with 326 additions and 324 deletions

View File

@ -1,13 +1,13 @@
easy-samba - Crea carpetas compartidas con Samba de forma facil easy-samba - Crea carpetas compartidas con Samba de forma facil
=============================================================== ===============================================================
### Paquetes de easy-samba 1.5.1: ### Paquetes de easy-samba 1.5.2:
* **Descargas:** * **Descargas:**
* [easy-samba-1.5.1.deb](https://github.com/q3aql/easy-samba/releases/download/v1.5.1/easy-samba-1.5.1.deb) * [easy-samba-1.5.2.deb](https://github.com/q3aql/easy-samba/releases/download/v1.5.2/easy-samba-1.5.2.deb)
* [easy-samba-1.5.1.rpm](https://github.com/q3aql/easy-samba/releases/download/v1.5.1/easy-samba-1.5.1.rpm) * [easy-samba-1.5.2.rpm](https://github.com/q3aql/easy-samba/releases/download/v1.5.2/easy-samba-1.5.2.rpm)
* [easy-samba-1.5.1.tar.gz](https://github.com/q3aql/easy-samba/releases/download/v1.5.1/easy-samba-1.5.1.tar.gz) * [easy-samba-1.5.2.tar.gz](https://github.com/q3aql/easy-samba/releases/download/v1.5.2/easy-samba-1.5.2.tar.gz)
### Dependencias necesarias: ### Dependencias necesarias:
@ -20,18 +20,18 @@ easy-samba - Crea carpetas compartidas con Samba de forma facil
* **Ubuntu/Debian:** * **Ubuntu/Debian:**
* Descarga el paquete ".deb" y abre la terminal. * Descarga el paquete ".deb" y abre la terminal.
* Desplazate donde se encuentra el paquete y escribe: `sudo gdebi easy-samba-1.5.1.deb` * Desplazate donde se encuentra el paquete y escribe: `sudo gdebi easy-samba-1.5.2.deb`
* **Fedora:** * **Fedora:**
* Descarga el paquete ".rpm" y abre la terminal. * Descarga el paquete ".rpm" y abre la terminal.
* Instala las dependencias con el comando: `sudo dnf install zenity beesu samba sed` * Instala las dependencias con el comando: `sudo dnf install zenity beesu samba sed`
* Desplazate donde se encuentra el paquete y escribe: `sudo rpm -i --force easy-samba-1.5.1.rpm` * Desplazate donde se encuentra el paquete y escribe: `sudo rpm -i --force easy-samba-1.5.2.rpm`
* **Otras distribuciones:** * **Otras distribuciones:**
* Descarga el paquete ".tar.gz" y abre la terminal. * Descarga el paquete ".tar.gz" y abre la terminal.
* Instala las dependencias con el gestor de paquetes. * Instala las dependencias con el gestor de paquetes.
* Desplazate donde se encuentra el paquete y descomprimelo: `tar zxvf easy-samba-1.5.1.tar.gz` * Desplazate donde se encuentra el paquete y descomprimelo: `tar zxvf easy-samba-1.5.2.tar.gz`
* Instalalo con el comando: `cd easy-samba-1.5.1 && sudo make install` * Instalalo con el comando: `cd easy-samba-1.5.2 && sudo make install`
### Enlaces externos: ### Enlaces externos:

304
src/easy-samba Normal file → Executable file
View File

@ -67,139 +67,139 @@ function convertText() {
# Funcion para extraer el nombre de la carpeta de una ruta # Funcion para extraer el nombre de la carpeta de una ruta
function extractFolder() { function extractFolder() {
pathToExtract="${1}/" pathToExtract="${1}/"
findFolder=0 findFolder=0
count=1 count=1
nameFolder=$(echo ${pathToExtract} | cut -d "/" -f ${count}) nameFolder=$(echo ${pathToExtract} | cut -d "/" -f ${count})
count=$(expr $count + 1) count=$(expr $count + 1)
while [ ${findFolder} -eq 0 ] ; do while [ ${findFolder} -eq 0 ] ; do
nameFolderTemp=$(echo ${pathToExtract} | cut -d "/" -f ${count}) nameFolderTemp=$(echo ${pathToExtract} | cut -d "/" -f ${count})
if [ -z "${nameFolderTemp}" ] ; then if [ -z "${nameFolderTemp}" ] ; then
findFolder=1 findFolder=1
else else
nameFolder="${nameFolderTemp}" nameFolder="${nameFolderTemp}"
count=$(expr $count + 1) count=$(expr $count + 1)
fi fi
done done
echo "${nameFolder}" echo "${nameFolder}"
} }
# Funcion para crear enlace en el escritorio/home de los usuarios # Funcion para crear enlace en el escritorio/home de los usuarios
# Sintaxis: createFolderLink [carpeta] # Sintaxis: createFolderLink [carpeta]
function createFolderLink() { function createFolderLink() {
echo -n "* Deseas crear un enlace en el escritorio/home para los usuarios locales (s[*]/n): " ; read createLink echo -n "* Deseas crear un enlace en el escritorio/home para los usuarios locales (s[*]/n): " ; read createLink
if [ "${createLink}" == "n" ] ; then if [ "${createLink}" == "n" ] ; then
echo "nule" > /dev/null echo "nule" > /dev/null
else else
if [ "$(ls -A ${homeUsers})" ] ; then if [ "$(ls -A ${homeUsers})" ] ; then
cd ${homeUsers} cd ${homeUsers}
ls > ${homeUsersList} ls > ${homeUsersList}
for userDetected in $(cat ${homeUsersList}) ; do for userDetected in $(cat ${homeUsersList}) ; do
if [ -d ${homeUsers}/${userDetected}/Desktop ] ; then if [ -d ${homeUsers}/${userDetected}/Desktop ] ; then
ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/Desktop/ 2> /dev/null ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/Desktop/ 2> /dev/null
ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null
output=$? output=$?
elif [ -d ${homeUsers}/${userDetected}/Escritorio ] ; then elif [ -d ${homeUsers}/${userDetected}/Escritorio ] ; then
ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/Escritorio/ 2> /dev/null ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/Escritorio/ 2> /dev/null
ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null
output=$? output=$?
elif [ -d ${homeUsers}/${userDetected}/Escriptori ] ; then elif [ -d ${homeUsers}/${userDetected}/Escriptori ] ; then
ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/Escriptori/ 2> /dev/null ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/Escriptori/ 2> /dev/null
ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null
output=$? output=$?
else else
ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null
output=$? output=$?
fi fi
done done
if [ ${output} -eq 0 ] ; then if [ ${output} -eq 0 ] ; then
echo "* Enlaces creados correctamente!" echo "* Enlaces creados correctamente!"
else else
echo "* Error: Fallo al crear los enlaces!" echo "* Error: Fallo al crear los enlaces!"
fi fi
else else
echo "* Usuarios no encontrados en ${homeUsers}" echo "* Usuarios no encontrados en ${homeUsers}"
fi fi
fi fi
} }
# Funcion para borrar los enlaces en el escritorio/home de los usuarios # Funcion para borrar los enlaces en el escritorio/home de los usuarios
# Sintaxis: deleteFolderLink [carpeta] # Sintaxis: deleteFolderLink [carpeta]
function deleteFolderLink() { function deleteFolderLink() {
echo -n "* Deseas borrar los enlaces en el escritorio/home de los usuarios locales (s[*]/n): " ; read deleteLink echo -n "* Deseas borrar los enlaces en el escritorio/home de los usuarios locales (s[*]/n): " ; read deleteLink
if [ "${deleteLink}" == "n" ] ; then if [ "${deleteLink}" == "n" ] ; then
echo "nule" > /dev/null echo "nule" > /dev/null
else else
if [ "$(ls -A ${homeUsers})" ] ; then if [ "$(ls -A ${homeUsers})" ] ; then
cd ${homeUsers} cd ${homeUsers}
ls > ${homeUsersList} ls > ${homeUsersList}
for userDetected in $(cat ${homeUsersList}) ; do for userDetected in $(cat ${homeUsersList}) ; do
if [ -d ${homeUsers}/${userDetected}/Desktop ] ; then if [ -d ${homeUsers}/${userDetected}/Desktop ] ; then
rm -f ${homeUsers}/${userDetected}/Desktop/${1} 2> /dev/null rm -f ${homeUsers}/${userDetected}/Desktop/${1} 2> /dev/null
rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null
output=$? output=$?
elif [ -d ${homeUsers}/${userDetected}/Escritorio ] ; then elif [ -d ${homeUsers}/${userDetected}/Escritorio ] ; then
rm -f ${homeUsers}/${userDetected}/Escritorio/${1} 2> /dev/null rm -f ${homeUsers}/${userDetected}/Escritorio/${1} 2> /dev/null
rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null
output=$? output=$?
elif [ -d ${homeUsers}/${userDetected}/Escriptori ] ; then elif [ -d ${homeUsers}/${userDetected}/Escriptori ] ; then
rm -f ${homeUsers}/${userDetected}/Escriptori/${1} 2> /dev/null rm -f ${homeUsers}/${userDetected}/Escriptori/${1} 2> /dev/null
rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null
output=$? output=$?
else else
rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null
output=$? output=$?
fi fi
done done
if [ ${output} -eq 0 ] ; then if [ ${output} -eq 0 ] ; then
echo "* Enlaces borrados correctamente!" echo "* Enlaces borrados correctamente!"
else else
echo "* Error: Fallo al borrar los enlaces!" echo "* Error: Fallo al borrar los enlaces!"
fi fi
else else
echo "* Usuarios no encontrados en ${homeUsers}" echo "* Usuarios no encontrados en ${homeUsers}"
fi fi
fi fi
} }
# Funcion para agregar una carpeta a Samba # Funcion para agregar una carpeta a Samba
function addNewFolder() { function addNewFolder() {
echo "" echo ""
echo -n "* Introduce la ruta absoluta de la carpeta a agregar: " ; read folder echo -n "* Introduce la ruta absoluta de la carpeta a agregar: " ; read folder
pathExtracted=$(extractFolder "${folder}") pathExtracted=$(extractFolder "${folder}")
endFolder=$(convertText "${pathExtracted}") endFolder=$(convertText "${pathExtracted}")
if [ -z "${folder}" ] ; then if [ -z "${folder}" ] ; then
echo "* Debes introducir la ruta absoluta de una carpeta!" echo "* Debes introducir la ruta absoluta de una carpeta!"
echo "" echo ""
echo -n "* Pulsa INTRO para continuar... " ; read continue echo -n "* Pulsa INTRO para continuar... " ; read continue
elif [ -d "${folder}" ] ; then elif [ -d "${folder}" ] ; then
if [ -d ${linuxSambaFolder}/${endFolder} ] ; then if [ -d ${linuxSambaFolder}/${endFolder} ] ; then
echo "* Una carpeta con el mismo nombre ya se encuentra agregada o creada!" echo "* Una carpeta con el mismo nombre ya se encuentra agregada o creada!"
echo "" echo ""
echo -n "* Pulsa INTRO para continuar... " ; read continue echo -n "* Pulsa INTRO para continuar... " ; read continue
else else
ln -s "${folder}" ${linuxSambaFolder}/${endFolder} 2> /dev/null ln -s "${folder}" ${linuxSambaFolder}/${endFolder} 2> /dev/null
output=$? output=$?
if [ ${output} -ne 0 ] ; then if [ ${output} -ne 0 ] ; then
echo "* Error: Fallo al agregar la carpeta '${folder}'" echo "* Error: Fallo al agregar la carpeta '${folder}'"
echo "" echo ""
echo -n "* Pulsa INTRO para continuar... " ; read continue echo -n "* Pulsa INTRO para continuar... " ; read continue
else else
echo "[${endFolder}]" >> ${sambaConfig} echo "[${endFolder}]" >> ${sambaConfig}
echo "# Folder to ${linuxSambaFolder}/${endFolder} # 00bc00" >> ${sambaConfig} echo "# Folder to ${linuxSambaFolder}/${endFolder} # 00bc00" >> ${sambaConfig}
echo "path = ${linuxSambaFolder}/${endFolder}" >> ${sambaConfig} echo "path = ${linuxSambaFolder}/${endFolder}" >> ${sambaConfig}
echo "comment = Folder by easy-samba ${VERSION} (${M_DATE})" >> ${sambaConfig} echo "comment = Folder by easy-samba ${VERSION} (${M_DATE})" >> ${sambaConfig}
echo "browseable = yes" >> ${sambaConfig} echo "browseable = yes" >> ${sambaConfig}
echo "writeable = yes" >> ${sambaConfig} echo "writeable = yes" >> ${sambaConfig}
echo "read only = no" >> ${sambaConfig} echo "read only = no" >> ${sambaConfig}
echo "guest ok = yes" >> ${sambaConfig} echo "guest ok = yes" >> ${sambaConfig}
echo "" >> ${sambaConfig} echo "" >> ${sambaConfig}
echo "* Carpeta '${folder}' agregada con exito!" echo "* Carpeta '${folder}' agregada con exito!"
createFolderLink ${endFolder} createFolderLink ${endFolder}
fi fi
fi fi
else else
echo "* La carpeta introducida no existe!" echo "* La carpeta introducida no existe!"
echo "" echo ""
echo -n "* Pulsa INTRO para continuar... " ; read continue echo -n "* Pulsa INTRO para continuar... " ; read continue
fi fi
@ -419,24 +419,24 @@ function restoreSmb() {
# Funcion para mostrar carpetas compartidas # Funcion para mostrar carpetas compartidas
function viewFolders() { function viewFolders() {
if [ "$(ls -A ${linuxSambaFolder})" ] ; then if [ "$(ls -A ${linuxSambaFolder})" ] ; then
cd ${linuxSambaFolder} cd ${linuxSambaFolder}
ls > ${sambaFoldersList} ls > ${sambaFoldersList}
echo "" echo ""
echo "* Lista de carpetas compartidas disponibles:" echo "* Lista de carpetas compartidas disponibles:"
echo "" echo ""
folderList="" folderList=""
for folderDetected in $(cat ${sambaFoldersList}) ; do for folderDetected in $(cat ${sambaFoldersList}) ; do
echo " + ${folderDetected}" echo " + ${folderDetected}"
done done
echo "" echo ""
echo -n "* Pulsa INTRO para continuar... " ; read continue echo -n "* Pulsa INTRO para continuar... " ; read continue
else else
echo "" echo ""
echo "* Actualmente no hay carpetas compartidas!" echo "* Actualmente no hay carpetas compartidas!"
echo "" echo ""
echo -n "* Pulsa INTRO para continuar... " ; read continue echo -n "* Pulsa INTRO para continuar... " ; read continue
fi fi
} }
# Funcion para borrar una carpeta compartida # Funcion para borrar una carpeta compartida
@ -454,29 +454,29 @@ function removeFolder() {
if [ ${output} -eq 0 ] ; then if [ ${output} -eq 0 ] ; then
readLine=$(cat ${sambaConfig} | grep "# Folder to ${linuxSambaFolder}/${folder} # 00bc00" -n | cut -d ":" -f 1) readLine=$(cat ${sambaConfig} | grep "# Folder to ${linuxSambaFolder}/${folder} # 00bc00" -n | cut -d ":" -f 1)
if [ -z ${readLine} ] ; then if [ -z ${readLine} ] ; then
echo "* La carpeta '${folder}' ha sido borrada pero no se ha encontrado en 'smb.conf'" echo "* La carpeta '${folder}' ha sido borrada pero no se ha encontrado en 'smb.conf'"
echo "" echo ""
echo -n "* Pulsa INTRO para continuar... " ; read continue echo -n "* Pulsa INTRO para continuar... " ; read continue
else else
initLine=$(expr ${readLine} - 1) initLine=$(expr ${readLine} - 1)
endLine=$(expr ${readLine} + 7) endLine=$(expr ${readLine} + 7)
totalLines=$(cat /etc/samba/smb.conf | wc -l) totalLines=$(cat /etc/samba/smb.conf | wc -l)
count=1 count=1
mkdir -p /tmp/easy-samba/ mkdir -p /tmp/easy-samba/
echo > /tmp/easy-samba/smb.conf echo > /tmp/easy-samba/smb.conf
while [ ${count} -lt $initLine ] ; do while [ ${count} -lt $initLine ] ; do
cat /etc/samba/smb.conf | head -${count} | tail -1 >> /tmp/easy-samba/smb.conf cat /etc/samba/smb.conf | head -${count} | tail -1 >> /tmp/easy-samba/smb.conf
count=$(expr ${count} + 1) count=$(expr ${count} + 1)
done done
count=$(expr ${endLine} + 1) count=$(expr ${endLine} + 1)
while [ ${count} -le ${totalLines} ] ; do while [ ${count} -le ${totalLines} ] ; do
cat ${sambaConfig} | head -${count} | tail -1 >> /tmp/easy-samba/smb.conf cat ${sambaConfig} | head -${count} | tail -1 >> /tmp/easy-samba/smb.conf
count=$(expr ${count} + 1) count=$(expr ${count} + 1)
done done
cp -rf /tmp/easy-samba/smb.conf ${sambaConfig} cp -rf /tmp/easy-samba/smb.conf ${sambaConfig}
echo "* La carpeta '${folder} ha sido borrada con exito!" echo "* La carpeta '${folder} ha sido borrada con exito!"
deleteFolderLink ${folder} deleteFolderLink ${folder}
restartSamba restartSamba
fi fi
else else
echo "* Error: No se ha podido borrar la carpeta '${folder}'" echo "* Error: No se ha podido borrar la carpeta '${folder}'"

330
src/easy-samba-gtk Normal file → Executable file
View File

@ -64,135 +64,137 @@ function convertText() {
# Funcion para extraer el nombre de la carpeta de una ruta # Funcion para extraer el nombre de la carpeta de una ruta
function extractFolder() { function extractFolder() {
pathToExtract="${1}/" pathToExtract="${1}/"
findFolder=0 findFolder=0
count=1 count=1
nameFolder=$(echo ${pathToExtract} | cut -d "/" -f ${count}) nameFolder=$(echo ${pathToExtract} | cut -d "/" -f ${count})
count=$(expr $count + 1) count=$(expr $count + 1)
while [ ${findFolder} -eq 0 ] ; do while [ ${findFolder} -eq 0 ] ; do
nameFolderTemp=$(echo ${pathToExtract} | cut -d "/" -f ${count}) nameFolderTemp=$(echo ${pathToExtract} | cut -d "/" -f ${count})
if [ -z "${nameFolderTemp}" ] ; then if [ -z "${nameFolderTemp}" ] ; then
findFolder=1 findFolder=1
else else
nameFolder="${nameFolderTemp}" nameFolder="${nameFolderTemp}"
count=$(expr $count + 1) count=$(expr $count + 1)
fi fi
done done
echo "${nameFolder}" echo "${nameFolder}"
} }
# Funcion para crear enlace en el escritorio/home de los usuarios # Funcion para crear enlace en el escritorio/home de los usuarios
# Sintaxis: createFolderLink [carpeta] # Sintaxis: createFolderLink [carpeta]
function createFolderLink() { function createFolderLink() {
zenity --question --title "easy-samba ${VERSION} (${M_DATE})" --cancel-label="No" --ok-label="Si" --text "Deseas crear un enlace en el escritorio/home para los usuarios locales?" zenity --question --title "easy-samba ${VERSION} (${M_DATE})" --cancel-label="No" --ok-label="Si" --width=530 \
createLink=$? --text "Deseas crear un enlace en el escritorio/home para los usuarios locales?"
if [ ${createLink} -eq 1 ] ; then createLink=$?
echo "nule" > /dev/null if [ ${createLink} -eq 1 ] ; then
else echo "nule" > /dev/null
if [ "$(ls -A ${homeUsers})" ] ; then else
cd ${homeUsers} if [ "$(ls -A ${homeUsers})" ] ; then
ls > ${homeUsersList} cd ${homeUsers}
for userDetected in $(cat ${homeUsersList}) ; do ls > ${homeUsersList}
if [ -d ${homeUsers}/${userDetected}/Desktop ] ; then for userDetected in $(cat ${homeUsersList}) ; do
ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/Desktop/ 2> /dev/null if [ -d ${homeUsers}/${userDetected}/Desktop ] ; then
ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/Desktop/ 2> /dev/null
output=$? ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null
elif [ -d ${homeUsers}/${userDetected}/Escritorio ] ; then output=$?
ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/Escritorio/ 2> /dev/null elif [ -d ${homeUsers}/${userDetected}/Escritorio ] ; then
ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/Escritorio/ 2> /dev/null
output=$? ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null
elif [ -d ${homeUsers}/${userDetected}/Escriptori ] ; then output=$?
ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/Escriptori/ 2> /dev/null elif [ -d ${homeUsers}/${userDetected}/Escriptori ] ; then
ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/Escriptori/ 2> /dev/null
output=$? ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null
else output=$?
ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null else
output=$? ln -s ${linuxSambaFolder}/${1} ${homeUsers}/${userDetected}/ 2> /dev/null
fi output=$?
done fi
if [ ${output} -eq 0 ] ; then done
zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --text "Enlaces creados correctamente!" if [ ${output} -eq 0 ] ; then
else zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --width=280 --text "Enlaces creados correctamente!"
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "Error: Fallo al crear los enlaces!" else
fi zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=280 --text "Error: Fallo al crear los enlaces!"
else fi
zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --text "Usuarios no encontrados en ${homeUsers}" else
fi zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --width=310 --text "Usuarios no encontrados en ${homeUsers}"
fi fi
fi
} }
# Funcion para borrar los enlaces en el escritorio/home de los usuarios # Funcion para borrar los enlaces en el escritorio/home de los usuarios
# Sintaxis: deleteFolderLink [carpeta] # Sintaxis: deleteFolderLink [carpeta]
function deleteFolderLink() { function deleteFolderLink() {
zenity --question --title "easy-samba ${VERSION} (${M_DATE})" --cancel-label="No" --ok-label="Si" --text "Deseas borrar los enlaces en el escritorio/home de los usuarios locales?" zenity --question --title "easy-samba ${VERSION} (${M_DATE})" --cancel-label="No" --ok-label="Si" --width=530 \
deleteLink=$? --text "Deseas borrar los enlaces en el escritorio/home de los usuarios locales?"
if [ ${deleteLink} -eq 1 ] ; then deleteLink=$?
echo "nule" > /dev/null if [ ${deleteLink} -eq 1 ] ; then
else echo "nule" > /dev/null
if [ "$(ls -A ${homeUsers})" ] ; then else
cd ${homeUsers} if [ "$(ls -A ${homeUsers})" ] ; then
ls > ${homeUsersList} cd ${homeUsers}
for userDetected in $(cat ${homeUsersList}) ; do ls > ${homeUsersList}
if [ -d ${homeUsers}/${userDetected}/Desktop ] ; then for userDetected in $(cat ${homeUsersList}) ; do
rm -f ${homeUsers}/${userDetected}/Desktop/${1} 2> /dev/null if [ -d ${homeUsers}/${userDetected}/Desktop ] ; then
rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null rm -f ${homeUsers}/${userDetected}/Desktop/${1} 2> /dev/null
output=$? rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null
elif [ -d ${homeUsers}/${userDetected}/Escritorio ] ; then output=$?
rm -f ${homeUsers}/${userDetected}/Escritorio/${1} 2> /dev/null elif [ -d ${homeUsers}/${userDetected}/Escritorio ] ; then
rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null rm -f ${homeUsers}/${userDetected}/Escritorio/${1} 2> /dev/null
output=$? rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null
elif [ -d ${homeUsers}/${userDetected}/Escriptori ] ; then output=$?
rm -f ${homeUsers}/${userDetected}/Escriptori/${1} 2> /dev/null elif [ -d ${homeUsers}/${userDetected}/Escriptori ] ; then
rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null rm -f ${homeUsers}/${userDetected}/Escriptori/${1} 2> /dev/null
output=$? rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null
else output=$?
rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null else
output=$? rm -f ${homeUsers}/${userDetected}/${1} 2> /dev/null
fi output=$?
done fi
if [ ${output} -eq 0 ] ; then done
zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --text "Enlaces borrados correctamente!" if [ ${output} -eq 0 ] ; then
else zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --width=280 --text "Enlaces borrados correctamente!"
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "Error: Fallo al borrar los enlaces!" else
fi zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=290 --text "Error: Fallo al borrar los enlaces!"
else fi
zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --text "Usuarios no encontrados en ${homeUsers}" else
fi zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --width=310 --text "Usuarios no encontrados en ${homeUsers}"
fi fi
fi
} }
# Funcion para agregar una carpeta a Samba # Funcion para agregar una carpeta a Samba
function addNewFolder() { function addNewFolder() {
folder=$(zenity --entry --title "easy-samba ${VERSION} (${M_DATE})" --text "Introduce la ruta absoluta de la carpeta a agregar:") folder=$(zenity --entry --title "easy-samba ${VERSION} (${M_DATE})" --text "Introduce la ruta absoluta de la carpeta a agregar:")
pathExtracted=$(extractFolder "${folder}") pathExtracted=$(extractFolder "${folder}")
endFolder=$(convertText "${pathExtracted}") endFolder=$(convertText "${pathExtracted}")
if [ -z ${folder} ] ; then if [ -z ${folder} ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --text "Debes introducir la ruta absoluta de una carpeta!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --width=410 --text "Debes introducir la ruta absoluta de una carpeta!"
elif [ -d "${folder}" ] ; then elif [ -d "${folder}" ] ; then
if [ -d ${linuxSambaFolder}/${endFolder} ] ; then if [ -d ${linuxSambaFolder}/${endFolder} ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "Una carpeta con el mismo nombre ya se encuentra agregada o creada!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=530 --text "Una carpeta con el mismo nombre ya se encuentra agregada o creada!"
else else
ln -s "${folder}" ${linuxSambaFolder}/${endFolder} 2> /dev/null ln -s "${folder}" ${linuxSambaFolder}/${endFolder} 2> /dev/null
output=$? output=$?
if [ ${output} -ne 0 ] ; then if [ ${output} -ne 0 ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "Error: Fallo al agregar la carpeta '${folder}'" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=520 --text "Error: Fallo al agregar la carpeta '${folder}'"
else else
echo "[${endFolder}]" >> ${sambaConfig} echo "[${endFolder}]" >> ${sambaConfig}
echo "# Folder to ${linuxSambaFolder}/${endFolder} # 00bc00" >> ${sambaConfig} echo "# Folder to ${linuxSambaFolder}/${endFolder} # 00bc00" >> ${sambaConfig}
echo "path = ${linuxSambaFolder}/${endFolder}" >> ${sambaConfig} echo "path = ${linuxSambaFolder}/${endFolder}" >> ${sambaConfig}
echo "comment = Folder by easy-samba ${VERSION} (${M_DATE})" >> ${sambaConfig} echo "comment = Folder by easy-samba ${VERSION} (${M_DATE})" >> ${sambaConfig}
echo "browseable = yes" >> ${sambaConfig} echo "browseable = yes" >> ${sambaConfig}
echo "writeable = yes" >> ${sambaConfig} echo "writeable = yes" >> ${sambaConfig}
echo "read only = no" >> ${sambaConfig} echo "read only = no" >> ${sambaConfig}
echo "guest ok = yes" >> ${sambaConfig} echo "guest ok = yes" >> ${sambaConfig}
echo "" >> ${sambaConfig} echo "" >> ${sambaConfig}
zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --text "Carpeta '${folder}' agregada con exito!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --width=390 --text "Carpeta '${folder}' agregada con exito!"
createFolderLink ${endFolder} createFolderLink ${endFolder}
fi fi
fi fi
else else
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "La carpeta introducida no existe!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=300 --text "La carpeta introducida no existe!"
fi fi
} }
@ -202,14 +204,14 @@ function newFolderEveryone() {
formatText=$(convertText "${folder}") formatText=$(convertText "${folder}")
folder=${formatText} folder=${formatText}
if [ -z ${folder} ] ; then if [ -z ${folder} ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --text "Debes introducir un nombre de carpeta!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --width=350 --text "Debes introducir un nombre de carpeta!"
elif [ -d ${linuxSambaFolder}/${folder} ] ; then elif [ -d ${linuxSambaFolder}/${folder} ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "La carpeta '${folder}' ya está creada, elige otro nombre" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=530 --text "La carpeta '${folder}' ya esta creada, elige otro nombre"
else else
mkdir -p ${linuxSambaFolder}/${folder} 2> /dev/null mkdir -p ${linuxSambaFolder}/${folder} 2> /dev/null
output=$? output=$?
if [ ${output} -ne 0 ] ; then if [ ${output} -ne 0 ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "Error: Fallo al crear la carpeta compartida '${folder}'" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=520 --text "Error: Fallo al crear la carpeta compartida '${folder}'"
else else
chmod 777 -R ${linuxSambaFolder}/${folder} chmod 777 -R ${linuxSambaFolder}/${folder}
echo "[${folder}]" >> ${sambaConfig} echo "[${folder}]" >> ${sambaConfig}
@ -221,7 +223,7 @@ function newFolderEveryone() {
echo "read only = no" >> ${sambaConfig} echo "read only = no" >> ${sambaConfig}
echo "guest ok = yes" >> ${sambaConfig} echo "guest ok = yes" >> ${sambaConfig}
echo "" >> ${sambaConfig} echo "" >> ${sambaConfig}
zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --text "Carpeta compartida '${folder}' creada con exito!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --width=530 --text "Carpeta compartida '${folder}' creada con exito!"
createFolderLink ${folder} createFolderLink ${folder}
fi fi
fi fi
@ -233,14 +235,14 @@ function newFolderReadOnly() {
formatText=$(convertText "${folder}") formatText=$(convertText "${folder}")
folder=${formatText} folder=${formatText}
if [ -z ${folder} ] ; then if [ -z ${folder} ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --text "Debes introducir un nombre de carpeta!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --width=350 --text "Debes introducir un nombre de carpeta!"
elif [ -d ${linuxSambaFolder}/${folder} ] ; then elif [ -d ${linuxSambaFolder}/${folder} ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "La carpeta '${folder}' ya está creada, elige otro nombre" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=530 --text "La carpeta '${folder}' ya esta creada, elige otro nombre"
else else
mkdir -p ${linuxSambaFolder}/${folder} 2> /dev/null mkdir -p ${linuxSambaFolder}/${folder} 2> /dev/null
output=$? output=$?
if [ ${output} -ne 0 ] ; then if [ ${output} -ne 0 ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "Error: Fallo al crear la carpeta compartida '${folder}'" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=520 --text "Error: Fallo al crear la carpeta compartida '${folder}'"
else else
chmod 777 -R ${linuxSambaFolder}/${folder} chmod 777 -R ${linuxSambaFolder}/${folder}
echo "[${folder}]" >> ${sambaConfig} echo "[${folder}]" >> ${sambaConfig}
@ -252,7 +254,7 @@ function newFolderReadOnly() {
echo "read only = yes" >> ${sambaConfig} echo "read only = yes" >> ${sambaConfig}
echo "guest ok = yes" >> ${sambaConfig} echo "guest ok = yes" >> ${sambaConfig}
echo "" >> ${sambaConfig} echo "" >> ${sambaConfig}
zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --text "Carpeta compartida '${folder}' (solo lectura) creada con exito!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --width=530 --text "Carpeta compartida '${folder}' (solo lectura) creada con exito!"
createFolderLink ${folder} createFolderLink ${folder}
fi fi
fi fi
@ -264,14 +266,14 @@ function newFolderForUser() {
formatText=$(convertText "${folder}") formatText=$(convertText "${folder}")
folder=${formatText} folder=${formatText}
if [ -z ${folder} ] ; then if [ -z ${folder} ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --text "Debes introducir un nombre de carpeta!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --width=350 --text "Debes introducir un nombre de carpeta!"
elif [ -d ${linuxSambaFolder}/${folder} ] ; then elif [ -d ${linuxSambaFolder}/${folder} ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "La carpeta '${folder}' ya está creada, elige otro nombre" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=530 --text "La carpeta '${folder}' ya esta creada, elige otro nombre"
else else
mkdir -p ${linuxSambaFolder}/${folder} 2> /dev/null mkdir -p ${linuxSambaFolder}/${folder} 2> /dev/null
output=$? output=$?
if [ ${output} -ne 0 ] ; then if [ ${output} -ne 0 ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "Error: Fallo al crear la carpeta compartida '${folder}'" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=520 --text "Error: Fallo al crear la carpeta compartida '${folder}'"
else else
forUser=$(zenity --entry --title "easy-samba ${VERSION} (${M_DATE})" --text "Introduce el nombre del usuario:") forUser=$(zenity --entry --title "easy-samba ${VERSION} (${M_DATE})" --text "Introduce el nombre del usuario:")
randomFolder=/tmp/easy-samba/${RANDOM}-${RANDOM} randomFolder=/tmp/easy-samba/${RANDOM}-${RANDOM}
@ -280,7 +282,7 @@ function newFolderForUser() {
output=$? output=$?
if [ ${output} -ne 0 ] ; then if [ ${output} -ne 0 ] ; then
rm -rf ${linuxSambaFolder}/${folder} rm -rf ${linuxSambaFolder}/${folder}
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "Error: No existe el usuario especificado!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=330 --text "Error: No existe el usuario especificado!"
else else
chmod 755 -R ${linuxSambaFolder}/${folder} chmod 755 -R ${linuxSambaFolder}/${folder}
echo "[${folder}]" >> ${sambaConfig} echo "[${folder}]" >> ${sambaConfig}
@ -292,7 +294,7 @@ function newFolderForUser() {
echo "read only = no" >> ${sambaConfig} echo "read only = no" >> ${sambaConfig}
echo "guest ok = yes" >> ${sambaConfig} echo "guest ok = yes" >> ${sambaConfig}
echo "" >> ${sambaConfig} echo "" >> ${sambaConfig}
zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --text "Carpeta compartida '${folder}' (para ${forUser}) creada con exito!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --width=530 --text "Carpeta compartida '${folder}' (para ${forUser}) creada con exito!"
createFolderLink ${folder} createFolderLink ${folder}
fi fi
fi fi
@ -305,14 +307,14 @@ function newFolderPrintable() {
formatText=$(convertText "${folder}") formatText=$(convertText "${folder}")
folder=${formatText} folder=${formatText}
if [ -z ${folder} ] ; then if [ -z ${folder} ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --text "Debes introducir un nombre de carpeta!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --width=350 --text "Debes introducir un nombre de carpeta!"
elif [ -d ${linuxSambaFolder}/${folder} ] ; then elif [ -d ${linuxSambaFolder}/${folder} ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "La carpeta '${folder}' ya está creada, elige otro nombre" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=530 --text "La carpeta '${folder}' ya esta creada, elige otro nombre"
else else
mkdir -p ${linuxSambaFolder}/${folder} 2> /dev/null mkdir -p ${linuxSambaFolder}/${folder} 2> /dev/null
output=$? output=$?
if [ ${output} -ne 0 ] ; then if [ ${output} -ne 0 ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "Error: Fallo al crear la carpeta compartida '${folder}'" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=520 --text "Error: Fallo al crear la carpeta compartida '${folder}'"
else else
chmod 777 -R ${linuxSambaFolder}/${folder} chmod 777 -R ${linuxSambaFolder}/${folder}
echo "[${folder}]" >> ${sambaConfig} echo "[${folder}]" >> ${sambaConfig}
@ -324,7 +326,7 @@ function newFolderPrintable() {
echo "printable = yes" >> ${sambaConfig} echo "printable = yes" >> ${sambaConfig}
echo "guest ok = yes" >> ${sambaConfig} echo "guest ok = yes" >> ${sambaConfig}
echo "" >> ${sambaConfig} echo "" >> ${sambaConfig}
zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --text "Carpeta compartida '${folder}' (printable) creada con exito!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --width=530 --text "Carpeta compartida '${folder}' (printable) creada con exito!"
createFolderLink ${folder} createFolderLink ${folder}
fi fi
fi fi
@ -332,7 +334,7 @@ function newFolderPrintable() {
# Funcion para reiniciar el servicio de Samba # Funcion para reiniciar el servicio de Samba
function restartSamba() { function restartSamba() {
zenity --question --title "easy-samba ${VERSION} (${M_DATE})" --cancel-label="No" --ok-label="Si" --text "Deseas reiniciar los servicios de Samba?" zenity --question --title "easy-samba ${VERSION} (${M_DATE})" --cancel-label="No" --ok-label="Si" --width=320 --text "Deseas reiniciar los servicios de Samba?"
sambaSN=$? sambaSN=$?
if [ "${sambaSN}" == "1" ] ; then if [ "${sambaSN}" == "1" ] ; then
echo "nule" > /dev/null echo "nule" > /dev/null
@ -342,15 +344,15 @@ function restartSamba() {
systemctl restart smbd.service 2> /dev/null systemctl restart smbd.service 2> /dev/null
systemctl restart nmbd.service 2> /dev/null systemctl restart nmbd.service 2> /dev/null
systemctl restart smb.service 2> /dev/null systemctl restart smb.service 2> /dev/null
zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --text "Servicios de Samba reiniciados" zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --width=300 --text "Servicios de Samba reiniciados"
fi fi
} }
# Funcion para borrar todas las carpetas compartidas # Funcion para borrar todas las carpetas compartidas
function restoreSmb() { function restoreSmb() {
echo "" echo ""
zenity --question --title "easy-samba ${VERSION} (${M_DATE})" --cancel-label="No" --ok-label="Si" \ zenity --question --title "easy-samba ${VERSION} (${M_DATE})" --cancel-label="No" --ok-label="Si" --width=530 \
--text "Nota: Se van a eliminar todas las carpetas compartidas y su contenido\n\nImportante: Se volvera al estado inicial del fichero 'smb.conf' antes de\nde ejecutar 'easy-samba' por primera vez\n\nDeseas continuar?" --text "Nota: Se van a eliminar todas las carpetas compartidas y su contenido\n\nImportante: Se volvera al estado inicial del fichero 'smb.conf' antes de\nde ejecutar 'easy-samba' por primera vez\n\nDeseas continuar?"
deleteFolder=$? deleteFolder=$?
if [ ${deleteFolder} -eq 0 ] ; then if [ ${deleteFolder} -eq 0 ] ; then
sleep 3 | zenity --progress --title "easy-samba ${VERSION} (${M_DATE})" --auto-close --text "Borrando carpetas" sleep 3 | zenity --progress --title "easy-samba ${VERSION} (${M_DATE})" --auto-close --text "Borrando carpetas"
@ -359,13 +361,13 @@ function restoreSmb() {
if [ ${output} -eq 0 ] ; then if [ ${output} -eq 0 ] ; then
cp -rf ${sambaBackup} ${sambaConfig} 2> /dev/null cp -rf ${sambaBackup} ${sambaConfig} 2> /dev/null
#rm -rf ${sambaBackup} 2> /dev/null #rm -rf ${sambaBackup} 2> /dev/null
zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --text "Carpetas borradas con exito!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --width=350 --text "Carpetas borradas con exito!"
restartSamba restartSamba
else else
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "Error al borrar las carpetas compartidas" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=360 --text "Error al borrar las carpetas compartidas"
fi fi
else else
zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --text "Se ha anulado el proceso de restauracion" zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --width=360 --text "Se ha anulado el proceso de restauracion"
fi fi
} }
@ -383,12 +385,12 @@ function viewFolders() {
if [ -z ${folder} ] ; then if [ -z ${folder} ] ; then
echo "nule" > /dev/null echo "nule" > /dev/null
elif [ -d ${linuxSambaFolder}/${folder} ] ; then elif [ -d ${linuxSambaFolder}/${folder} ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --text "Nombre de carpeta: ${folder}\n\nRuta: ${linuxSambaFolder}/${folder}" zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --width=350 --text "Nombre de carpeta: ${folder}\n\nRuta: ${linuxSambaFolder}/${folder}"
else else
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "Error: La carpeta '${folder}' no existe!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=400 --text "Error: La carpeta '${folder}' no existe!"
fi fi
else else
zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --text "Actualmente no hay carpetas compartidas!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --width=370 --text "Actualmente no hay carpetas compartidas!"
fi fi
} }
@ -404,7 +406,7 @@ function removeFolder() {
folder=$(zenity --width=390 --height=300 --list --title "easy-samba ${VERSION} ($M_DATE)" \ folder=$(zenity --width=390 --height=300 --list --title "easy-samba ${VERSION} ($M_DATE)" \
--column "Selecciona una carpeta para borrar:" ${folderList}) --column "Selecciona una carpeta para borrar:" ${folderList})
if [ -z ${folder} ] ; then if [ -z ${folder} ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --text "Debes seleccionar una carpeta de la lista" zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --width=350 --text "Debes seleccionar una carpeta de la lista"
elif [ -d ${linuxSambaFolder}/${folder} ] ; then elif [ -d ${linuxSambaFolder}/${folder} ] ; then
sleep 2 | zenity --progress --title "easy-samba ${VERSION} (${M_DATE})" --auto-close --text "Borrando carpeta..." sleep 2 | zenity --progress --title "easy-samba ${VERSION} (${M_DATE})" --auto-close --text "Borrando carpeta..."
rm -rf ${linuxSambaFolder}/${folder} 2> /dev/null rm -rf ${linuxSambaFolder}/${folder} 2> /dev/null
@ -412,36 +414,36 @@ function removeFolder() {
if [ ${output} -eq 0 ] ; then if [ ${output} -eq 0 ] ; then
readLine=$(cat ${sambaConfig} | grep "# Folder to ${linuxSambaFolder}/${folder} # 00bc00" -n | cut -d ":" -f 1) readLine=$(cat ${sambaConfig} | grep "# Folder to ${linuxSambaFolder}/${folder} # 00bc00" -n | cut -d ":" -f 1)
if [ -z ${readLine} ] ; then if [ -z ${readLine} ] ; then
zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --text "La carpeta '${folder}' ha sido borrada pero no se ha encontrado en 'smb.conf'" zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --width=530 --text "La carpeta '${folder}' ha sido borrada pero no se ha encontrado en 'smb.conf'"
else else
initLine=$(expr ${readLine} - 1) initLine=$(expr ${readLine} - 1)
endLine=$(expr ${readLine} + 7) endLine=$(expr ${readLine} + 7)
totalLines=$(cat /etc/samba/smb.conf | wc -l) totalLines=$(cat /etc/samba/smb.conf | wc -l)
count=1 count=1
mkdir -p /tmp/easy-samba/ mkdir -p /tmp/easy-samba/
echo > /tmp/easy-samba/smb.conf echo > /tmp/easy-samba/smb.conf
while [ ${count} -lt $initLine ] ; do while [ ${count} -lt $initLine ] ; do
cat /etc/samba/smb.conf | head -${count} | tail -1 >> /tmp/easy-samba/smb.conf cat /etc/samba/smb.conf | head -${count} | tail -1 >> /tmp/easy-samba/smb.conf
count=$(expr ${count} + 1) count=$(expr ${count} + 1)
done done
count=$(expr ${endLine} + 1) count=$(expr ${endLine} + 1)
while [ ${count} -le ${totalLines} ] ; do while [ ${count} -le ${totalLines} ] ; do
cat ${sambaConfig} | head -${count} | tail -1 >> /tmp/easy-samba/smb.conf cat ${sambaConfig} | head -${count} | tail -1 >> /tmp/easy-samba/smb.conf
count=$(expr ${count} + 1) count=$(expr ${count} + 1)
done done
cp -rf /tmp/easy-samba/smb.conf ${sambaConfig} cp -rf /tmp/easy-samba/smb.conf ${sambaConfig}
zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --text "La carpeta '${folder} ha sido borrada con exito!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --width=460 --text "La carpeta '${folder}' ha sido borrada con exito!"
deleteFolderLink ${folder} deleteFolderLink ${folder}
restartSamba restartSamba
fi fi
else else
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "Error: No se ha podido borrar la carpeta '${folder}'" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=450 --text "Error: No se ha podido borrar la carpeta '${folder}'"
fi fi
else else
zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --text "Error: La carpeta '${folder}' no existe!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --error --width=400 --text "Error: La carpeta '${folder}' no existe!"
fi fi
else else
zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --text "No hay carpetas disponibles para borrar!" zenity --title "easy-samba ${VERSION} (${M_DATE})" --info --width=350 --text "No hay carpetas disponibles para borrar!"
fi fi
} }
@ -482,6 +484,6 @@ while [ ${mostrarMenu} -eq 0 ] ; do
elif [ "${opcion}" == "Salir" ] ; then elif [ "${opcion}" == "Salir" ] ; then
mostrarMenu=1 mostrarMenu=1
else else
zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --text "Elige una de las opciones del menu" zenity --title "easy-samba ${VERSION} (${M_DATE})" --warning --width=300 --text "Elige una de las opciones del menu"
fi fi
done done

0
src/easy-samba-gtk-admin Normal file → Executable file
View File