InicioLinuxThe chmod command
Chmod Files



The chmod command



Una de las dudas mas habituales cuando nos enfrentamos a la instalación de scripts (perl, php) es la asignación de los permisos correspondientes.

Las preguntas sobre CHMOD suelen ser las mas habituales en todos los foros que se dedican a estos temas. En este artículo abordaremos que son los permisos, para que sirven, y como asignarlos.
Los script y los permisos



CHMOD Change mode
es un comando UNIX que permite cambiar los permisos de acceso de un archivo. Cada archivo tiene nueve clases de acceso, que pueden ser permitidas o denegadas. Se pueden aplicar diferentes permisos al dueño del fichero, al grupo al que el fichero pertenece y al resto de usuarios. Cada una de estas tres clases de usuarios (dueño, grupo, resto de usuarios) puede tener permisos de lectura, escritura y ejecución

Al instalar cualquier archivo en una página web, podemos definir sus propiedades, para determinar en que forma será accesible para los visitantes de la página.
Estas propiedades son lo que llamamos permisos y segun cuales asignemos a cada archivo este será solo de lectura, de escritura o ejecutable, o cualquier combinación de los tres.


Piensa por ejemplo en una página de html sencilla, respecto de la cual solo nos interesa garantizar que todo el mundo pueda verla pero no modificarla; el archivo que contiene esa página necesita unicamente permisos de lectura, pero no de ejecución ni de escritura. Por contra, si se trata de un script, necesitará probablemente permisos de lectura y de ejecución, etc.
La orden CHMOD

En este documento nos referimos a la asignación de permisos en servidores unix (unix, linux, freebsd, todos ellos pertenecientes a la familia unix, y con diferencia los mas difundidos en la red). La asignación de permisos se hace mediante el comando CHMOD.

Por eso, cuando al leer las instrucciones de instalación de cualquier aplicación web te encuentres con la misteriosa frase "haz chmod 666 tal_archivo.htm" ten en consideración que nos estan diciendo los permisos que ese archivo necesita.



El concepto de usuario en UNIX



El sistema operativo UNIX esta diseñado para ser multiusuario. Por ello UNIX permite tres niveles de acceso a los archivos, para tres categorias diferentes de usuarios:

owner (propietario) La persona que el sistema reconoce como dueño del archivo.

Group (grupo): Conjunto de usuarios con permisos similares. Muy usado en entornos de trabajo, es de escasa aplicación en páginas web.

Other (otros): Cualquier otra persona.


Es un error asociar el concepto de usuario a una persona real. Se trata de una abstracción, que se refiere no a personas sino a categorias. Por ejemplo, si nosotros creamos un script, somos efectivamente sus autores y propietarios; pero ese script esta destinado a la red. Nosotros, y el resto de personas, accederan al archivo no a traves de nuestra maquina local sino por internet. Es frecuente en los servidores la creación de usuarios genéricos (root, www, www-user etc). En definitiva no olvides que cuando asignas permisos a un script, el owner puede ser cualquiera que visite la página, lo cual será necesario si como es normal se trata de scripts que se administran via web.

Tipos de permiso de acceso:
Read (lectura): Permiso para ver el archivo o directorio, sin hacer cambios.

Write (escritura): Permiso de escritura: puede escribir el archivo, y por tanto, cambiarlo.

Execute (ejecución): El archivo o directorio puede ser ejecutado. Se usa para directorios con scripts, formularios, etc ...

Y tratándose de directorios:

read listar los archivos de un directorio

write añadir nuevos archivos al directorio

execute acceder a los archivos del directorio


openvpn


Como conozco los permisos de un archivo ?

Si tenemos acceso ftp al servidor, tecleamos el comando ls -l y vemos algo asi:

-rw-r--r-- 1 irvnet irvnet 1272 Sep 28 07:31 index.php
| // / | | | |
| | | | | | tamaño nombre del archivo
| | | | | |_ nombre grupo
| | | | |
| | | | |_ nombre usuario
| | | |
| | | |_ Permisos genericos
| | |
| | |_ Los siguientes tres digitos los permisos del Group
| |
| |___ los siguientes tres caracteres determinan los permisos del owner:
| r de real, lectura; w, write, escritura y x de
| execute, ejecución
|
|
|___ El primer carácter indica si nos encontramos ante un directorio o un
fichero: d significa directorio, - significa fichero,
l significa link


Advierte que tenemos TRES categorias de usuarios _"user," "group," y "other"_ y para categoria pueden asignarse TRES tipos de permisos: "r," "w," y "x".
Fijando permisos

La orden chmod puede usarse con letras o numeros. La forma mas corriente es expresar los permisos numericamente. Seguro que lo has visto por ahi, chmod 777 etc ...
Para comprender el significado tienes que tener en cuenta que convencionalmente 4 significa permiso de lectura. 2 permiso de escritura y 1 permiso de ejecución. Sumando estos valores vemos que un archivo puede tener los siguientes permisos (por cada tipo de usuario):

4= lectura
2= escritura
1= ejecución

6 (4+2)= lectura y escritura
5 (4+1)= lectura y ejecución
3 (2+1)= escritura y ejecución
7 (4+2+1)= lectura, escritura y ejecución


Todo ello para los tres tipos de usuario.

Asi, un chmod file 777 significa que owner, group y others tienen permiso de lectura, escritura y ejecución. chmod 766 significa que el owner tiene permiso de lectura, escritura y ejecución, y el group y others permiso de lectura y escritura. Chmod 744 significa que el owner tiene permisos de lectura, escritura y ejecución, y group y others unicamente permisos de lectura.

Como ves, son tres digitos, de izquierda a derecha designan los permisos del owner, group y others.

Vemos a continuación su equivalente en letras:

0 = --- = sin acceso
1 = --x = ejecución
2 = -w- = escritura
3 = -wx = escritura y ejecución
4 = r-- = lectura
5 = r-x = lectura y ejecución
6 = rw- = lectura y escritura
7 = rwx = lectura, escritura y ejecución

Asi, en el ejemplo de antes:

rw-r--r--

significa que el owner tiene permisos de lectura y escritura (rw-); el group permisos de lectura unicamente (r--) y other, permiso de lectura (r--). ¿como seria el equivamente numerico? sería chmod 644.

La sintaxis para usar chmod con texto:
chmod [ugo][+-][rwx] [nombre_archivo]

Donde [u=user, g=group y o=other]; [+/- activa o desactiva los atributos siguientes] [r=read, w=write, x=execute]

Por ejemplo, chmod go+r index.php significa que asignamos permisos de lectura para group y others en index.php

De esta forma solo cambiamos los atributos que especificamos, pero no alteramos otros compatibles que pudieran estar asignados anteriormente) por ejemplo, no modifica la atribucion anterior a group de un permiso de ejecución).

Si queremos fijar de nuevo todos los permisos, la sintaxis sería:

chmod go=r index.php donde asignamos a group y other permiso de lectura sobre index.php y eliminamos cualquier otro permiso para ambos.

Ten encuenta asimismo que puedes usar comodines:

chmod 644 *



Fuente
http://www.ignside.net/man/ftp/chmod.php


Uso del comando RPM en Linux



En esta publicación usted encontrará información básica sobre el comando rpm que administra los paquetes RPM en Linux.


1. Instalar un paquete RPM – usted puede usar este comando:

# rpm -ivh algunpaquete.arc.rpm

2. Desinatalar un paquete RPM – usted puede usar el siguiente comando:

# rpm -e nombredelpaquetarpm

# rpm -e horde (e.g.)

3. Actualizar un paquete RPM – se debe usar este comando:

# rpm -Uvh algunpaquete.arc.rpm

Nota: Cuando este comando es utilizado, RPM no desinstala la versión anterior del paquete e instala la nueva versión.



4. Consulta de un paquete RPM – usando el siguiente comando:

# rpm -q nombredelpaquete
E.g.:
[root@ns]# rpm -q glib
glib-1.2.10-15

Note: El comando rpm -q mostrará el nombre del paquete, la versión y el número de la realización del paquete instalado. Usted puede usar este comando para verificar si el paquete está instalado o no en el sistema.

5. Información del Paquete RPM – al usar este comando:
# rpm -qi paquete
Ej.:
[root@ns]# rpm -qi php


Name : php Relocations: (not relocatable)
Version : 5.2.6 Vendor: http://www.atomicrocketturtle.com/
Release : 1.el5.art Build Date: Fri 02 May 2008 05:17:44 PM BRT
Install Date : Mon 16 Jun 2008 02:03:10 PM BRT Build Host: build.atomicorp.com
Group : Development/Languages Source RPM: php-5.2.6-1.el5.art.src.rpm
Size : 10040864 License: PHP
Signature : DSA/SHA1, Mon 05 May 2008 05:03:11 PM BRT, Key ID 32a951145ebd2744
Packager : Scott Shinn <[email protected]>
URL : http://www.php.net/
Summary : The PHP HTML-embedded scripting language. (PHP: Hypertext Preprocessor)


Description : PHP is an HTML-embedded scripting language. PHP attempts to make it easy for developers to write dynamically generated webpages. PHP also offers built-in database integration for several commercial and non-commercial database management systems, so writing a database-enabled webpage with PHP is fairly simple. The most common use of PHP coding is probably as a replacement for CGI scripts.
The php package contains the module which adds support for the PHP language to Apache HTTP Server.
Como usted puede observar este comando muestra la información del paquete, incluyendo el nombre, versión, y descripción del programa instalado.


6. Lista de archivos del paquete rpm – usando este comando:

# rpm -ql package
Ej.:
[root@ns]# rpm -ql php
/etc/httpd/conf.d/php.conf
/usr/lib/httpd/modules/libphp5.so
/var/lib/php/session
/var/www/icons/php.gif

Nota: Este comando mostrará la lista de todos los archives instalados por el paquete RPM. Por lo tanto esto funcionará solamente cuando el paquete se encuentre instalado en su sistema

7. Verificar la firma de un paquete RPM – usted puede usar este comando:

# rpm –checksig paquete

Nota: Este comando verifica la firma PGP del paquete para asegurarse de la integridad y origen del mismo, siempre es recomendable realizar la verificación.
Datos archivados del Taringa! original
12puntos
733visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

_
_Samael_0🇦🇷
Usuario
Puntos0
Posts17
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.