¿No les ha pasado que van por ahí desprevenidos subiendo archivos por FTP vía SSH y de repente el servidor les deniega el acceso por que no tienen permisos de escritura? Seguramente no. Pero si este es su caso, estos son los comandos que necesita para lidiar con el asunto.
Normalmente la carpeta pública de un servidor (public_html, www, hmtl,…) tiene permisos de escritura configurado para un grupo de usuarios llamado www-data o cosa parecida. El primer paso es agregar nuestro usuario a ese grupo (este usuario es el mismo usuario de la conexión SSH), con estos 3 comandos:
sudo adduser <usuario> www-data sudo chown -R www-data:www-data /var/www sudo chmod -R g+rwX /var/www
Es posible que el grupo tenga otro nombre o que la ruta a su directorio público sea otro, ajuste según el caso.
Otro caso común es cuando uno sube archivos y quedan con los permisos que no son. Esto puede ser muy peligroso, contando con que puede dejarse un archivo que permita escritura de cualquier usuario. Para corregir esto, estando dentro del directorio público, correr estos 2 comandos:
sudo find . -type f -exec chmod 644 {} \; sudo find . -type d -exec chmod 755 {} \;
Que configuran los permisos de las carpetas y los archivos respectivamente.
Otra operación común es tener que asignar la propiedad de los archivos del directorio público, para eso, correr el siguiente comando, estando dentro del directorio:
sudo chown -R usuario:usuario .
Claro está que el comando lo tiene que ejecutar un superusuario, con permisos para asignar estos permisos.
Para verificar los permisos de los archivos que hay dentro de un directorio:
ls -l
Y sin ánimo de menospreciar a nadie, y solo en caso de que alguien no lo sepa, para ver que hay dentro de un directorio:
ls
para entrar a una carpeta
cd nombreCarpeta
Y para salirse (ir un nivel más atrás) cd ../
cd ../
Y finalmente, puede que tengan que poner o quitar sudo de cada comando, según sea su configuración.
Con esto podrán moverse y navegar dentro de su sistema de archivos con confianza.