Comandos Utiles

Aqui añado mi listas de comandos útiles para Bbuntu =)


 

Chmod recursivo usando find, tubería y sudo

Para asignar permisos con razonable seguridad a archivos y carpetas/directorios, es corriente dar permisos 644 a archivos y 755 a directorios, así chmod -R los asigna a ambos. Usa el comando find y una tubería a chmod como en el siguiente ejemplo

Para cambiar permiso sólo a archivos bajo un directorio específico

usuario@host:/home/usuario$ find /path/to/directorio -type f | while read var1; do sudo chmod 644 "$var1"; done
usuario@host:/home/usuario$ ls -l
total 3
-rw-r--r--  1 usuario usuario 0 Nov 19 20:13 archivo1
drwxrwxrwx  2 usuario usuario 4096 Nov 19 20:13 carpeta
-rw-r--r--  1 usuario usuario 0 Nov 19 20:13 archivo2

Para cambiar sólo los permisos de directorios bajo un directorio específico (incluyendo ese directorio):

usuario@host:/home/usuario$ find /path/to/directorio -type d | while read var1; do sudo chmod 755 "$var1"; done
usuario@host:/home/usuario$ ls -l
total 3
-rw-r--r--  1 usuario usuario 0 Nov 19 20:13 archivo1
drwxr--r--  2 usuario usuario 4096 Nov 19 20:13 carpeta
-rw-r--r--  1 usuario usuario 0 Nov 19 20:13 archivo2

Si accidentalmente cambias los permisos y este comando no funciona porque find no tiene permiso para leer el directorio específico, pon sudo antes de find

sudo find ./ -type f | while read var1; do sudo chmod 664 "$var1"; done && sudo find ./ -type d | while read var1; do sudo chmod 775 "$var1"; done
chmod +r arch.txt        # agrega permisos de lectura a todos los
                         # usuarios(solo a algunos elegidos previamente)
chmod u+w arch.txt       # agrega permisos de escritura al dueño
chmod –x arch.txt        # elimina el permiso de ejecución a todos
                         # los usuarios
chmod u=rw,go= arch.txt  # establece los permisos de lectura y escritura
                         # al dueño y elimina todos los permisos a
                         # los demás usuarios

 Permisos avanzados

Para añadir permisos avanzados se usa el comando setfacl, por ejemplo:
Si de una carpeta queremos que cuando se creen nuevas carpetas los permisos de grupo sean por defecto rwx (Solo para el grupo y otros para el usuario no sirve)

setfacl -R -d -m g::rwx /folder

-R indica recursividad por si esa carpeta ya tuviera carpetas
-d indica valores por defecto
-m modifica
g::rwx los permisos en cuestion

Para obtener los tipos permisos actuales:

getfacl /folder

Para borrar los permisos

setfacl -bn /folder

*Ojo aplica los permisos rwx por defecto pero seria interesante que el grupo de la carpeta se conservara ya si fuera una carpeta compartida
Ejemplo jgarcia:grupoA folder

*Solo puede heredar el grupo de la carpeta el creador no, ya que cada persona creara su carpeta pero es ella la creadora pero puede pertenecer al grupoA, lo cual no se puede especificar que la owner sea siempre el mismo, siempre va a ser la persona quien la crea

Para heredar el grupo:

sudo chmod g+s ./folder
#Para todo el directorio
sudo find ./folder/ -type d | while read var1; do chmod sudo g+s "$var1"; done

Resumiendo para una carpeta compartida yo recomendaría este tipo de configuración:

chown owner:grupo ./folder
sudo find ./folder/ -type d | while read var1; do chmod sudo g+s "$var1"; done

 Borrar comentarios de 1 fichero

sudo sed '/^#/d' archivo.conf > archivo_new.log
setfacl -R -d -m g::rwx ./folder

Así tendríamos una carpeta compartida del grupoA podrían leer y editar


 Puertos abiertos (Por aplicaciones)

sudo netstat -lpn --inet

 Puertos abiertos (Por firewall)

clear && echo ----- Firewall ----- && sudo iptables -S && echo && echo ----- Enrutamiento ----- && sudo iptables -t nat -S && echo

Sintaxis de las iptables (Firewall)


 Acelerar la conexión SSH

Por defecto, Ubuntu forzar cada conexión para tener una búsqueda inversa-dns antes de
establecer la sesión, esto es muy bueno cuando se hace una auditoria forense de que la dirección IP / FQDN iniciado sesión en el servidor, pero para el día a día el uso interno LAN, esto sumado medida de seguridad es un PITA cuando usted no tiene un DNS inversa como todo lo que hace es retrasar el establecimiento de la sesión SSH.

sudo nano /etc/ssh/sshd_config

En la parte inferior del archivo añadí

UseDNS no

Esto acelera drásticamente el tiempo que se necesita para establecer una sesión.
Debe reiniciar SSH también


 Resolver nombres de windows

Para que ubuntu pueda resolver los nombres de PC de la red procedemos a lo siguiente:

apt-get install winbind
nano /etc/nsswitch.conf

Añadimos
wins a hosts: =>

hosts: dns mdns4 wins

Instalar Google Chrome Ubuntu

sudo apt-get install chromium

Instalar VLC Player

sudo apt-get install vlc

Wake On Lan (WOL)

sudo apt-get install wakeonlan
wakeonlan 2C:6F:65:CF:3C:21

VNC Server

sudo apt-get install tightvncserver
vncserver :1 -depth 8 -geometry 800x600

Cambiar contraseña del usuario ACTUAL:

vncpasswd

Cliente VNC
http://www.tightvnc.com/download.php


Comprimir

Ejemplo para comprimir todo el sistema, el “.” del final es importante!

tar -zcpf ./fullbackup.tar.gz --directory=/Carpeta_o_Raizdesistema/ --exclude=proc --exclude=sys --exclude=dev/pts --exclude=backups .

Descomprimir

Para descomprimir:

tar -xzvf archivo.tar.gz -C /Ruta/

Copia MIRROR

Copia permisos incluido.

sudo cp -p -R /media/imagenmontada/* /media/hdd/

O version con RSYNC

rsync /origen/ /destino/ -av

Uso de memoria

Ver memoria:

free -m

Ver consumo de memoria por proceso

ps -eo size,pid,user,command --sort -size | awk '{ hr=$1/1024 ; printf("%13.2f Mb ",hr) } { for ( x=4 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" }'

Borrar todos los ficheros que sean los mas antiguos de 10
1 a 10 items podemos ampliarlo obvio.

ls -1t /home/ftp/sdcard/Camera1/* | sed -e '1,10d' | xargs rm -v

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *