viernes, 17 de octubre de 2008

Contar líneas de un archivo

cat archivo | wc -l
vim archivo > Ctr+G

martes, 22 de julio de 2008

Comando mySql

  1. grant all on nombreBD.* to nombreUsuario@ip identified by 'claveUsuario'; > para crear un usuario (nombreUsuario), con contraseña (claveUsuario) y permisos totales (grant all) sobre todas las tablas (*) de la base de datos (nombreBD).

martes, 17 de junio de 2008

Cambiar permisos masivos

  1. find . -iname '*.gif' | xargs -i comandoQueNecesita {} : cuando hay muchos archivos a los que se necesita cambiarles las propiedades y sale el error: "too many long parameters". Donde '*.gif' es el tipo de extensión sobre el que se aplicará el comandoQueNecesita.
    Ej. find . -iname '*.gif*' | xargs -i chmod 755 {}

lunes, 16 de junio de 2008

Crear usuario, pemisos FTP

Creación de usuario y luego usarlo para FTP:
  1. Como root:
    adduser --gecos "Usuario de cargue." --home "/var/www/basedoc/" cargue
  2. Se verifica que el usuario creado pertenezca al mismo grupo que tiene permisos sobre el directorio:
    ls -lad directorio/ = para verificar permisos del directorio
  3. vipw > revisar estado de los usuarios y el grupo al que pertenece para darle el id del grupo
  4. chmod 1777 directorio/ = para que pueda crear, editar y borrar sólo sus propios archivos se asigna al directorio de interés, el bit pegajoso (sticky). Si no puede ser: 4 o 2. Se comprueba verificando que quede de la forma: drwxrwxrwt
Para el FTP:
  1. Se verifica que ejecute el vsftp
    ps aux | grep vsf
  2. En tal caso se inicia con
    /etc/init.d/vsftpd start, tiene opciones adicionales: stop, restart
  3. Al crear el usuario y asignarle el --home es la ruta donde entrará por el FTP
  4. Se crean enlaces simbólicos para otros directorios a los que tendría acceso:
    ln -s rutaDirectorioOrigen nombreDestino
  5. Para que los enlaces simbólicos funcionen se necesita cambiar el parámetro chroot_local_user a NO, para que pueda ver otras rutas, que no son del home de usuario:
    vim /etc/vsftp.conf > chroot_local_user=NO
  6. Para que escriba los archivos y queden con permisos, habilitar:
    local:umask=022, para permisos 755. 000=777. Por defecto para usuarios locales del servidor son: 077.
  7. Luego de este cambio reiniciar el servicio:
    /etc/init.d/vsftpd restart

martes, 20 de mayo de 2008

Más comandos VIM

  1. :split nombreArchivo.xxx > en VIM divide la pantalla en dos para cada archivo
  2. Ctr+w+w > para saltar entre marcos
  3. :1,$ s/inicio/medio/g > busca desde la línea 1 hasta el final ($), busca (s/) inicio y lo reemplaza por medio, y si hay ocurrencias en la misma línea también lo hace (g). Palabra que comience por a (^a) o termine en z ($z)
  4. :set number > pone número a las líneas
  5. Ctr+G > cuenta las líneas del archivo

miércoles, 6 de febrero de 2008

Comandos Linux

Comandos utilizados en linux:
  1. du -shc * : para verificar tamaño de directorios (*), por megas (s), totalice (c)
  2. ls : lista directorios
  3. ls -la : lista mostrando permisos y usuarios
  4. la -lah : lista con tamaños archivo
  5. tar zcvf comprimido.tar.gz directorioAcomprimir/ : comprime un árbol de directorios a un comprimido.tar.gz
  6. tar zxvf comprimido.tar.gz -C directorioDestino/ : descomprime un *.tar.gz a un directorio destino
  7. tar jvxf comprimido.tar.bz2 -C directorioDestino/ : descomprime un *.tar.bz2 a un directorio destino. Otros comandos
  8. scp archivoOrigen usuario@ipMaquina:/directorioDestino : copia un archivo a otra máquina. Pedirá contrseña del usuario. Registrará la huella de la máquina, la primera vez.
  9. scp -r directorioOrigen usuario@ipMaquina:/directorioDestino : copia un árbol de directorios a otra máquina
  10. Los comodines pueden variar según la distribución: . / *.*
  11. env : lista las variables de ambiente
  12. env > archivo.txt : copia el resultado a un archivo plano
  13. ls > archivo.txt : copia el resultado a un archivo plano
  14. find . -iname archivoBuscado* : busca en el directorio actual que empiece por ... y termine en cualquier cosa.
  15. find . -iname '*archivoBuscado*' : busca recursivamente el nombre aproximado (-iname)
  16. find -size tamañoExact : sirve para buscar por fechas, tamaños, otros
  17. grep patronSinEspacios */*/* : busca una cadena (patronSinEspacios ó "con espacios") dentro de un nivel del árbol de directorios
  18. ssh -X usuario@Maquina : hace sesión remota encriptada, con servidor de X, para ventanas. Pedirá clave del usuario. La Maquina puede ser: la ip o el nombre
  19. tail -f rutaArchivoLog : para ver en vivo los mensajes del log
  20. comand0 | wc: cuenta los registros desplegados, se suele usar así: grep palabra |(pipe) wc
  21. cp -pr directorioOrigen/* directorioDestino/ : conserva los permisos (p) y copia los subdirectorios (r)
  22. rm archivo : borra un archivo
  23. rm -rf directorio/ : borra un directorio recursivamente (r) y forzado (f)
  24. cd - : devuelve a la ruta anterior, donde estábamos parados
  25. mkdir ~/directorio : crea un directorio en la raíz del usuario actual (~)
  26. chmod -R +x * : asigna permisos (+) de ejecución (x) a todos los archivos (*) y subdirectorios (-R)
  27. chmod go+r -R directorio/ : adiciona (+) permisos de lectura y ejecución (r) al grupo (g) y los otros (o), para el directorio y su contenido (-R)
  28. cpio -idmv (signo menor que) archivo.cpio : descomprime archivos .cpio
  29. cat filename.cpio | cpio -icd : verifica la integridad del archivo descargado, sugerido por Oracle. Este arroja dos series, de 9 dígitos, que se comparan con el resultado del cksum.
  30. cksum archivo :Verificar integridad, sugerido por Oracle
  31. cat /etc/issue : para ver la distribución Linux de la máquina. Cat es un editor de textos y despliega el solicitado
  32. cat /proc/cpuinfo : para ver el tipo de CPU de la máquina. En ese directorio se encuentran otros archivos de información del sistema
  33. dpkg -i archivo.deb : instala el archivo, debe ser SU
  34. Uso rsync, creación confianza entre servidores : SSH: host-basierte Authentifizierung für root.
    ermöglicht nicht-interaktiven login sowohl für rsync, als auch für mirror.

    Konfiguration:

    # ssh-keygen -d (keine Passphrase angeben!)
    # cp ~/.ssh/id_dsa.pub ~/.ssh/authorized_keys2

    # chmod 400 ~/.ssh/authorized_keys2
    # tar czvf ssh.tgz .ssh
    # scp ssh.tgz root:10.0.0.2:
    # ssh root@10.0.0.2
    # tar xvzf ssh.tgz
  35. crontab -e : para revisar crons activos en el usuario actual
  36. netstat -nautp | grep -i listen | grep 444 : muestra los puertos tcp (t) y las aplicaciones (p) que los usan. Grep filtra por listen y el otro por puerto
  37. ps -auxf > muestra los proceso con sus padres
  38. vim copiar y pegar líneas : posicionarse para copiar > número de líneas y digitar y > posicionarse donde pegarlas > oprimir p
  39. md5sum archivo.tar.gz : muestra el MD5 asociado al archivo
  40. rsync -ar rutaOrigen/directorioOrigen/ ususario@servidor:rutaDestino/ : para sincronizar dos directorios, con todos (a) sus archivos y subdirectorios, de manera recursiva (r). Donde directorioOrigen/ es el que se va a copiar, ej. docs, y la rutaDestino/ será donde recrea la estructura, es decir, si no existe el directorio, lo crea y todos los archivos y subdirectorios, ej. /var/www/. Si se deja el directorio (/var/www/docs) lo vuelve a crear: /var/www/docs/docs.
  41. ln -s origen destino > crea una enlace simbólico con los permisos que tengan en el origen (archivo o directorio). Al borrarlo no borra los archivos origen.
  42. ln -s directorioOrigen/ . > este hace los enlaces simbólicos en el lugar donde está ubicado en la línea de comando (.) Nota: para URL puede que sirva o no según desde donde se hagan: desde el origen o desde el destino. Me sirvió desde el destino lanzar el comando.