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:
Usar una o más letras para indicar los usuarios implicados:
u (para el usuario)
g (para el grupo)
o (para otros)
a (all; para todas las categorías anteriores)
Indicar si los permisos se van a agregar (+) o eliminar (-).
Utilizar una o más letras para indicar los permisos:
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:
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.