<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Manipulación de los atributos de los archivos</title><meta name="generator" content="DocBook XSL Stylesheets V1.64.0"><link rel="home" href="index.html" title="Guía de Referencia"><link rel="up" href="cmdline.html" title="Capítulo 3. Introducción a la Línea de comandos"><link rel="previous" href="ch03s01.html" title="Utilitarios de manipulación de archivos"><link rel="next" href="glob-regex.html" title="Patrones de englobamiento del shell"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Manipulación de los atributos de los archivos</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s01.html">Anterior</a> </td><th width="60%" align="center">Capítulo 3. Introducción a la Línea de comandos</th><td width="20%" align="right"> <a accesskey="n" href="glob-regex.html">Siguiente</a></td></tr></table><hr></div><div class="sect1" lang="es"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="cmdline-attr"></a>Manipulación de los atributos de los archivos</h2></div></div><div></div></div><p><a name="BId-cmdline-pa40"></a><a class="indexterm" name="BId-cmdline-it24"></a> <a class="indexterm" name="BId-cmdline-it25"></a>La serie de comandos que se presentan aquí se usan para cambiar el dueño o el grupo propietario <a class="indexterm" name="BId-cmdline-it26"></a> de un archivo o sus permisos. Vimos los diferentes permisos en Conceptos básicos de un Sistema UNIX.</p><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="id2536417"></a>chown, chgrp : cambiar el dueño y el grupo propietario de uno o más archivos</h3></div></div><div></div></div><p><a name="BId-cmdline-pa41"></a><a class="indexterm" name="BId-cmdline-it27"></a> <a class="indexterm" name="BId-cmdline-it28"></a>La sintaxis del comando <span><b class="command">chown</b></span> (<span class="foreignphrase"><i class="foreignphrase">CHange OWNer</i></span>, Cambiar el dueño) es la siguiente:</p><a name="BId-cmdline-sc7"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen"> chown [opciones] <usuario[:grupo]> <archivo|directorio> [archivo|directorio ...] </pre></td></tr></table><p><a name="BId-cmdline-pa42"></a>Las opciones incluyen:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-cmdline-pa43"></a><tt class="option">-R</tt>: recursivo; para cambiar el dueño de todos los archivos y subdirectorios en un directorio dado.</p></li><li><p><a name="BId-cmdline-pa44"></a><tt class="option">-v</tt>: modo verboso; muestra todas las acciones efectuadas por <span><b class="command">chown</b></span>; reporta cuales archivos cambiaron de dueño como resultado del comando y cuales no han cambiado.</p></li><li><p><a name="BId-cmdline-pa45"></a><tt class="option">-c</tt>: como <tt class="option">-v</tt>, pero sólo reporta cuales archivos cambiaron.</p></li></ul></div><p><a name="BId-cmdline-pa46"></a>Algunos ejemplos:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-cmdline-pa47"></a><span><b class="command">chown nobody /shared/libro.tex</b></span> cambiar el dueño del archivo <tt class="filename">/shared/libro.tex</tt> a <b class="userinput"><tt>nobody</tt></b>.</p></li><li><p><a name="BId-cmdline-pa48"></a><span><b class="command">chown -Rc reina.musica *.mid conciertos/</b></span>: atribuye todos los archivos en el directorio actual cuyos nombres terminan con <tt class="literal">.mid</tt> y todos los archivos y subdirectorios del directorio <tt class="filename">conciertos/</tt> al usuario reina y al grupo <b class="userinput"><tt>musica</tt></b>, reportando sólo los archivos afectados por el comando.</p></li></ul></div><p><a name="BId-cmdline-pa49"></a><a class="indexterm" name="BId-cmdline-it29"></a> <a class="indexterm" name="BId-cmdline-it30"></a>El comando <span><b class="command">chgrp</b></span> (<span class="foreignphrase"><i class="foreignphrase">CHange GRouP</i></span>, Cambiar el grupo) le permite cambiar el grupo propietario de un archivo o un grupo de archivos; su sintaxis es muy similar a la del comando <span><b class="command">chown</b></span>:</p><a name="BId-cmdline-sc8"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen"> chgrp [opciones] <grupo> <archivo|directorio> [archivo|directorio ...] </pre></td></tr></table><p><a name="BIdNEW-cmdline-pa125"></a>Las opciones de este comando son las mismas que las de <span><b class="command">chown</b></span>, y se usa de manera muy similar. Por lo tanto, el comando:</p><a name="BId-cmdline-sc9"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">chgrp disk /dev/hd*</pre></td></tr></table><p><a name="BIdNEW-cmdline-pa126"></a>le atribuye al grupo <b class="userinput"><tt>disk</tt></b> todos los archivos en el directorio <tt class="filename">/dev/</tt> cuyos nombres comiencen con <tt class="filename">hd</tt>.</p></div><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="id2536762"></a>chmod : cambiar los permisos sobre los archivos y directorios</h3></div></div><div></div></div><p><a name="BId-cmdline-pa50"></a><a class="indexterm" name="BId-cmdline-it31"></a> <a class="indexterm" name="BId-cmdline-it32"></a>El comando <span><b class="command">chmod</b></span> (<span class="foreignphrase"><i class="foreignphrase">CHange MODe</i></span>, Cambiar el modo) tiene una sintaxis bien particular. La sintaxis general es:</p><a name="BId-cmdline-sc10"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen"> chmod [opciones] <modo> <archivo|directorio> [archivo|directorio ...] </pre></td></tr></table><p><a name="BIdNEW-cmdline-pa127"></a>pero lo que lo distingue son las diferentes formas que puede tomar el cambio de modo. Este se puede especificar de dos maneras:</p><div class="orderedlist"><ol type="1"><li><p><a name="BId-cmdline-pa51"></a>en octal; entonces los derechos del usuario dueño se corresponden con números de la forma <tt class="literal"><x>00</tt>, donde <tt class="option"><x></tt> corresponde al permiso asignado: 4 para permiso de lectura, 2 para permiso de escritura, y 1 para permiso de ejecución; similarmente, los derechos del grupo propietario toman la forma <tt class="literal"><x>0</tt> y los permisos para los “<span class="quote">otros</span>” la forma <tt class="option"><x></tt>. Por lo tanto, todo lo que Usted necesita hacer es sumar los permisos asignados para obtener el modo correcto. Por lo tanto, los permisos <tt class="literal">rwxr-xr--</tt> corresponden a 400+200+100 (permisos del dueño, <tt class="literal">rwx</tt>) +40+10 (permisos del grupo propietario, <tt class="literal">r-x</tt>) +4 (permisos de los otros, <tt class="literal">r--</tt>) = 754; de esta forma, los permisos se expresan en términos absolutos. Esto significa que los permisos previos se reemplazan incondicionalmente;</p></li><li><p><a name="BId-cmdline-pa52"></a>con expresiones: aquí los permisos se expresan con una secuencia de expresiones separadas por comas. Por lo tanto, una expresión toma la forma <tt class="option">[categoría]<+|-|=><permisos></tt>.</p><p><a name="BId-cmdline-pa53"></a>La categoría puede ser una o más de:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-cmdline-pa54"></a><tt class="literal">u</tt> (<span class="foreignphrase"><i class="foreignphrase">User</i></span>. Usuario, permisos para el dueño),</p></li><li><p><a name="BId-cmdline-pa55"></a><tt class="literal">g</tt> (<span class="foreignphrase"><i class="foreignphrase">Group</i></span>. Grupo, permisos para el grupo propietario);</p></li><li><p><a name="BId-cmdline-pa56"></a><tt class="literal">o</tt> (<span class="foreignphrase"><i class="foreignphrase">Others</i></span>. Otros, permisos para los “<span class="quote">otros</span>”).</p></li></ul></div><p><a name="BId-cmdline-pa57"></a>Si no se especifica categoría alguna, los cambios se aplicarán para todas las categorías. Un <tt class="literal">+</tt> garantiza un permiso, un <tt class="literal">-</tt> lo niega y un <tt class="literal">=</tt> lo garantiza. Finalmente, el permiso es uno o más de:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-cmdline-pa58"></a><tt class="literal">r</tt> (<span class="foreignphrase"><i class="foreignphrase">Read</i></span>, lectura);</p></li><li><p><a name="BId-cmdline-pa59"></a><tt class="literal">w</tt> (<span class="foreignphrase"><i class="foreignphrase">Write</i></span>, escritura) o;</p></li><li><p><a name="BId-cmdline-pa60"></a><tt class="literal">x</tt> (<span class="foreignphrase"><i class="foreignphrase">eXecute</i></span>, ejecución).</p></li></ul></div></li></ol></div><p><a name="BId-cmdline-pa61"></a>Las opciones principales son bastante similares a las de <span><b class="command">chown</b></span> o <span><b class="command">chgrp</b></span>:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-cmdline-pa62"></a><tt class="option">-R</tt>: cambiar los permisos recursivamente.</p></li><li><p><a name="BId-cmdline-pa63"></a><tt class="option">-v</tt>: modo “<span class="quote">verboso</span>”, muestra las acciones efectuadas para cada archivo.</p></li><li><p><a name="BId-cmdline-pa64"></a><tt class="option">-c</tt>: como <tt class="option">-v</tt> pero solo muestra los archivos afectados por el comando.</p></li></ul></div><p><a name="BId-cmdline-pa65"></a>Ejemplos:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-cmdline-pa66"></a><span><b class="command">chmod -R o-w /shared/docs</b></span>: quitar recursivamente el permiso de escritura para los “<span class="quote">otros</span>” sobre todos los archivos y subdirectorios del directorio <tt class="filename">/shared/docs/</tt>.</p></li><li><p><a name="BId-cmdline-pa67"></a><span><b class="command">chmod -R og-w,o-x privado/</b></span>: quitar recursivamente el permiso de escritura para el <tt class="literal">grupo</tt> y para los <tt class="literal">otros</tt> sobre todo el directorio <tt class="filename">privado/</tt>, y quitar el permiso de ejecución para los <tt class="literal">otros</tt>.</p></li><li><p><a name="BId-cmdline-pa68"></a><span><b class="command">chmod -c 644 varios/archivo*</b></span> cambia los permisos de todos los archivos del directorio <tt class="filename">varios/</tt> cuyos nombres comiencen con <tt class="filename">archivo</tt> a <tt class="literal">rw-r--r--</tt> (es decir, permiso de lectura para todos y permiso de escritura sólo para el dueño), y reporta sólo los archivos afectados por la operación.</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s01.html">Anterior</a> </td><td width="20%" align="center"><a accesskey="u" href="cmdline.html">Subir</a></td><td width="40%" align="right"> <a accesskey="n" href="glob-regex.html">Siguiente</a></td></tr><tr><td width="40%" align="left" valign="top">Utilitarios de manipulación de archivos </td><td width="20%" align="center"><a accesskey="h" href="index.html">Inicio</a></td><td width="40%" align="right" valign="top"> Patrones de englobamiento del shell</td></tr></table></div></body></html>