El blog de la comunidad de usuarios de Software Libre de la Facultad de Ciencias de la UNAM.
martes, 10 de mayo de 2011
Apache public\_html por usuarios
jueves, 14 de abril de 2011
Logearse como root en una partición externa al sistema operativo.
Consideremos el siguiente escenario.
Alguien desconfiguró el grub principal de la máquina sobre la que trabajamos.
La solución es simple, utilizar el comando grub-install. Sin embargo dado que no podemos montar la partición, deberemos utilizar un usb (cd) rescue (live-cd) y una vez funcionando el sistema en vivo. Procederemos a montar la partición donde tengamos instalado el sistema que contiene el grub a reconfigurar.
Para esto utilizaremos los siguientes comandos:
#Root
:~/$ sudo mkdir /mnt/c
:~/$ sudo mount /dev/sda5 /mnt/c/
sudo mount --bind /dev/ /mnt/c/dev/
:~/$ sudo mount --bind /sys/ /mnt/c/sys/
:~/$ sudo mount --bind /proc/ /mnt/c/proc
# :~/$ sudo chroot /mnt/c/
# :~/$ sudo chroot /mnt/c/ bash
# :~/$ sudo umount /mnt/c/dev
# :~/$ sudo umount /mnt/c/proc
# :~/$ sudo umount /mnt/c/sys
# :~/$ sudo umount /mnt/c/
# :~/$ sudo grub-install /dev/sda9 -f
# :~/$ sudo reboot
Listo!
martes, 12 de abril de 2011
Compilación del Kernel
debemos modificar el archivo de configuración.
lo que vamos a hcer primero es ir al directorio de las fuentes y dar los siguientes comandos.
make mrproper
cp
make oldconfig
make menuconfig
make
make modules
sudo make modules_install
make install
jueves, 31 de marzo de 2011
Conectarse a nuestro servidor nts
10.0.1.43
La carpeta a la que podemos accesar es:
tourette
Debemos instalar los paquetes siguientes:
apt-get install nfs-kernel-server nfs-common portmap
Para conectarnos, sólo hay que montar el sistema de archivos ntfs en nuestro cliente.
mount -t nfs 10.0.1.43:/srv/tourette nfs/
Si se quiere montar automáticamente hay que modificar el archivo /etc/fstab y agregar lo siguiente:
#montar sistema nfs
10.0.1.43:/srv/tourette /media/nfs nfs defaults 1 2
Como poner un cliente NFS
http://www.debianhelp.co.uk/nfs.htm
El Network File System (Sistema de archivos de red), o NFS, es un protocolo de nivel de aplicación, según el Modelo OSI. Es utilizado para sistemas de archivos distribuido en un entorno de red de computadoras de área local. Posibilita que distintos sistemas conectados a una misma red accedan a ficheros remotos como si se tratara de locales. Originalmente fue desarrollado en 1984 por Sun Microsystems, con el objetivo de que sea independiente de la máquina, el sistema operativo y el protocolo de transporte, esto fue posible gracias a que está implementado sobre los protocolos XDR (presentación) y ONC RPC (sesión) .[1] El protocolo NFS está incluido por defecto en los Sistemas Operativos UNIX y la mayoría de distribuciones Linux.
- NULL: no hace nada, pero sirve para hacer ping al server y medir tiempos.
- CREATE: crea un nuevo archivo.
- LOOKUP: busca un fichero en el directorio actual y si lo encuentra, devuelve un descriptor a ese fichero más información sobre los atributos del fichero.
- READ y WRITE: primitivas básicas para acceder el fichero.
- RENAME: renombra un fichero.
- REMOVE: borra un fichero.
- MKDIR y RMDIR: creación/borrado de subdirectorios.
- READDIR: para leer la lista de directorios.
- GETATTR y SETATTR: devuelve conjuntos de atributos de ficheros.
- LINK: crea un archivo, el cual es un enlace a un archivo en un directorio, especificado.
- SYMLINK y READLINK: para la creación y lectura, respectivamente, de enlaces simbólicos (en un "string") a un archivo en un directorio.
- STATFS: devuelve información del sistema de archivos.
- ROOT, para ir a la raíz (obsoleta en la versión 2).
- WRITECACHE: reservado para un uso futuro.
En la versión 3 del protocolo se eliminan los comandos se STATFS, ROOT y WRITECACHE; y se agregaron los siguientes:[3]
- ACCESS: Para verificar permisos de acceso.
- MKNOD: Crea un dispositivo especial.
- READDIRPLUS: una versión mejorada de READDIR.
- FSSTAT: devuelve información del sistema de archivos en forma dinámica.
- FSINFO: devuelve información del sistema de archivos en forma estática.
- PATHCONF: Recupera información POSIX.
- COMMIT: Enviar datos de caché sobre un servidor un sistema de almacenamiento estable.
Instalación, en inglish porqui somos huevones
Installing NFS in Dedian
Making your computer an NFS server or client is very easy.A Debian NFS client needs
# apt-get install nfs-common portmap
while a Debian NFS server needs
# apt-get install nfs-kernel-server nfs-common portmap
NFS Server Configuration
NFS exports from a server are controlled by the file /etc/exports. Each line begins with the absolute path of a directory to be exported, followed by a space-seperated list of allowed clients.
/etc/exports
/home 195.12.32.2(rw,no_root_squash) www.first.com(ro)
/usr 195.12.32.2/24(ro,insecure)
A client can be specified either by name or IP address. Wildcards (*) are allowed in names, as are netmasks (e.g. /24) following IP addresses, but should usually be avoided for security reasons.
A client specification may be followed by a set of options, in parenthesis. It is important not to leave any space between the last client specification character and the opening parenthesis, since spaces are intrepreted as client seperators.
For each options specified in /etc/exports file can be check export man pages.Click here for manpage.
If you make changes to /etc/exports on a running NFS server, you can make these changes effective by issuing the command:
# exportfs -a
viernes, 18 de marzo de 2011
Mecanismo para monitorear la actividad de "su".
SULOG_FILE /var/log/sulog
Obviamente se puede establecer otro archivo como destino.
Determinar cuotas en Linux
Supongamos este escenario:
"Mediante un mecanismo de cuotas, establecer límites en cuanto a la cantidad máxima de espacio asignado y la cantidad máxima de archivos a cada usuario. Concretamente quisieramos establecer un máximo de 200MB de espacio y un máximo de 1000 archivos."
Para solucionar esto debemos habilitar el manejo de cuotas en nuestro sistema Linux-
Debemos instalar los programas de gestión de cuotas. Estos son:
quotacheck y quotaon.
Ambos se encuentran el los repositorios de debian/ubuntu. Por lo que se puede instalar con aptitude. El paquete que contiene estos comandos es quota .
$ sudo aptitude install quota
Dos pasos
1.- Configuración del sistema para el uso de cuotas.
2.- Modificar el archivo /etc/fstab
(este paso debe repetirse para cada partición del disco que se quiera gestionar con cuotas.)
Debemos añadir una línea al final de los scripts de configuración. (/etc/rc.local)
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#Checar cuotas
if [ -x /usr/quotacheck ]
then
echo "Verificando cuotas, esto puede llevar tiempo, vato!"
#Estos argumentos son por esto:
#-a, --all Check all mounted non-NFS filesystems in /etc/mtab
# -v, --verbose quotacheck reports its operation as it progresses. Normally it operates silently. If the option is specified twice, also the current directory is printed (note that printing can slow down the scan measurably).
# -u, --user Only user quotas listed in /etc/mtab or on the filesystems specified are to be checked. This is the default action.
#-g--group Only group quotas listed in /etc/mtab or on the filesystems specified are to be checked.
/usr/quotacheck -avug
echo "completado"
fi
if [ -x /usr/quotaon ]
then
echo "Activando cuotas, carnal!"
/usr/sbin/quotaon -avug
fi
exit 0
Podemos asignar diferentes cuotas para usuarios y grupos.
Supongamos que en el sistema esta un grupo de usuarios de GRASS y queremos asignarle aeste grupo una cuota de disco duro de 500GB. Es bien sabido que los mapas ocupan mucha memoria por lo que hay que restringir un mal uso del disco.
En este ejemplo chafa, el grupo de estos usuarios se puede llamar SIG.
Para cada partición, sobre la que se desee cuota, se necesitarán configurar 3 cosas:
- En el archivo /etc/fstab deberemos agregar la opción usrquota
- En el archivo /etc/fstab deberemos agregar la opción grpquota
- Debemos crear una base de datos de las copias.
Para cada partición se le debe agregar esta opción en el archivo /etc/fstab
En nuestro sistema quedará de la siguiente forma
Más información de fstab en:
https://help.ubuntu.com/community/Fstab
#definir opción de cuotas para la partición 9
#
#/dev/sda9 / ext4 defaults,usrquota,grpquota 0 1
UUID=cdb835e7-460d-49f7-8dad-7956aeef3799 / ext4 errors=remount-ro,usrquota,grpquota 0 1
Aquí estamos especificando que la partición 9 del dispositivo sda, montado en la raíz del sistema con tipo de archivos ext4 tenga las opciones: usrquota, grpquota
Base de datos de cuotas
Debemos crear un archivo para almacenar la información de cuotas de usuario y grupos. Estos archivos están vacios, por defecto. Se encuentran en el directorio. Debemos crear con el comando touch los siguientes archivos en la raiz de la partición.
$sudo touch quota.user
$sudo touch quota.group
Configuración de los parámetros de cuotas
El comando edquota nos da la posibilidad de crear, modificar o eliminar cuotas de usuarios y grupos.
Primero debemos definir los siguiente.
In addition to edquota, there are 3 terms which you should familiarize yourself with: Soft Limit, Hard Limit, and Grace Period.
5.4 Soft Limit
_Soft limit_ indicates the maximum amount of disk usage a quota user has on a partition. When combined with grace period, it acts as the border line, which a quota user is issued warnings about his impending quota violation when passed.
5.5 Hard Limit
Hard limit works only when grace period is set. It specifies the absolute limit on the disk usage, which a quota user can't go beyond his hard limit.
5.6 Grace Period
Executed with the command "edquota -t", grace period is a time limit before the soft limit is enforced for a file system with quota enabled. Time units of sec(onds), min(utes), hour(s), day(s), week(s), and month(s) can be used. This is what you'll see with the command "edquota -t":
Más info en:http://www.faqs.org/docs/Linux-mini/Quota.html
edquota ejecuta un editor de texto para modificar el archivo de cuotas que hemos creado. Por default el editor que ejecuta es el que está definido en la variable de entorno $EDITOR
edquote tiene varios paŕametros. (ver: http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds2/edquota.htm)
Supongamos que queremos editar el usuario juan.
PARA PODER HACER ESTO SERÁ
NECESARIO REINICIAR EL EQUIPO o volver a montar la partición.
$ sudo edquota -u juan
En terminal veremos algo así.
Disk quotas for user juan (uid 1002):
Filesystem blocks soft hard inodes soft $
/dev/sda9 24 0 0 7 0 $
los ceros indican que no hay cuiotas para la cuenta de juan.
Observemos que hay cuota para los i-nodos. Aquí podemos poner la cuota para los archivos.
Para cumplir con nuestro cometido bastará con modificar este script para que quede así.
para saber cuánto vale un bloque debemos ejecutar el comando
$sudo tune2fs -l /dev/sda9
Disk quotas for user juan (uid 1002):
Filesystem blocks soft hard inodes soft $
/dev/sda9 24 45 50 1000 950 $
Para copiar a otros usuarios podemos copiar la configuración con la opción -p
$ sudo edquota -p juan grillo
listo, lo podemos hacer pa todos los usuarios con:
Checar los siguientes comandos para la gestión de cuotas
quotacheck
quotaon
repquota