Quels directorys sont inscriptibles dans un système suivant FHS?

Je dois faire en sorte que, lors de la suppression d'un user spécifique d'un système, tous ses files sont supprimés. La création / la suppression d'users aura beaucoup de conséquences sur ce système. Je souhaite donc réutiliser les UID et veiller à ce que le nouvel user n'ait pas access aux files de l'ancien user.

Ma question est double:

  1. Existe-t-il un moyen simple et général de find tous les files appartenant à un user spécifique? Ou est une search -uid n échelle du système search -uid n ma seule option?
  2. Si une search à l'échelle du système est la seule option, quels sont les directorys généralement écrits par un user normal (supposons une dissortingbution suivant FHS )?
    • Son directory personnel
    • / tmp
    • ??

L'user n'a pas de privilèges sudo , il ne peut donc écrire que dans des endroits accessibles au monde entier dans un système de files Unix standard.

Si vous supprimez un count, utilisez userdel -r . Cela supprime le directory de base de l'user avec son contenu. En outre, le file de spoule de courrier appartenant à l'user est supprimé.

Je ne supposerais pas que n'importe quel directory n'aurait pas pu contenir des objects appartenant à l'user en question. Cela est particulièrement vrai si l'user disposait de privilèges SUDO.

Utilisez find pour searchr l'UID du count que vous allez supprimer; ou venez de supprimer:

 find / -user <UID> -exec ls -ld {} + 

où UID est remplacé par la valeur UID réelle en question, ou le nom d'user si vous n'avez pas déjà supprimé le count;

ou, en général, pour les UID qui ne correspondent plus à un nom:

 find / -nouser -exec ls -ld {} + 

Ceux-ci sont portables parmi les différentes versions d'Unix (HP-UX, AIX, etc.) et parmi les dissortingbutions Linux. La find GNU permet de -exec ls -ld {} + par -ls .

J'ai fait un peu de search de mon propre. Source principale: http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/c23.html

Longue histoire courte: il n'y a rien qui empêche un user de créer des files . Cependant, en standard FHS linux, seuls certains directorys peuvent être écrits par tout le monde. Tant que vous utilisez une dissortingbution qui suit cette convention, vous ne devriez vérifier que les directorys suivants (comme indiqué par un test sur mon propre système):

  • / dev / shm (monté par défaut dans certaines dissortingbutions)
  • Répertoire personnel de l'user
  • / var / tmp
  • / var / course / écran / S-rubenf
  • / tmp
  • / mnt / usb-disk (monté avec gid = users)

La source:

 find -type d | while read DIR; do if touch $DIR/test_can_be_removed123 2>/dev/null; then rm $DIR/test_can_be_removed123 echo $DIR >> writable_directories fi done