| Autor |
Mensaje |
hipersayan_x

Forista Legendario
Registrado: Vie Abr 27, 2007 7:00 am Mensajes: 1642
|
 Publicado: Mar Feb 07, 2012 3:38 am |
|
Lock It (File Locker/Unlocker)Resulta el mes pasado se me dió la necesidad de hacer un pequeño script para KDE que me permitiera impedir el borrado por error de un archivo o carpeta. La necesidad de hacer este script fue por experiencia propia, resulta que yo soy una de las ?ersonas que usan alegremente la combinación de teclas Shift + Supr para borrar los archivos en lugar de enviarlos a la papelera de reciclaje, y resulta que por apuro y por idiota sin darme me cargue toda mi carpeta de música, perdí entre 6 y 7 GB de musica  , así que para evitar que eso vuelva a pasar creé un menú de servicio para Dolphin y Konqueror que me permita bloquear mis archivos y carpetas. Este menú de servicio utiliza los atributos del sistema de archivos para evitar que el usuario borre archivos y carpetas muy importantes, tales como música, vídeos, trabajos escolares, bases de datos de la empresa, etc.. Depende del comando chattr proporcionado por el paquete e2fsprogs, y sólo funciona con los sistemas de archivos ext2, ext3 y ext4. Sólo el usuario root puede bloquear o desbloquear los archivos, y cuando un archivo está bloqueado, ni siquiera el usuario root puede borrarlo. El uso es bastante simple. bloquee de los archivos que desea proteger, cuando tengas que modificar un archivo protegido o añadir un nuevo archivo en una carpeta protegida, simplemente desbloquealo, y cuando termines de trabajar con él, bloquealo de nuevo. InstalaciónSimplemente descomprime el archivo en: Código: ~/.kde4/share/kde4/services/ServiceMenus/ Y reinicia Dolphin y Konqueror.
_________________ Desarrollo en Qt: ZonaQt | Qt Developer Network Mis proyectos: github | Google Code | SourceForge.net
|
|
|
|
 |
mcun

Administrador
Registrado: Lun Abr 19, 2010 12:30 am Mensajes: 3697 Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)
|
 Publicado: Mar Feb 07, 2012 3:53 am |
|
que bueno --- necesito uno para gnome ... yo me cargue todo el home con rm -rf hace un mes y se me fue el public_html con todos mis proyectos , lib etc ... y el respaldo era viejo con lo que no puede recuperar la totalidad ...
_________________ Los programadores de verdad no documentan. La documentación es para los idiotas que no pueden leer un volcado de memoria.
Trusted Network and Developer | Lee el Reglamento !! |WIKI-EL | Twitter @mr_mcun Debian + TTY | ArchLinux + awesome | openSUSE + Gnome-Shell | Linux User #508809
|
|
|
|
 |
hipersayan_x

Forista Legendario
Registrado: Vie Abr 27, 2007 7:00 am Mensajes: 1642
|
 Publicado: Mar Feb 07, 2012 4:32 am |
|
|
|
 |
haldrik

Forista Legendario
Registrado: Lun Jul 25, 2005 7:00 am Mensajes: 1557 Ubicación: Fresno Tolima Colombia
|
 Publicado: Mar Feb 07, 2012 4:53 am |
|
|
|
 |
hipersayan_x

Forista Legendario
Registrado: Vie Abr 27, 2007 7:00 am Mensajes: 1642
|
 Publicado: Mar Feb 07, 2012 5:29 am |
|
haldrik escribió: Lamento deciros que en debian no me funcionó, se aparece el menú, si tengo e2fsprogs y el comando chattr, pero bloquee una carpeta e igual me permitió borrar los archivos. ¿Lo probaste en una partición ext? ¿Aparece el dialogo de notificación de bloqueo? ¿Te da algún error si corres el comando directamente? Código: if [ -f /usr/bin/kdesu ]; then kdesu chattr +i archivo_a_bloquear; else kdesudo "chattr +i archivo_a_bloquear"; fi; notify-send "Files Locked" o Código: sudo chattr +i archivo_a_bloquear Después de que "supuestamente" bloqueaste el archivo, este comando: Código: lsattr archivo_bloqueado ¿Devuelve algo parecido a esto?: Código: ----i---------- archivo_bloqueado
_________________ Desarrollo en Qt: ZonaQt | Qt Developer Network Mis proyectos: github | Google Code | SourceForge.net
|
|
|
|
 |
Yoyo

Administrador
Registrado: Mar Jun 06, 2006 7:00 am Mensajes: 2998 Ubicación: Andalucía/España
|
 Publicado: Mar Feb 07, 2012 9:30 pm |
|
haldrik escribió: Lamento deciros que en debian no me funcionó, se aparece el menú, si tengo e2fsprogs y el comando chattr, pero bloquee una carpeta e igual me permitió borrar los archivos. Idem a haldrik Me sale el menú de bloquear y desbloquear pero cuando bloqueo una carpeta o un archivo luego puedo borrarlos sin problemas. Y si, si me sale el aviso de carpeta bloqueada. Uso Pardus KDE 4.6.5 en ext4 La ruta en Pardus cambia, acá no tenemos el 4 det?as del primer kde y he tenido que crear el directorio ServiceMenus pues no estaba La ruta para Pardus sería esta, creando la última carpeta ServiceMenus Código: ~/.kde/share/kde4/services/ServiceMenus/
_________________ Reglamento del Foro | Deb Linux | Pisi Life | Twitter: @yoyo308 | G+: Yoyo Fernández CrunchBang Waldorf | Pisi Linux
|
|
|
|
 |
hipersayan_x

Forista Legendario
Registrado: Vie Abr 27, 2007 7:00 am Mensajes: 1642
|
 Publicado: Mar Feb 07, 2012 9:55 pm |
|
|
|
 |
Yoyo

Administrador
Registrado: Mar Jun 06, 2006 7:00 am Mensajes: 2998 Ubicación: Andalucía/España
|
 Publicado: Mar Feb 07, 2012 10:04 pm |
|
hipersayan_x escribió: @Yoyo, misma pregunta que le hice a haldrik, intentá blockear el archivo así: Código: sudo chattr +i archivo_a_bloquear ¿Funciona? No funciona, corro esa orden pero luego lo puedo eliminar Editado: Ahora funciona. Antes debí equivocarme, por eso he probado varias veces para asegurarme
_________________ Reglamento del Foro | Deb Linux | Pisi Life | Twitter: @yoyo308 | G+: Yoyo Fernández CrunchBang Waldorf | Pisi Linux
|
|
|
|
 |
hipersayan_x

Forista Legendario
Registrado: Vie Abr 27, 2007 7:00 am Mensajes: 1642
|
 Publicado: Mar Feb 07, 2012 10:24 pm |
|
Ok,  si corres el comando entero: Código: if [ -f /usr/bin/kdesu ]; then kdesu chattr +i archivo_a_bloquear; else kdesudo "chattr +i archivo_a_bloquear"; fi; notify-send "Files Locked" ¿Funciona?¿Devuelve algún error?¿Que error devuelve?
_________________ Desarrollo en Qt: ZonaQt | Qt Developer Network Mis proyectos: github | Google Code | SourceForge.net
|
|
|
|
 |
Yoyo

Administrador
Registrado: Mar Jun 06, 2006 7:00 am Mensajes: 2998 Ubicación: Andalucía/España
|
 Publicado: Mar Feb 07, 2012 10:30 pm |
|
|
|
 |
hipersayan_x

Forista Legendario
Registrado: Vie Abr 27, 2007 7:00 am Mensajes: 1642
|
 Publicado: Mar Feb 07, 2012 10:38 pm |
|
|
|
 |
Yoyo

Administrador
Registrado: Mar Jun 06, 2006 7:00 am Mensajes: 2998 Ubicación: Andalucía/España
|
 Publicado: Mar Feb 07, 2012 10:46 pm |
|
En Debian no se si funcione, en Pardus 32 bits, que es en la que estoy, no me viene en repos kdesu y por consiguiente no me funciona la orden. Aunque creo recordar, remotamente, que en una anterior Pardus 64 bits que tuve si me funcionaba kdesu o.0
No suelo ejecutar como root de forma gráfica pero se supone que es kdesu o kdesudo
_________________ Reglamento del Foro | Deb Linux | Pisi Life | Twitter: @yoyo308 | G+: Yoyo Fernández CrunchBang Waldorf | Pisi Linux
|
|
|
|
 |
hipersayan_x

Forista Legendario
Registrado: Vie Abr 27, 2007 7:00 am Mensajes: 1642
|
 Publicado: Mar Feb 07, 2012 11:20 pm |
|
¿No tienen gksu o gksudo en Pardus? Si no lamentablemente, los que no usen algún sudo gráfico no van a poder usar el script Corrijo: Ya encontré una solución, dentro de poco subo la versión corregida  , ahora no me jodan con que no tienen konsole instalado D:
_________________ Desarrollo en Qt: ZonaQt | Qt Developer Network Mis proyectos: github | Google Code | SourceForge.net
|
|
|
|
 |
hipersayan_x

Forista Legendario
Registrado: Vie Abr 27, 2007 7:00 am Mensajes: 1642
|
 Publicado: Mié Feb 08, 2012 1:32 am |
|
Ok, arreglado, ahora el script puede funcionar con kdesu, kdesudo, gksu, gksudo, y los que no tengan ninguno de estos instalados abre konsole y pregunta por la contraseña de root Además unifiqué todo en un único script así que borren los archivos de la versión anterior e instalen el nuevo.
_________________ Desarrollo en Qt: ZonaQt | Qt Developer Network Mis proyectos: github | Google Code | SourceForge.net
|
|
|
|
 |
Yoyo

Administrador
Registrado: Mar Jun 06, 2006 7:00 am Mensajes: 2998 Ubicación: Andalucía/España
|
 Publicado: Jue Feb 09, 2012 12:36 am |
|
hipersayan_x escribió: Ok, arreglado, ahora el script puede funcionar con kdesu, kdesudo, gksu, gksudo, y los que no tengan ninguno de estos instalados abre konsole y pregunta por la contraseña de root Además unifiqué todo en un único script así que borren los archivos de la versión anterior e instalen el nuevo. Todo correcto, ahora me funciona en mi Pardus En mi caso me abre konsole preguntando mi passw de user con sudo Buen trabajo
_________________ Reglamento del Foro | Deb Linux | Pisi Life | Twitter: @yoyo308 | G+: Yoyo Fernández CrunchBang Waldorf | Pisi Linux
|
|
|
|
 |
|
|
|