Un consejo, solo utilizar la cuenta de root (administrador) para tareas de administracion. Para trabajar normalmente con el sistema NO hacerlo como root, ya que se tiene acceso completo a todo el sistema y es facil de estropear cosas si no se sabe lo que se hace.
Aqui teneis un ejemplo que le ocurrio al autor de esta seccion trabajando como root:
S�lo utilizo la cuenta de root para administraci�n del sistema, pero un d�a estuve demasiado tiempo trabajando con ella para intentar empaquetar un rpm, resulta que lo instal� mal y cre� el directorio/usr/src/redhat/usr/src/redhat/SRC/, claro eso no era lo que quer�a, as� que tecle�:root@asimovI src]$ cd .. root@asimovI /]$ rm -rf *Yo pensaba que estaba dentro del segundo src, pero estaba en el primero, menos mal que me di de cuenta pronto y puls�Ctrl+cpara abortar el comando de borrado mientras se estaba borrando el directorioX11R6, as� que no corromp� por completo el sistema, s�lo tuve que volver a instalar algunos paquetes. Pero �y si no me doy cuenta?, pues que no podr�a haber hecho nada ya que hubiese borrado todo el contenido de/usrno existir�an librerias, comandos, etc, teniendo que haber instalado el sistema operativo de nuevo.
Despues de este ejemplo, volvemos a recomendar lo que dijimos al principio, utilizar la cuenta de root solo en los casos necesarios y siempre teni�ndole un respeto al poder que da. Estar seguros al 100% de lo que haceis como root, para no estropear el sistema. Una buena costumbre es nunca hacer login con root, sino trabajar como un usuario normal y cuando se necesite ser root hacer un su, y tan pronto como deje de ser necesario tener el privilegio hacer un exit, para volver a trabajar como usuario normal.
Aqu� veremos como abrir y cerrar una cuenta de usuario.
Abrir una nueva cuenta.
El abrir una nueva cuenta, no es m�s que a�adir una entrada en el archivo/etc/passwd del sistema. Una entrada en este archivo tiene la siguiente forma:
<user>:<encrip>:<UID>:<GID>:<informacion>:<home>:<shell>
user: Es el nombre de usuario.
encrip: Es la clave encriptada.
UID: Es el n�mero UID con el que nos identificar� el kernel.
GID: El numero de grupo principal GID al que pertenecemos.
informaci�n: Informaci�n varia, tal como nombre completo del usuario,
n�mero de tel�fono, e-mail, etc.
home: Es el directorio home del usuario, es decir, el directorio al que
accedemos justo despu�s de hacer entrar en el sistema.
shell: Es el shell que se abrir� para ejecutar las �rdenes que de el usuario.
Hay utilidades que hacen que a�adir cuentas de usuario sea m�s f�cil. Entre ellas est�n el comando adduser o useradd y passwd. Lo pasos para crear un usuario son:
[root@asimovI /root] adduser mario [root@asimovI /root] passwd marioPara m�s informaci�n hacer
man adduser, sobre todo si se quiere poner caducidad a las claves.
Hay otras utilidades m�s vistosas y f�ciles de usar e intuitivas ya que son bajo X-Windows, un ejemplo de �stas son en el contol-panel de redhat, el YaST en SuSE, el gestor de usuarios de Kde, etc.
Hay que aclarar que si el campo de la clave encriptada del fichero /etc/passwd no contiene ningun valor, no sera necesario la utilizacion de una clave para entrar en el sistema. Esto es totalmente desaconsejable por los problemas de seguridad que puede crear.
Sin embargo es �til, por ejemplo, cuando nos olvidamos de la clave de root, la soluci�n es arrancar con un disket de rescate, luego montar la partici�n de linux, y borrar la clave encriptada de la entrada de root en el fichero
/etc/passwd. Luego reiniciamos el equipo, entramos como root y ejecutamos passwd root para poner la nueva contrase�a.
Borrar una cuenta de usuario.
El comando a utilizar es userdel el cual tiene la siguiente sintaxis:
userdel [-r][login]Este comando borra el usuario login, y si se a�ade la opci�n
-r tambi�n borra su directorio de usuario.
Para borrar una cuenta de usuario tambien se pueden utilizar las utilidades gr�ficas que comentamos antes, de una forma muy intuitiva.
A todos nos a ocurrido alguna vez, que al intentar ejecutar un comando/programa hemos obtenido como respuesta command not found.
Esto significa que el shell no encontro el comando que queriamos ejecutar. Las causas mas comunes suelen ser:
./programa, donde programa es el nombre del ejecutable.
comando --help, para ver si hace falta a�adir variables de entorno, para el uso del mismo.Permission denied.
El error es bien claro, el ejecutable existe pero no tenemos permiso para ejecutarlo, comprueba que lo podemos ejecutar, es decir, tiene una x en el grupo al que pertenezcamos: due�o, grupo, u otros. Mas informacion sobre permisos en la subseccion �C�mo se cambian los permisos de ficheros y directorios?.
Por ultimo, podemos obtener un error en el que se nos informa que cierta librer�a no se encuentra.
Ejecuta el comando:
[asimov@asimovI bin] ldd comandoEsto mostrar� todas las librer�as compartidas que el comando/programa utiliza/necesita para funcionar.
Si no tenemos algunas, las tenemos que instalar, pero si las tenemos tenemos que comprobar que /sbin/ld (el cargador de librer�as din�micas) sabe donde est�n, para ello hemos de a�adir una entrada en el fichero /etc/ld.so.conf que consiste en poner el directorio donde esta la libreria, luego ejecutamos /sbin/ldconfig -D para cerciorarnos que la lee.
El formato de diskettes en Linux depende del tipo de formato que se le desee dar al diskette (tipo MSDOS, tipo FAT32/VFAT, tipo Ext2 de Linux, minix, etc.). En general simplemente hay que usar uno de los comandos mkfs disponibles, que creara el sistema de ficheros pertinente:
Para formatear diskettes en formato Linux-ext2
mkfs.ext2 [opciones] /dev/fd0o bien su equivalente:
mke2fs [opciones] /dev/fd0El usuario que formate deber� tener permiso de escritura para la disketera (normalmente
/dev/fd0). Para eso debe estar en el grupo
de usuarios floppy o que /dev/fd0 tenga permisos 666 (para todo el
mundo).
Para formatear diskettes en formato msdos
mkfs.msdos [opciones] /dev/fd0o bien:
mkdosfs [opciones] /dev/fd0Otro comando disponible si tenemos instaladas las mtools es mformat:
mformat a:Este ultimo comando formateara el diskett en formato ms-dos.
Por �ltimo, existen otros programas como fdformat o superformat (ver paquete fdutils) que tambien sirven para dar formato a diskettes.
NOTA: Formatos del tipo ext2 y ms-dos son los que se utilizan mas usualmente en linux. Hay que aclarar que un diskett con formato ext2 No sera posible leerlo bajo ms-dos o Windows, solamente bajo Linux. Un diskett con formato ms-dos podra ser leido indistintamente por ms-dos, windows o Linux (si tenemos soporte en el kernel para trabajar con este formato).
Montar un sistema de ficheros/dispositivo a nivel usuario no es m�s que hacerlo disponible en el �rbol de directorios de nuestro sistema. Como ya sabeis, en Linux vemos todos los sistemas de ficheros/dispositivos en un s�lo �rbol de directorios, no existen letras a:, c:, etc., as� nos da igual que el contenido de un directorio sea un sistema de ficheros msdos, vfat, ext2, otro que est� en una m�quina remota, etc. Esta abstracci�n tiene un inconveniente, hay que montarlo, es decir, indicarle al kernel de Linux que a trav�s del directorio XXXX, accedemos al sistema de ficheros/dispositivo yyy. Esto se hace con el comando mount (man mount, para detalles).
Montar un sistemas de ficheros/dispositivo a nivel kernel, no es m�s que rellenar unas tablas de registro. Es decir, ver si el sistema de ficheros est� soportado, es decir, si existe la tabla de funciones con las que manejarlo. Luego registrar estas funciones y enlazar el directorio al sistema de ficheros. Esto es m�s bien lo que hace la llamada al sistema mount, la cual es llamada mediante el comando del mismo nombre.
Los parametros necesarios para montar un sistema de ficheros son:
/dev/hda1, /dev/hdb, /dev/sda1,..., none si es el /proc, ya que se realiza sobre la memoria).
Ejemplo: Montar el cdrom en el directorio /dev/cdrom.
mount -t <sistema de ficheros> <Dispositivo> <Directorio> mount -t iso9660 /dev/hdb /mnt/cdromSupongo que ya comprendereis el inconveniente de esto: Cada vez que se quiere acceder a un cdrom se ha de ejecutar el comando anterior, en vez de teclear
d: (como en otros sistemas operativos). Pero la versatilidad y la flexibilidad que ofrece hace que no se tenga en cuenta ese inconveniente (como usuario accedo dentro de un directorio sin que me pase por la cabeza que ese fichero est� al otro lado del planeta utilizando para ello el protocolo nfs).
Existen otras formas de reducir la l�nea de comandos, para ello (entre otras cosas) existe el fichero fstab. En �l se indican los sistemas de ficheros sobre los que trabajamos normalmente: el sistema de ficheros en el que tenemos los directorios de linux, el /proc, la partici�n dos, el cdrom, y el floppy.
El fichero /etc/fstab funciona de la siguiente manera:
Partimos de un ejemplo de contenido de /etc/fstab:
# <device> <mountpoint> <filesystemtype> <options> <dump> <fsckorder> /dev/hda2 / ext2 defaults 1 1 /dev/hda3 /usr ext2 defaults 1 2 /dev/sda1 /home ext2 defaults 1 2 /dev/hdb /mnt/cdrom iso9660 user,noexec,nodev,nosuid,ro,noauto 0 0 /dev/fd0 /mnt/floppy vfat user,noexec,nodev,nosuid,rw,noauto 0 0 none /proc proc defaults 0 0 /dev/hda4 swap swap defaults 0 0 /dev/hda1 /mnt/dos vfat exec,dev,suid,rw,auto 0 0Con la informacion contenida en este fichero, el sistema haria lo siguiente al arrancar el sistema:
/dev/hda1 se montaria en el subdirectorio /mnt/dos/dev/hda2 se montaria en el subdirectorio //dev/hda3 se montaria en el subdirectorio /usr/dev/hda4 se montaria en el subdirectorio como swap/dev/sda1 se montaria en el subdirectorio /homeProc se montaria en el subdirectorio /proc/dev/fd0 y un CD-Rom /dev/hdb, aunque no los monta automaticamente al arrancar por haber definido la opcion noauto./etc/fstab:
En la columna de dispositivo se indica el dispositivo/particion a montar, en la punto de montaje se indica el directoria mediante el cual vamos a acceder al sistema de archivos. En la columna de tipo de sistema de ficheros se indica el sistema de ficheros que se usara sobre el dispositivo.
Las opciones significan lo siguiente:
El fichero /etc/fstab de nuestro ejemplo nos permitir�a hacer lo siguiente para montar un diskett o CD-Rom:
mount /mnt/cdrom mount /mnt/floppyCuando dejamos de utilizar un sistema de ficheros, tenemos que darlo de baja (desmontarlo), para eliminar todas las referencias del kernel a �l. El comando utilizado para esto es
umount.
Para desmontar un sistema de ficheros/dispositivo:
umount <directorio|dispositvo>ej:
umount /mnt/floppy umount /dev/fd0NOTA: Es necesario ejecutar el comando
umount cada vez que cambiemos un diskett, ya que no siempre cuando se escribe en un dispositivo, se realiza autom�ticamente un volcado al dispositivo (por eso se pueden perder datos si se apaga el ordenador a lo bruto). Adem�s si cambiamos el disket sin hacer umount, el kernel piensa que hay el sistema de ficheros anterior y cuando guarda alguna informaci�n lo hace con referencia al retirado, perdi�ndose todo.
Este es un punto a tener en cuenta con el uso de disketts, ya que el mecanismo para retirar un diskett es mecanico, no existe posibilidad de impedir por medio de software que alguien saque un diskett de la disquetera. No ocurre lo mismo con el CD-Rom, ya que el sistema bloqueara la posibilidad de extraerlo cuando este montado.
Solo tenemos que ejecutar los siguientes comandos con un diskette vac�o dentro de la diskettera:
[sromero@localhost]$ /sbin/mke2fs /dev/fd0 [sromero@localhost]$ [ -d /fd ] || mkdir /fd [sromero@localhost]$ mount /dev/fd0 /fd [sromero@localhost]$ cp /boot/boot.b /fd [sromero@localhost]$ cp /vmlinuz /fd [sromero@localhost]$ echo image=/fd/vmlinuz label=linux | /sbin/lilo -C - -b /dev/fd0 -i /fd/boot.b -c -m /fd/map [sromero@localhost]$ umount /fd [sromero@localhost]$rmdir /fdLo que hacen estos comandos es:
/sbin/mke2fs /dev/fd0 -> Formatea el diskette con formato ext2
[ -d /fd ] || mkdir /fd -> Si no existe el directorio /fd lo crea
mount /dev/fd0 /fd -> monta el diskette en dicho directorio.
cp /boot/boot.b /fd
cp /vmlinuz /fd -> Copia el kernel de Linux y el archivo
de boot al diskette. Si nuestro kernel no
se llama vmlinuz (por ej bzImage o zImage)
o no est� en el ra�z debemos cambiar esto.
echo image=... -> Activa el kernel en el diskette.
umount /fd -> Desmontamos el disco
rmdir /fd -> Borramos el dir /fd
Si alguno de los paths o nombres cambia los deberemos cambiar dentro del diskette.
Los ficheros tar no son ficheros comprimidos, sino empaquetados. Tar es un empaquetador, es decir, es algo parecido a un compresor como arj o zip, pero sin compresi�n. Se dedica a incluir todos los ficheros juntos en el mismo archivo, preservando las estructuras de directorios y permisos de los mismos. Como veremos, lo podremos comprimir gracias al programa GZip.
Hay 2 operaciones b�sicas con tar: empaquetado y desempaquetado. Si estamos en un directorio y queremos empaquetar todos los ficheros de este directorio y los que cuelgan de �l, basta con ejecutar la orden:
tar -cvf fichero.tar * c = compress (m�s bien, empaquetar) v = verbose (para que nos diga lo que hace) f = file (empaquetar en un fichero) * (empaquetar todos los ficheros, podr�a haber sido *.doc, etc.)Si disponemos de un fichero .tar y queremos desempaquetarlo:
tar -xvf fichero.tar
x = eXtract (desempaquetar).
Tambi�n es posible listar los contenidos de un fichero .tar antes
de desempaquetarlo, mediante la orden tar tvf fichero.tar .
Por otra parte, el ficheros con extensi�n gz son ficheros comprimidos. A diferencia de arj o zip, el contenido de un fichero GZ es un solo fichero, es decir, cuando comprimimos fichero.txt con este compresor (llamado gzip) obtenemos un fichero.txt.gz de tama�o mucho menor. Con GZ no es posible empaquetar ficheros, es decir, la compresi�n se realiza a un s�lo fichero.
Para comprimir un fichero con gz, se utiliza el comando:
gzip ficheroPara descomprimirlo:
gunzip fichero.gzLa combinaci�n de tar y gz es lo que permite el tener multiples ficheros comprimidos en un s�lo archivo. Es decir, si empaquetamos un directorio con tar y luego comprimimos ese archivo tar con gz, obtenemos un tar.gz comprimido con m�ltiples ficheros.
La compresi�n y descompresi�n es posible hacerla en 2 pasos (primero tar y luego usar gz) o bien usar el flag -z de tar para ello:
Compresi�n:
tar -cvzf fichero.tar.gz *Descompresion:
tar -xvzf fichero.tar.gzOtro formato que se ha puesto de moda es bzip2, con el mismo sistema de funcionamiento que Gzip, y cuyos nombres de ejecutable son
bzip2 (comprimir) y bunzip2 (descomprimir). Este compresor
obtiene mejor compresi�n que Gzip y su funcionamiento es igual
de sencillo, aunque tarda mas en comprimir y utiliza mas recursos.
Estos compresores/descompresores/empaquetadores son una gran
y libre alternativa a formatos comerciales como zip, arj y rar,
tambien disponibles para Linux (comandos zip, unzip, rar y unarj).
Para descomprimir ficheros arj mediante unarj, simplemente
hace falta ejecutar el comando unarj x fichero.arj. El compresor
es shareware y se debe obtener en la Web de sus programadores.
Zip es el programa destinado a hacer Linux capaz de leer y
escribir los ficheros en formato .zip (generados por pkzip o
winzip): Para ello tenemos los comandos zip e unzip, que nos
permitiran comprimir y descomprimir ficheros sueltos, directorios
completos, directorios con recursividad, etc:
Para comprimir todos los ficheros de un directorio en un zip:
zip fichero.zip *Para comprimir este directorio y todos los que cuelguen del mismo:
zip -r fichero.zip *La descompresi�n se realiza mediante unzip:
unzip fichero.zipEl programa rar tambi�n es un buen compresor que podemos encontrar en diferentes formatos (rpm, deb, tar.gz) en Internet. Su uso es identico a la versi�n MSDOS:
Comprimir:
rar a fichero.rar *Descomprimir:
rar x ficheroPara m�s informaci�n sobre cualquiera de los des/compresores basta con consultar la p�gina man del mismo, mediante "man comando".
Los paquetes rpm son archivos que llevan incluidos dentro de ellos todos los ficheros que componen un determinado programa. Internamente est�n comprimidos, pero nosotros s�lo debemos pensar en ellos en t�rminos de Instalaci�n, Actualizaci�n, Borrado y Consultas. Dentro del rpm van los ficheros del programa a instalar, su descripcion, a que directorios van a ir instalados, scripts de auto-configuraci�n en algunos casos, etc.
La sintaxis de rpm es rpm -accion nombre_del_paquete
Acciones:
rpm -i archivo (instalar) rpm -e paquete (desinstalar) rpm -u paquete (actualizar) rpm -qi paquete (pedir info)Ejemplos:
rpm -i Par-1.50-1.i386.rpm rpm -e Par rpm -u Par rpm -qi ParSupongamos el fichero
programa-1.0.rpm que no tenemos instalado
y que acabamos de bajar de Internet. Procedemos a su instalaci�n:
rpm -i programa-1.0.rpmTras eso el programa estar� instalado en nuestro Linux y podremos ejecutarlo y usarlo normalmente. Tal vez nuestro problema es que no sabemos como se llama el ejecutable y los dem�s ficheros de configuraci�n que le acompa�an. Para solucionar eso hacemos una consulta (query) del paquete ya instalado:
rpm -ql programaLa acci�n -ql significa "query list", y nos mostrar� en pantalla la lista de ficheros instalados de este programa y sus directorios destinos. Si por ejemplo deseamos ver s�lo los fichero sean instalados en los directorios bin (los ejecutables) podemos hacer uso de grep, la herramienta de Linux que s�lo nos mostrar� aquellas l�neas que contengan una cadena determinada:
rpm -ql programa | grep binEsto nos mostrar� s�lo los ficheros de "programa" que hayan sido instalados en directorios bin.
Si queremos saber que hace un paquete instalado, podemos verlo con la opci�n "query info" (-qi):
rpm -qi programaComo ejemplo, veamos la salida para el paquete fetchmail de Linux:
Name : fetchmail Relocations: (not relocateable) Version : 5.0.0 Vendor: Red Hat Software Release : 1 Install date: dom 30 may 1999 16:00:12 CEST Group : Applications/Internet Size : 565413 Packager : Red Hat Software http://developer.redhat.com/bugzilla Summary : A remote mail retrieval and forwarding utility. Description : Fetchmail is a remote mail retrieval and forwarding utility intended for use over on-demand TCP/IP links, like SLIP or PPP connections. Fetchmail supports every remote-mail protocol currently in use on the Internet (POP2, POP3, RPOP, APOP, KPOP, all IMAPs, ESMTP ETRN) for retrieval. Then Fetchmail forwards the mail through SMTP, so you can read it through your normal mail client.Si el programa no nos gusta, la deinstalaci�n es muy sencilla:
rpm -e programaObviamente, no tenemos porqu� instalar los programas para ver su contenido o informaci�n. Los podremos ver antes de la instalaci�n insertando un comando p antes de la acci�n:
rpm -qpi fichero.rpm rpm -qpl fichero.rpmSi queremos ver la lista de RPMs instalados disponemos del comando "query all" (-qa):
rpm -qaPara verlo en formato pausado, podemos usar una tuber�a:
rpm -qa | lessEs posible que tras un tiempo obtengamos la versi�n 2.0 del programa que ya disponemos instalado. En esto caso hay 2 opciones: bien eliminar el programa anterior (-e) e instalar este nuevo (-i), o, simplemente, actualizar el programa a la versi�n 2.0 con el comando -U (de Update):
rpm -U programa-2.0.rpmPor �ltimo, si al tratar de instalar un paquete rpm aparece el siguiente error:
Data type X not supprtedEsto es debido a que nuestra versi�n de rpm es muy antigua, al menos m�s que el rpm que estamos tratando de instalar, y que este tiene alg�n tipo de compresi�n o elemento que nuestro rpm no entiende. Bastar� entonces con actualizar nuestro ejecutable del RPM.
Cabe decir que tambi�n existen front-ends al programa rpm, es decir, programas en modo gr�fico (o texto) que realizan las acciones del programa RPM mediante pulsaciones nuestras del rat�n. Es el front-end el que se encarga de pasarle a RPM los par�metros correctos para que se realice la acci�n pedida por el usuario. Entre estos programas tenemos glint, gnorpm, purp, kpackage, xrpm, etc.
Al igual que el formato RPM, los .DEB encapsulan todos los ficheros
y scripts vinculados a un determinado programa pero para la
distribuci�n Debian. Adem�s de disponer de herramientas de instalaci�n como
dselect, se incluye la posibilidad de instalaci�n manual mediante las
diferentes opciones del programa dpkg:
Instalaci�n de paquetes deb:
dpkg -i nombre_del_paquete.debPara hacer consultas:
dpkg -s nombre_del_paquete (admite comodines)Para desinstalar:
dpkg -r nombre_del_paqueteEl resto de opciones de dpkg puede verse con
man dpkg.
Alien es un programa que permite convertir un paquete binario entre los formatos rpm (Redhat, Suse), deb (Debian) y tgz (Slackware):
Conversion a .DEB:
alien --to-deb paquete.elqueseaConversion a .RPM:
alien --to-rpm paquete.elqueseaConversion a .TGZ:
alien --to-tgz paquete.elqueseaExisten otros flags (como -i) que permiten directamente tras la conversi�n realizar la instalaci�n del paquete generado. Alien realiza la conversi�n descomprimiendo el paquete original y generando el nuevo paquete, dici�ndonos el lugar del �rbol de directorios donde dejar� el paquete reci�n generado, seg�n la distribuci�n (por ejemplo, en Redhat en
/usr/src/redhat/RPMS/).
Lo primero que hay que decir es, que para conseguir toda la informacion sobre los comandos involucrados en el tema de permisos podeis consultar man chmod, man chown y man chgrp
Informacion de un fichero/directorio
Cuando obtienes informacion sobre un fichero/directorio, existen diferentes campos que te dicen que clase de permisos el fichero/directorio tiene.
Ej: [user@localhost]# ls -l -rwxr-x--- 1 pepito depart1 4348 Nov 24 16:19 testEn la primera columna se pueden ver una serie de letras
-rwxr-x---, estas letras nos dicen quien en el sistema, y que clases de permisos tiene el fichero test.
Estas letras estan agrupadas en tres grupos con tres posiciones cada uno, mas una primera posicion que nos dice de que clase de archivo se trata (los mas normales (d) directorios, o (-) archivos de datos). En nuestro ejemplo la primera posicion es (-) con lo cual el archivo test, es un archivo de datos (binario/ejecutable en este caso).
El primer grupo de tres (rwx en nuestro caso) nos dice que clase de permisos tiene el due�o del fichero (u)(user/owner)).
El segundo grupo de tres (r-x en nuestro caso) nos dice que clase de permisos tiene el grupo del fichero (g)(group).
Y el ultimo grupo de tres (--- en nuestro caso) nos dice que clase de permisos tienen todos los demas usuarios del sistema sobre este fichero(o)(others).
r :significa permiso para leer w :significa permiso para escribir x :significa permiso para ejecutarLa segunda columna
pepito, nos dice quien es el due�o del fichero,(pepito en este caso). depart1, nos dice cual es el grupo del fichero (depart1 en este caso). 4348, nos dice el tama�o del fichero. Nov 24 16:19, nos dice cual es la fecha y hora de la ultima modificacion. test, nos dice cual es el nombre del fichero/directorio. Asi pues, el fichero test de nuestro ejemplo tiene los siguientes permisos:
pepito puede leer, escribir/modificar, y ejecutar el fichero test.
depart1 puede leer, y ejecutar pero no escribir/modificar.
Los demas usuarios no pueden hacer nada, ni leerlo, ni escribir/modificar, ni ejecutarlo.
Como cambiar los permisos/due�o/grupo de un fichero/directorio?:
Para cambiar el due�o del fichero: chown usuario fichero
Para cambiar el grupo del fichero: chgrp usuario fichero
Para cambiar los permisos se utiliza el comando: chmod permisos fichero
Los permisos se pueden especificar de diferentes maneras, una serie de ejemplos, es lo mejor para comprenderlo:
chmod ugo+rwx test (da permisos rwx a todos, user,group,others) chmod ugo-x test (quita permiso x (ejecucion) a todos, user,group,others) chmod o-rwx test (quita permisos rwx a others) chmod u=rwx,g=rx test (da permisos rwx a user, rx a group y ninguno a others)Asi podrias continuar con todas las posibles combinaciones de letras, es cuestion de usar la imaginacion ;-)
Existe otro metodo que utiliza numeros, en vez de letras para asignar permisos, la siguiente tabla nos puede ayudar un poco a comprender esta manera:
r w x VALOR DECIMAL 0 0 0 0 (000 binario es 0 en decimal) 0 0 1 1 ......... 0 1 0 2 ......... 0 1 1 3 ......... 1 0 0 4 (100 binario es 4 en decimal) 1 0 1 5 ......... 1 1 0 6 ......... 1 1 1 7 (111 binario es 7 en decimal)
1 significa activado y 0 desactivado, o sea 101 activa r y x, y desactiva w.
Sabiendo esto solo tenemos que usar el valor decimal, un ejemplo aclarara esto.
chmod 750 test da permisos rwx al usuario (7=111) da permisos r-x al grupo (5=101) da permisos --- a los demas (0=000)
Para apagar el equipo tienes que hacerte superusuario y hacer:
[asimovI@localdomain root]# shutdown -t3 -h now
Esto parar�a todos los procesos en curso, har�a sync, entrar�a en el runlevel 0, y desmontar�a todas las particiones. El proceso de parada llegar�a cuando se observa system halted, y si la fuente lo permite y se compil� el kernel con esa opci�n, el ordenador se apaga automaticamente sin necesidad de pulsar el boton de apagado.
La opci�n h viene de halt (parar), y hace que se mantenga parado despu�s de todo el proceso de apagado. La opci�n now indica que lo haga ahora, esta opci�n se puede sustituir por un n�mero los minutos a esperar antes de realizar el shutdown.
Para reiniciar el equipo tienes que hacerte superusuario y hacer:
[asimovI@localdomain root]# shutdown -t3 -r nowPues como hab�as imaginado hace lo mismo que la anterior pero en vez de ponerse en
system halted se pone en system reboot y reinicia.
Existe otro m�todo que consiste el accionar tres teclas, s�, esas que tanto hay que usar en otros sistemas operativos ( aunque cada vez menos ya que apenas los usamos), las CAS (Ctrl+Alt+Supr). Pues bien, en el proceso de arranque de Linux, cuando lee la /etc/inittab existe una entrada que asocia estas tres teclas a un comando. Si lo ves ver�s que lo asocia al comando anterior.
# Trap CTRL-ALT-DELETE ca::ctrlaltdel:/sbin/shutdown -t3 -r nowUn consejo:
En los m�todos anteriores es necesario ser superusuario ya que el comando shutdown lo requiere. Cosa l�gica ya que sino cualquier usuario de la m�quina lo podr�a echar abajo. Esto hace bastante inc�modo el apagarlo, por lo que un consejo pr�ctico es ir a la /etc/inittab y cambiar la -r por la -h del comando que se une a las CAS, esto asociar� el apagar el sistema a las tres teclas y no al reiniciarlo. Con esto ya no es necesario hacerse superusuario, sino estar sentado delante del ordenador a apagar.
Nota: En los kerneles 2.2.x hay que modificar una l�nea en el /etc/rc.d/*halt. En d�nde llame al halt, hay que a�adirle la opci�n -p. Si no lo que hace es reboot.