6 votos

La prevención específica de la eliminación de la carpeta en CentOS

Tengo un CentOS servidor que ejecuta PureFTPd con múltiples usuarios virtuales asignación a un único usuario del sistema. Cada uno de estos usuarios virtuales obtiene enjaulado a un directorio que corresponde a su nombre de usuario. El árbol de directorios es:

  • /ftp_accounts
    • /virtual_user_1
    • /virtual_user_2
    • ...
    • /virtual_user_N

Sólo uno de estos FTP virtuales de usuarios (vamos a llamarlo "master_virtual_user") es chroot el principal "ftp_accounts" directorios, permitiendo el acceso a todas las sub-carpetas.

Para este "master_virtual_user", me gustaría evitar la eliminación de sólo el "virtual_user_*" las carpetas, pero aún así mantener el pleno acceso de lectura-escritura a todo lo demás en este árbol de directorios.

Dado que todos estos FTP virtual de los usuarios son la asignación a la misma de usuario del sistema, ¿hay alguna manera de lograr esto?

5voto

chicks Puntos 481

Sería agradable si usted podría utilizar el indicador inmutable en directorios, pero puede engañar al hacer un archivo en ese directorio que es inmutable. Por lo touch virtu_user_X/.immutable entonces chattr +i virt_user_x/.immutable. Por ejemplo:

[root@hellonurse ~]# cd /root
[root@hellonurse ~]# mkdir z
[root@hellonurse ~]# cd z
[root@hellonurse z]# touch .i
[root@hellonurse z]# chattr +i .i
[root@hellonurse z]# cd ..
[root@hellonurse ~]# rm  -rf z
rm: cannot remove ‘z/.i': Operation not permitted
[root@hellonurse ~]# chattr -i z/.i
[root@hellonurse ~]# rm  -rf z
[root@hellonurse ~]# ls z
ls: cannot access z: No such file or directory

3voto

Daniel t. Puntos 4108

Quitarle permisos de escritura para el usuario utilizando el sistema de archivos de listas de control de acceso (ACL) - setfacl comando.

setfacl -m u:master_virtual_user:r-x virtual_user_*

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: