give - linux permissions calculator
CD en el directorio sin tener permiso (6)
Al ingresar a uno de mis directorios llamado openfire
el siguiente error:
bash: cd: openfire: Permission denied
¿Hay alguna forma de evitar esto?
A menos que tenga permisos de sudo para cambiarlo o está en su propio grupo de usuarios / cuenta, no podrá acceder a él.
consulte chmod man
en la terminal para obtener más información sobre cómo cambiar los permisos de un directorio.
Ingrese al modo superusuario y cd en el directorio en el que no tiene permiso de acceder. Sudo requiere una contraseña de administrador.
sudo su
cd directory
La respuesta de @ user812954 fue bastante útil, excepto que tuve que hacer esto en dos pasos:
sudo su
cd directory
Luego, para salir del modo "superusuario", simplemente escriba exit
.
Si es un directorio de su propiedad, concédase acceso a él:
chmod u+rx,go-w openfire
Eso le otorga permiso para usar el directorio y los archivos en él ( x
) y para listar los archivos que están en él ( r
); también niega que el grupo y otros escriban permisos en el directorio, lo que generalmente es correcto (aunque a veces desee permitir que el grupo cree archivos en su directorio, pero considere usar el bit adhesivo en el directorio si lo hace).
Si se trata del directorio de otra persona, es probable que necesites ayuda del propietario para cambiar los permisos y poder acceder a él (o necesitarás ayuda de root
para cambiar los permisos).
Tienes varias opciones:
- Use una cuenta de usuario diferente, una con los permisos de e
x
ecute en ese directorio. - Cambie los permisos en el directorio para permitir que su cuenta de usuario e xecute permisos.
- Utilice
chmod(1)
para cambiar los permisos o - Use el
setfacl(1)
para agregar una entrada de lista de control de acceso para su cuenta de usuario. (Esto también requiere el montaje del sistema de archivos con la opciónacl
; consultemount(8)
yfstab(5)
para obtener más información sobre el parámetro de montaje).
- Utilice
Es imposible sugerir el enfoque correcto sin saber más sobre el problema; ¿Por qué los permisos de directorio se establecen tal como están? ¿Por qué necesitas acceso a ese directorio?
chmod +x openfire
funcionó para mí. Agrega permiso de ejecución a la carpeta openfire.