Blog Tecnológico de Clever

Web Personal relacionado a la WEB 2.0. (JavaScript, RIA, XUL y Ajax), lenguajes de programación (Java, PHP, Ruby) y GNU/Linux por supuesto; hincha a morir del Software Libre.

Inicio de sesión

Sindicar

Curso Taller de Ubuntu Linux VI (el editor vim, usuarios y permisos, variables de entorno)

Versión para impresiónEnviar a un amigoVersión en PDF

El Editor VIM
------------- 
ESC		: ingresa al modo comando
i		: entra en modo insercion desde la misma linea
o		: entra en modo insercion desde la sgte linea 
1G		: va a la primera linea
23G		: va a la linea 23
:45G            : va a la linea 45
G               : va a la ultima linea
/palabra	: busca una cadena
n		: sigue buscando
dd		: corta o borra una linea
d8d		: corta o borra 8 lineas
yy		: copia una linea
y7y		: copia 7 lineas
p		: pega el contenido del portapapel
5p		: pega 5 veces el contenido del portapapel
u		: deshace la ultima accion
x		: borra una letra
:w		: graba el archivo actual
:wq		: graba y sale
:w!		: graba de forma forzada
:wq!		: graba y sale forzadamente
:q!		: sale forzadamente
:1,$s/busqueda/reemplaza/g     :busca una cadena y la reemplaza
:! comando	: ejecuta un comando en bash y vuelve a VIM
:e archivo	: abre un nueva archivo en el sgte buffer
:b1		: va el primer buffer abierto
:b2		: va al segundo buffer, para cambiar de buffer hay que
                  grabar el buffer actual 		
:set number	: muestra los numeros de linea
:set nonumber	: quita los numeros de linea
:set paste	: habilita el pegado sin auto identificacion
:set ts=3	: establece a 3 los espacios de los tabs
Insertar        : entra en modo de reemplazo
:saveas archivo : guarda como nombre archivo
:shitf+a 	: entra en modo insercion al final de la linea
D		: elimina texto desde el cursosr actual hasta el final
                  de la linea
dG		: elimina todo hasta la ultima linea
:wq! ++utf8 	: guarda el fichero en modo UTFP (por defecto)
:nohl 		: cancela los resultados de busqueda


Instalar VIM
-------------

$> sudo su -
$> apt-get update
$> apt-get install vim

$> 	vim saludo
       i	
hola mundo ESC yy 20p G o windows es lo maximo ESC /hola n n :set number G yy 30p :1,$s/windows/linux/g dd d2d dG u :! date :w :e otrosaludo :b1 1G yG :b2 p :wq! $> cat saludo $> cat otrosaludo Archivo de configuracion de VIM $> vim /etc/vim/vimrc ---> ubuntu,debian /etc/vimrc ---> centos 20G "syntax on syntax on 30G (brorrar comilla inicial de la linea 30 a la 32)
"if has
"
"
G
o
set nobackup
set number
set ts=3
set paste
ESC :wq

$> vim /etc/vim/vimrc
ESC:q


Historial de comandos (History)
------------------------------

$> history
lista los comandos ejecutados y los identificado por el numero de
ejecucion

$> !127
Ejecuta el comando 127 del History

$> !vim
Ejecuta el ultimo comando del history, que empieza con vim

$> cat /root/.bash.history
Archivo donde se guarda el history

Bloquear el history
-------------------

$> chattr +i /root/.bash_history hace inmutable el archivo

$> chattr -i /root/.bash_history quita inmutabilidad


Usuarios y permisos:
--------------------

Crear usuarios
--------------

$> useradd -md /home/tuxito tuxito
crea un nuevo usuario, su directorio de trabajo y su grupo
igual

$> passwd tuxito
crea o cambia la contraseña de un usuario

$> useradd -md /home/linuxero -c "linuxero fanatico" \
-g users -G video,audio -s /bin/bash linuxero

$> passwd linuxero

$> grep linuxero /etc/passwd
linuxero:x:1002:100: linuxero fanatico:/home/linuxero:/bin/bash

$> grep linuxero /etc/shadow

$> grep users /etc/group

$> grep linuxero /etc/group


Archivos importantes
--------------------

/etc/passwd (lista de usuarios)

/etc/group (lista de grupos)

/etc/shadow (lista de contraseñas)

Modificar usuarios
---------------------

$>usermod -c "tuxito hacker" tuxito (modificamos a sus usuarios)

$>vim /etc/passwd (modifica el archivo de usuario)


Borrar usuarios
---------------------

$> userdel linuxero (borra el usuario pero no su directorio de trabajo) $> userdel -r tuxito (borra el usuario incluyendo su directorio) Crear un Grupo
-------------------------
$> groupadd fanaticos


Agregar un usuario a un grupo
----------------------------------------
$> gpasswd -a tuxito fanaticos (agrega al usuario tuxito al grupo fanaticos)

$> grep fanaticos /etc/group

$> vim etc/group se puede agregar un usuario directamente a un grupo editando el archivo groups Permisos de archivos y directorios ------------------------------------- $> ls -l /etc/hosts inodo tamaño en bytes fecha y hora de modificacion | | | | | | -rw-r--r-- 2 root root 240 2009-05-04 08:15 /etc/hosts |_________ | | | | | | | | | | dueño grupo ruta del archivo | | | |---> triada de permisos para el archivo del dueño, usuario | y el resto del mundo | --> r=read 4 | --> w=write 2 | --> x=exec 1 | |--->dice si es archivo(-),directorio(d) o enlace(l) $> cd $> touch saludo $> ls -l saludo $> chmod 664 saludo (6=permiso dueño,6=permiso grupo,4=permiso de otros) $> ls -l saludo $> chmod 777 saludo (permisos totales para todos) $> ls -l saludo $> chown alumno saludo (cambia de dueño al archivo) $> ls -l saludo $> chgrp alumno saludo (cambia de grupo al archivo) $> ls -l alumno $> chown -R alumno.alumno /home/alumno ----- ------ dueño grupo cambia de dueño y grupo al directorio /home/alumno incluyendo sus subdirectorios Scripts ------- $> vim /usr/bin/damelahora #!/bin/bash (define el interprete del script) echo "son las" date $> /usr/bin/damelahora (ejecuta el archivo si tiene permisos en ejecucion) $> chmod 755 /usr/bin/damelahora (agrega permisos de ejecucion al archivo) $> /usr/bin/damelahora (ejecuta el archvio, es necesario darle su ruta absoluta) $> damelahora (ejecuta un comando que se encuentra en algunos de los directorios de $PATH) $> echo $PATH (muestra el valor de la variable de entorno /bin:/sbin /usr/sbin:/usr/load/bin) Ejecucion en modo relativo -------------------------- $> cd /usr/bin $/ ./damelahora /usr/bin/damelahora Variables de entorno y alias ---------------------------- $> set (variables del sistema,visualiza las variables de entorno existentes) $> env (variables del usuario-similar al anterior) $> export SALUDO="hola mundo" (define una variable de entorno) $> echo $SALUDO (muestra el valor de la variable de entorno) $> echo $SA----> TAB $> echo $PATH Definiendo y modificando variables de entorno *************** del usuario $> su - alumno $> vim .bashrc . . . export SALUDO="hola que tal" $> echo $SALUDO ************** globales /etc/profile -----> Ubuntu o Debian /etc/bashrc -----> CentOS Archivo que se ejecutan en cada inicio de sesion para todos los usuarios, por tanto puedo definir variables de entorno y alias permanentes para todos los usuarios. $> sudo su - $> vim /etc/profile . . . export DESPEDIDA=chao export PATH=/scripts:$PATH export ORAHOME=/opt/oracle $> su - $> echo $DESPEDIDA $> su - alumno $> echo $DESPEDIDA $> echo $PATH /scripts:/bin... $> echo ORAHOME $> mkdir /scritps $> cd /scripts $> vim backuphome #!/bin/bash tar -zcpvf /backup/home.tgz /home $> chmod 755 backuphome $> mkdir /backup $> /scripts/backuphome $> backuphome chmod = solo lo puede ejecutar el dueño del archivo y root chown = solo lo ejecuta root $> vim /etc/profile alias listado="ls --color" alias dir ="ls --color" $> su - $> alias (muestra todos los alias definidos) $> listado $> unalias listado (elimina un alias)