Guía avanzada del usuario

Cambiar permisos (chmod)

Use el comando chmod para cambiar los permisos de un archivo o un directorio. El usuario debe ser el propietario del archivo o del directorio, o tener acceso al directorio raíz para cambiar sus permisos. La forma general del comando chmod es:

chmod permisos nombre

donde permisos indica los permisos que se quieren cambiar y nombre es el nombre del archivo o directorio afectado.

Los permisos pueden especificarse de varias formas. A continuación se cita uno de los métodos más sencillos:

  1. Usar una o más letras para indicar los usuarios implicados:

    • u (para el usuario)

  2. g (para el grupo)

  3. o (para otros)

  4. a (all; para todas las categorías anteriores)

  5. Indicar si los permisos se van a agregar (+) o eliminar (-).

  6. Utilizar una o más letras para indicar los permisos:

    • r (read; de lectura)

    • w (write; de escritura)

    • x (execute; de ejecución)

En el ejemplo siguiente, se agrega un permiso de lectura al directorio carrots para los usuarios que pertenezcan al mismo grupo (de esta forma, permisos es g+w y nombre es carrots):

$ ls -l carrots
drwxr-xr-x  3 user2           1024 Feb 10 11:15 carrots
$ chmod g+w carrots
$ ls -l carrots
drwxrwxr-x  3 user2           1024 Feb 10 11:15 carrots
$

Como puede ver, el guión (-) del conjunto de caracteres de grupo se cambia por una w como resultado del uso del comando.

Para que otros usuarios que no pertenezcan al grupo no puedan leer ni ejecutar este mismo directorio (permisos es o-rx), tendría que escribir lo siguiente:

$ ls -l carrots
drwxrwxr-x  3 user2           1024 Feb 10 11:15 carrots
$ chmod o-rx carrots
$ ls -l carrots
drwxrwx---  3 user2           1024 Feb 10 11:15 carrots
$

Ahora, la r (de read) y la x (de execute) del conjunto de caracteres correspondiente a otros usuarios se cambian por guiones (-).

Cuando cree un archivo o un directorio nuevo, el sistema le asignaráautomáticamente permisos.

En general, la configuración predeterminada para los archivos nuevos es:

-rw-r--r--

y para los directorios nuevos es:

drwxr-xr-x

Por consiguiente, para hacer ejecutable un archivo nuevo como turnip su propietario (user2) deberá introducir lo siguiente:

$ ls -l turnip
-rw-r--r--  3 user2           1024 Feb 10 12:27 turnip
$ chmod u+x turnip
$ ls -l turnip
-rwxr--r--  3 user2           1024 Feb 10 12:27 turnip
$

Si quiere afectar a las tres categorías de usuarios a la vez, use la opción a. Si quiere hacer que un archivo nuevo como garlic sea ejecutable por todos, tendrá que introducir lo siguiente:

$ ls -l garlic
-rw-r--r--  3 user2           1024 Feb 10 11:31 garlic
$ chmod a+x garlic
$ ls -l garlic
-rwxr-xr-x  3 user2           1024 Feb 10 11:31 garlic
$

Como resultado de esto, el indicador x aparecerá en las tres categorías.

También puede cambiar los permisos de grupos de archivos o directorios utilizando carácter comodín *. Por ejemplo, para cambiar los permisos de todos los archivos del directorio actual veggies para que sólo el usuario pueda escribir en ellos, deberá escribir lo siguiente:

$ pwd
/home/user2/veggies
$ ls -l
-rwxrwxrwx  3 user2          21032 Feb 12 10:31 beats
-rwxrwxrwx  2 user2             68 Feb 10 11:09 corn
-rwxrwxrwx  3 user2          12675 Feb 08 09:31 garlic
-rwxrwxrwx  1 user2           1024 Feb 14 16:38 onions
$ chmod go-w *
$ ls -l
-rwxr-xr-x  3 user2          21032 Feb 12 10:31 beats
-rwxr-xr-x  2 user2             68 Feb 10 11:09 corn
-rwxr-xr-x  3 user2          12675 Feb 08 09:31 garlic
-rwxr-xr-x  1 user2           1024 Feb 14 16:38 onions
$

En este ejemplo se incluye el comando pwd para mostrar que el directorio en el que realiza la operación chmod debe ser el actual.