Me gustaría otorgar acceso de solo lectura a un usuario, pero quiero que vea solo las carpetas exactas a las que le doy acceso. por ejemplo, él/ella no debería viajar por todo el servidor y buscar todas las carpetas de los usuarios, etc. Incluso si solo sube, sube, sube, quiero que vaya solo a estas carpetas específicas que le permito. Entonces, en primer lugar, ¿cómo puedo permitir que un usuario específico tenga acceso a una carpeta específica y luego sería útil colocar enlaces simbólicos a su carpeta de inicio? ¿Entonces pueden ir directamente a las carpetas necesarias pero no hacia arriba o hacia abajo?
Respuesta1
Debe establecer los permisos de directorio necesarios. Para directorios son:
- leer: permitido ver archivos y subdirectorios en ese directorio
- escribir: permitido crear archivos y subdirectorios en ese directorio
- ejecutar: permitido ingresar a un directorio.
Para los archivos la situación es similar, es bastante obvio, por lo que puedes manejarlo por tu cuenta.
Numérica estos permisos:
- leer-4
- escribir-2
- ejecutar-1
Para editar permisos utilice chmod
. Uso:chmod xyz <file or directory>
- X- la suma dedueñopermisos
- y- la suma degrupo propietariopermisos
- z- la suma dedescansar usuarios/grupospermisos
Ejemplo:
$ chmod -R 664 /home/jack/
jack y el grupo de jack tendránleer+escribiracceso a /home/jack ytodoson subdirectorios. El resto tendrá únicamente acceso de lectura. -R
opción aquí solíarecursivamenteestablecer permisos.
Otro ejemplo:
$ chmod 700 /home/jack/video/
le dará a jack acceso completo al /home/jack/video
directorio. Ver también: chown
, chgrp
para cambiar propietario y grupo propietario.
Respuesta2
Tampoco creo que sea necesario configurar chroots. Para evitar subir a los directorios principales, asigne un permiso estricto.
$ mkdir --parent 1/2/3
$ ls 1
2
$ chmod 100 1
$ ls 1
ls: cannot open directory 1: Permission denied
$ ls 1/2
3
Si queremos otorgarle a un usuario acceso a /home/1 pero limitar al usuario a no ver qué otros materiales hay en /home, hacemos que /home sea propiedad del root y tenga permiso 111. por lo tanto, el usuario nunca sabe si /home/2 alguna vez existe.