Administración

Cambiar el Dominio/Grupo de trabajo

# cp /etc/samba/smb.conf /etc/samba/smb.conf_backup

# gedit /etc/samba/smb.conf

Encuentre esta línea

...

workgroup = MSHOME

...

Reemplácela por la siguiente línea

workgroup = new_domain_or_workgroup

Guarde el archivo editado

# testparm

# /etc/init.d/samba restart

Cambiar el Datos del computador

Sistema -> Administración -> Red

Configuración de la red

Pestaña General -> Configuración del host -> Nombre del equipo: Especificar un nombre para el ordenador

Guarde y cierre todas las aplicaciones abiertas, Reinicie el ordenador

Cambiar las descripciones del computador

# cp /etc/samba/smb.conf /etc/samba/smb.conf_backup

# gedit /etc/samba/smb.conf

Encuentre esta línea

...

server string = %h server (Samba, Ubuntu)

...

Reemplácela por la siguiente línea

server string = new_computer_descriptions

Guarde el archivo editado

#testparm

# /etc/init.d/samba restart

Cambiar el UID y GID para todos los archivos de un usuario

Supongamos que queremos cambiar el UID (USER ID) y el GID (GROUP ID) para todos los archivos y directorios de un usuario. El procedimiento es muy sencillo:

  1. Primero, asigna un nuevo UID al usuario usando el comando usermod.

  2. Segundo, asigna un nuevo GID al grupo usando el comando groupmod.

  3. Finalmente, utiliza los comandos chown y chgrp para cambiar los antiguos UID y GID respectivamente. Puedes automatizar este proceso con la ayuda del comando find.

Por seguridad, es importante hacer una copia de seguridad de tu sistema antes de hacer esto.

Supongamos que tenemos:

  1. Nombre de usuario: foo

  2. Viejo UID de foo: 1005

  3. Nuevo UID de foo: 2005

  4. Nombre de grupo de usuario: foo

  5. Viejo GID de foo: 2000

  6. Nuevo GID de foo: 3000

Comandos

Para asignar un nuevo UID al usuario llamado foo, escribe:

# usermod -u 2005 foo

Para asignar un nuevo GID al grupo llamado foo, escribe:

# groupmod -g 3000 foo

Tan pronto como como escribes los anteriores comandos, todos los archivo ubicados en el directorio home del usuario tendrán el UID cambiado automáticamente. Sin embargo, los archivos que se encuentran fuera del directorio home del usuario tendrán que ser cambiados manualmente.

Para cambiar manualmente archivo con los viejos GID y UID respectivamente, escribe:

# find / -group 2000 -exec chgrp -h foo {} \;

# find / -user 1005 -exec chown -h foo {} \;

El comando -exec ejecuta el comando chgrp o chmod en cada archivo. La opción -h pasada al comando chgrp/chmod afecta a cada enlace simbólico en vez de a cualquier archivo referenciado.

Fuente

Grupos y Usuarios con chown

Como sabrán en Unix los archivos y carpetas se manejan con un usuario y grupo propietario, lo que permitirá que algunos tengan más derechos que otros; por ejemplo para acceder al archivo, modificarlo, etc.

El comando chown lo que nos va a permitir es establecer este usuario y grupo propietario. Su uso es muy sencillo y lo explico a continuación:

La sintaxis de uso es la siguiente

chown [OPCIONES] [DUEÑO]:[GRUPO] [ARCHIVO O CARPETA]

por ejemplo si escribimos lo siguiente

$ sudo chown juaramir:admin Archivo

lo que hacemos es establecer como usuario propietario de Archivo a juaramir y como grupo dueño a admin. Esto es válido tanto para archivos como para carpetas. Pero para estas últimas una opción que nos será de gran utilidad ser la recursividad, “-R“, que hará que los cambios afecten a la carpeta y sus subcarpetas; su uso seria de la siguiente forma

$ sudo chown -R juaramir:admin Carpeta

Claro que no es necesario establecer si o si un usuario o grupo dueño, podemos establecer solo uno de los 2 y su uso no varia, por ejemplo

$ sudo chown juaramir Archivo

Y por último decir que tambien tenemos disponible el comodin, “*“, que nos servira para indicar “todo“. Por ejemplo si yo estoy situado en el directorio /home y hago lo siguiente

$ sudo chown -R juaramir *

lo que hará será establecer al usuario “juaramir” como dueño de todas las carpetas (y subcarpetas) y archivos que se encuentren en /home

Este comando combinado con el chmod nos darán una gran posibilidad para establecer permisos y restricciones a los usuarios, grupos, archivos y carpetas.

Fuente: http://www.tinchio.com/

Conocer el nombre de usuario

Por cualquier motivo, en el cual necesites saber tu nombre de usuario, basta que en la terminal teclees

who

y te retornará el nombre.

Ahora también es común que el nombre de usuario sea el mismo que aparece al principio de la última línea de la terminal.

cron: Programar/Automatizar tareas

Imagina que quieres programar una tarea para que se ejecute periodicamente, o en un determinado momento.Por ejemplo, hacer una copia de seguridad de tus archivos el dia 1 de cada mes, o cambiar el fondo de escritorio cada30 minutos. Para programar tareas en Linux, existe un servicio llamado “cron“.

¿Que hace este servicio?

Es un proceso que lee un archivo donde le indicamos las tareas y cuando queremos realizarlas y el se encarga de ejecutarlas por nosotros en el preciso momento que le hayamos indicado.

Pero antes un poco de culturilla. Cron viene de “cronos” y Cronos segun la mitologia griega era el Dios del tiempo.

Y eso es lo que vamos a hacer con “cron”, controlar el tiempo..

Existen utilidades graficas para programar tareas, pero antes lo veremos desde la linea de comandos, pues definir la tarea y el intervalo de ejecucion tampoco es muy complicado.

Si queremos definir una tarea para cron emplearemos el comando “crontab“. Admite los siguientes parametros:

$ crontab -l

Para mostrar un listado de las tareas actuales del usuario

Ejemplo:

root@soledad:~# crontab -l

# m h dom mon dow command

* * * * * echo `date` > /home/jose/Desktop/cron.txt

$ crontab -e

para editar este archivo de tareas que lee el servicio “cron”

$ crontab -r

elimina el archivo crontab del usuario

$ crontab

instala el archivo indicado como archivo crontab del usuario

Bueno, la opcion que nos interesa principalmente es “-e”, con esta opcion creamos (si no existia ya) o editamos el archivo crontab del usuario actual.

Estos archivos se van dejando en /var/spool/cron/crontabs

Todos estos archivos de crontab siguen la misma sintaxis. En ellos tenemos una linea por cada tarea o accion

a ejecutar y esta linea es de la forma:

minutos horas dia-del-mes mes dia-de-la-semana comando

El valor que puede tomar cada campo es como sigue:

- minutos va de 0 a 59 y representa el minuto en que se ejecuta

- horas va de 0 a 23 y representa la hora en que se ejecuta

- dia-mes va de 1 a 31 y es el dia del mes en que se ejecuta

- mes va de 1 a 12 y representa el mes que se ejecuta

- dia-semana va de 0 a 7 y el el dia de la semana en que se ejecuta (el domingo se puede indicar con el 0 o con el 7)

- comando es el comando a ejecutar

Existe un carácter comodín que es el asterisco “*”, con el se indica “Todo” es decir todos los minutos, o todos los meses,

o todos los días.

También se admiten rangos, p.ej: 0-30 indicaría todos los valores de 0 hasta 30, o 15,30,45 indicaría tres valores: 15, 30 y 45

Como comando podemos poner un comando o la ruta a un shell script que queramos ejecutar.

¿Parece complicado?. No, no lo es. Quedara mas claro cuando veamos un ejemplo:

Imagina el siguiente caso:

30 10 * * * tar -cvf /tmp/documentos.tar /home/juaramir/documentos

Esta linea ejecutaria el comando

tar -cvf /tmp/documentos.tar /home/juaramir/documentos

Todos los días (*), todos los meses (*), todos los días de la semana (*) a las 10:30

y me serviría para sacar una copia de seguridad de mi carpeta “documentos”.

¿Empiezas a ver las posibilidades?

Podemos programar tareas que se ejecuten cada hora, o cierto día del mes, o todos los meses, o todos los dias, o solo los

sábados, o miércoles, etc.

Todo depende de la combinación de valores que pongas en esos campos.

Así que, todas esas tareas periódicas que realizas ocasionalmente (un script para que me limpie de archivos no necesarios, copias de seguridad, recordatorios, etc) podrían ser programados para ejecutarse de manera automática.

Vamos a hacer un ejemplo sencillo para que veas como funciona el “mecanismo” de este reloj.

Con tu usuario ejecuta el siguiente comando:

$ crontab -e

aparece un pequeño editor que te permite modificar el archivo crontab actual.

Desplázate hasta la linea por debajo de:

# m h dom mon dow command

y escribe lo siguiente:

* * * * * echo `date` > /home/juaramir/Desktop/cron.txt

Sustituyendo “jose” por el nombre de tu usuario. Lo que acabamos de hacer es “programar” una tarea para el cron. Podriamos ir añadiendo tareas nuevas (siempre 1 en una linea nueva) y se ejecutarían cuando correspondiese.

Con Control+O guardas los cambios y con Control+X terminas.

Asegúrate de que la linea escrita siga el formato que vimos arriba (minuto, hora, mes, etc…) pues en otro caso “cron”

no la entenderá, te dará un error y no la ejecutara.

¿Y que estamos haciendo con esta tarea?

Pues algo muy tonto, pero para que compruebes in “situ” sus posibilidades.

con echo `date` estamos obteniendo la fecha actual y la estamos enviando “>” a un archivo llamado cron.txt que

se guardara en nuestro escritorio.

Como estamos ejecutando ese comando, todos los minutos(*), todas las horas(*), todos los dias(*), etc..

El efecto sera que cada minuto, cambiara el valor almacenado en ese archivo y lo puedes ver fácilmente

editando el archivo “cron.txt” que se estará guardando en tu escritorio cada minuto.

Si todo ha ido bien, podrás ver como cada minuto se modifica el contenido de ese archivo con el instante de tiempo actual.

Si te complicas con la linea de comandos, puedes hacer esto mismo con utilidades graficas como son Kcron (en KDE) , o grontab y gnome-schedule en Gnome.

Te voy a poner ahora otro ejemplo mas interesante. Sacar un backup de tu carpeta home.

Para ello emplearemos este comando:

$ tar -jcvf /tmp/CopiaTotal_etc-home_`date +%d%b%y`.tar.bz2 /home /etc

Que nos comprime y empaqueta a .tar.bz2 nuestras carpetas /home y /etc dejandonos en el directorio /tmp con el nombre

“CopiaTotal_etc-home y la fecha”. Este comando seria para una copia “total”, si ya tuvieramos un backup realizado y solo

quisieramos añadir los archivos nuevos o modificados, ejecutariamos un backup diferencial:

$ tar -jcvf /tmp/CopiaDiferencial_etc-home_01`date +%b%y`-`date +%d%b%y`.tar.bz2 /home /etc -N 01`date +%b%y`

Bueno, esto esta muy bien para comandos simples, pero ¿y si quiero hacer algo mas complejo?

Pues como te he dicho antes. En la linea de “comando” del cron no solo puedes poner un comando.

También puedes, programarte un shell script que hiciera lo que tu quisieras y después lo llamas.

Podría ser algo como esto:

15,30,45 11-12 1,2,3 * * /home/jose/scripts/cambia_wallpaper.sh > /tmp/out.txt 2>/tmp/error.txt

que es:

cada dia 1,2 y 3 de todos los meses.

Para las horas 11 a 12

y minutos 15, 30 y 45

ejecutame el script:

/home/juaramir/scripts/cambia_wallpaper.sh

A este ejemplo le añado 2 redirecciones, que suelen ser útiles cuando estas depurando y quieres guardar trazas de lo que esta pasando.

> /tmp/out.txt

me guarda la salida del shell script (p.ej las lineas que imprima con un “echo”) en el archivo /tmp/out.txt

y

2> /tmp/error.txt

me envia los errores que se produzcan al archivo error.txt (si estas programando un cron que no te funciona, no estariade mas generar una salida de error y consultarla para ver que esta pasando).

Es un ejemplo ficticio, pero solo para que puedas ver el juego que da crontab a la hora de definir rangoshorarios.

Esto solo ha sido una pequeña introducción a “cron”, en internet podras encontrar muchos mas tutoriales sobre esta “pequeña”, “precisa” y “potente” herramienta.

!!!Cuidado!!!, Cuidado con el demonio del tiempo!!!

fuente: http://ubuntulife.net

Cómo cambiar o renombrar tu usuario

Abre un terminal y escribe:

sudo usermod -c "Tu Nombre Verdadero Completo" -l Nuevo_Nombre_Usuario Viejo_Nombre_Usuario.

Por ejemplo, podría quedar:

sudo usermod -c "Juan Ramirez" -l juaramir juan.

  • En este caso, cambiamos el usuario de Juan Ramirez, que antes era juan, por juaramir.

  • Recuerda que para hacer esto la cuenta con la que te loguees debe tener permisos de administrador; de otro modo, no podrás ejecutar el comando sudo.

  • Para verificar los cambios, puedes ir a Sistema > Administración > Usuarios y Grupos.

Deshabilitar el uso de discos USB para un usuario

Una de los problemas de seguridad mas comunes en una empresa es la fuga de información, esto se da generalmente por el acceso restringido al uso de dispositivos de almacenamiento masivo tales como memorias y discos USB, quemadores de CD/DVD, Internet, etc.

Esta vez, les voy a enseñar como podemos restringir el acceso de un usuario a los dispositivos de almacenamiento masivo USB en Linux, de modo que no se pierda el acceso al puerto en caso de tener que conectar un mouse USB o cargar una batería por medio de este.

Nota: todo tipo de dispositivo de almacenamiento masivo USB será deshabilitado, incluyendo reproductores de música, cámaras fotográficas, etc.

Lo primero que debemos hacer es sacar al usuario del grupo plugdev, para esto, ejecutamos la siguiente linea en la terminal:

# gpasswd -d [usuario] plugdev

Esto servirá para que una vez iniciada la sesión, Linux no permita el acceso a estos dispositivos USB, pero no funcionará en caso de que el dispositivo se encuentre conectado desde antes de iniciar el sistema.

Para evitar estas situaciones, debemos hacer un blacklist el modulo usb_storage en el archivo /etc/modprobe.d/blacklist.conf, de la siguiente manera:

# gedit /etc/modprobe.d/blacklist.conf

Agregamos las siguientes lineas al final del archivo abierto:

# Restricción de acceso a dispositivos de almacenamiento masivo USB por Ubunlog.com

blacklist usb_storage

Guardamos y cerramos el archivo editado.

Ahora solo tenemos que reiniciar nuestro sistema para que los cambios surtan efecto.

En caso de que tus puertos USB sigan montando automáticamente los medios de almacenamiento aun después de seguir estos pasos, te recomiendo leer la entrada en Ubuntizando el planeta denominada “Deshabilitar carga de discos USB en Ubuntu (Extreme Edition)“, en ella puedes encontrar algunos pasos a seguir un poco mas drásticos para asegurar la correcta desactivación de los puertos USB para medios de almacenamiento.