Tengo un usuario ftpadmin:
-bash-3.2$ id ftpadmin
uid=10001(ftpadmin) gid=2525(fsg) groups=2525(fsg),10005(git)
El grupo importante a tener en cuenta es "git"
Luego tengo mi repositorio git:
ls -al
drwxrwxr-x 7 git git 4096 Apr 20 14:17 fsg
Por lo tanto, ftpadmin es miembro de git, y git ha otorgado todos los permisos a las personas del grupo. ¿Por qué veo esto cuando inicio sesión como ftpadmin:
-bash-3.2$ ls -al /home/git/
ls: /home/git/fsg: Permission denied
...
Parece que debería tener permiso ...
Actualizar Los permisos en / home / git son
drwxrw-rw- 6 git git 4096 Apr 26 09:20 git
todavía se ve bien ...
Los nuevos permisos de actualización en / home / git son:
drwxrwxrw- 6 git git 4096 Apr 26 09:20 git
Los permisos en / home / git / fsg son:
drwxrwxr-x 7 git git 4096 Apr 20 14:17 fsg
Sin embargo, sigo teniendo
ls: /home/git/fsg: Permission denied
ls: /home/git/fsg: Permission denied
linux
permissions
Tony
fuente
fuente
/home/git
?drwxrwxr-x
si desea que sea de solo lectura para los miembros que no pertenecen al grupo pero que los miembros del grupo pueden cambiar; debería serdrwxrwx---
si solo quieres que los miembros del grupo estén solos en él.Respuestas:
Quería darle a mpez0 un +1 específicamente, por su respuesta "Necesita el bit del grupo" x "establecido en el directorio para permitir búsquedas grupales. Los permisos" rw- "permiten abrir un archivo dado su nombre (r) o crear un archivo (w), pero no enumera ni busca los archivos (x) ".
Es muy fácil de olvidar, y su solución está enterrada en el medio. Este es definitivamente un problema para los nuevos usuarios de Linux con respecto a los permisos de archivo / directorio para usuarios y grupos.
Todo lo que Avery dijo estaba en lo cierto, nuevamente deseo que yo también pudiera darte un +1.
La figura otro ejemplo más detallado podría ayudar a los nuevos usuarios de Linux ( no buscan ningún crédito, solo proporcionan otro ejemplo para mayor claridad ). En mi propia PC, quería crear un usuario adicional para un proyecto de desarrollo específico. Estaba probando algunos problemas de SSH, SFTP entre mi máquina y un servidor compartido en la web. Obtuve el mismo error de "Permiso denegado" después de configurar todo ... y sí, parecía correcto, excepto por el problema de búsqueda basado en los permisos para otros que señaló mpez0.
Nota: Para los nuevos usuarios de Linux, los permisos son usuario, grupo, otro o rwx, rwx, rwx respectivamente y se verían así
Para 'otro', se nos recuerda que NO es suficiente encontrar / buscar el directorio, por lo tanto, el mensaje de error.
Esto es lo que hice (encontré el mensaje de error en el paso 6)
1) creó un usuario, hoiuser (para ver la información del usuario, puede usar el cmd de dedo, "hoiuser de dedo" o leer el archivo 'cat / etc / passwd')
2) creó un grupo, hoidevs (usuario agregado "hoiuser" al grupo)
Recuerde que debe cerrar sesión e iniciar sesión nuevamente para que los nuevos permisos de "grupo" se asocien con la ID de la cuenta.
3) chgrp hoidevs para el directorio / home / userz / data / Sites / hoi y creó un lugar para los archivos
4) Abrí una ventana de terminal, el usuario userz estaba activo
5) su - hoiuser (cambiado a usuario hoiuser)
6) Intento de cd / home / userz / data / Sites
7) Cambió los permisos para Sitios
Y voila problema solucionado ... aquí está la prueba
Incluso nosotros, los usuarios experimentados de Linux / Unix, necesitamos un recordatorio de vez en cuando.
Como se señaló, no es suficiente otorgar los permisos correctos al directorio donde están los archivos, también debe asegurarse de que todos los directorios que conducen a ese directorio tengan los permisos correctos, especialmente la capacidad de "otros" para "buscar" y buscar el directorio y los archivos. Difícilmente intuitivo cuando x significa ejecutar, correcto.
Mi estructura de subdirectorio era: / home / userz / data / Sites / hoi / html /
Comenzando desde casa
Esta era mi estructura de directorio ANTES del chmod
Esta fue mi estructura de directorio DESPUÉS del chmod
Tenga en cuenta que el único cambio fueron los permisos de rx para 'otros' para el directorio 'Sitios'. Espero que esto ayude a otros, fue un buen repaso para mí.
fuente
Debe tener permisos en el directorio que contiene el archivo para acceder al archivo. ¿Cuáles son los permisos en / home / git? (sí, Zoredache, te di un +1 por señalarlo)
Seguimiento: necesita el bit de ejecución (x) establecido para el grupo para que ese grupo ingrese al directorio. Piense en ello como un análogo aproximado de la configuración del "Directorio transversal" de Windows. Sin ella, se negará el acceso al grupo. Si estás desesperado, puedes hacer:
Pruebe lo siguiente y publique el mensaje de cada uno:
Cada uno de ellos debe ser accesible por
ftpadmin
. Si alguno de ellos no lo es , entonces te impedirá entrar/home/git/fsg
.fuente
/home/git
y/home/git/fsg
¿ para qué fueron los resultados/home
?Después de cambiar los grupos de un usuario X a través del acceso raíz, debe cerrar sesión e iniciar sesión nuevamente con ese usuario X; de lo contrario, no se tendrán en cuenta los grupos nuevos.
fuente
Intente iniciar sesión nuevamente o ejecutar
su - ftpadmin
para iniciar sesión dentro del shell actual. Dado que los grupos se configuran cuando inicia sesión, puede ser que haya agregado algo así a un grupo, pero la configuración anterior del grupo todavía se está utilizando.fuente