Tâche #33675
Scénario #33657: Traitement express MEN (03-05)
droits_user.py : traceback en mode mono-utilisateur
100%
Description
root@scribe:~# /usr/share/eole/backend/droits_user.py admin Traceback (most recent call last): File "/usr/share/eole/backend/droits_user.py", line 166, in <module> main() File "/usr/share/eole/backend/droits_user.py", line 151, in main place_droit(user, rep2) UnboundLocalError: local variable 'user' referenced before assignment Error in sys.excepthook: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 154, in apport_excepthook os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f: FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_share_eole_backend_droits_user.py.0.crash' Original exception was: Traceback (most recent call last): File "/usr/share/eole/backend/droits_user.py", line 166, in <module> main() File "/usr/share/eole/backend/droits_user.py", line 151, in main place_droit(user, rep2) UnboundLocalError: local variable 'user' referenced before assignment
root@scribe:~# /usr/share/eole/backend/droits_user.py professeur --fix Traceback (most recent call last): File "/usr/share/eole/backend/droits_user.py", line 166, in <module> main() File "/usr/share/eole/backend/droits_user.py", line 144, in main dico = dict(user = user, rep2 = rep2) UnboundLocalError: local variable 'user' referenced before assignment Error in sys.excepthook: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 154, in apport_excepthook os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f: FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_share_eole_backend_droits_user.py.0.crash' Original exception was: Traceback (most recent call last): File "/usr/share/eole/backend/droits_user.py", line 166, in <module> main() File "/usr/share/eole/backend/droits_user.py", line 144, in main dico = dict(user = user, rep2 = rep2) UnboundLocalError: local variable 'user' referenced before assignment
Demandes liées
Révisions associées
droits_user.py : fix mono-user traceback (ref: #33675)
droits_user.py : pylint (ref: #33675)
droits_user.py : just no symlink case (#33675)
droits_user.py : mise à niveau (ref: #33675)
droits_user.py gère de nouveaux cas (ref: #33675)
Historique
#1 Mis à jour par Joël Cuissinat il y a plus de 2 ans
- Assigné à mis à Joël Cuissinat
Autre cas tordu :
root@scribe:~# rm /home/p/prof1 rm : supprimer '/home/p/prof1' du type lien symbolique ? o root@scribe:~# /usr/share/eole/backend/droits_user.py prof1 ### Attention /home/p/prof1 n'est pas un lien symbolique. Passe ### Des erreurs ont été rencontrés. Veuillez les résoudres ou utiliser l'option --fix pour forcer leur résolution (peut entrainer une perte de données) root@scribe:~# /usr/share/eole/backend/droits_user.py prof1 --fix mv: impossible d'évaluer '/home/p/prof1': Aucun fichier ou dossier de ce type root@scribe:~# ls /home/adhomes/prof1 ls: impossible d'accéder à '/home/adhomes/prof1': Aucun fichier ou dossier de ce type
Je précise que "prof1" n'est pas listé par le script si on l'exécute pour tous les utilisateurs ;)
Le code part du principe que /home/p/prof1 est LE répertoire utilisateur :o
#2 Mis à jour par Joël Cuissinat il y a plus de 2 ans
- Lié à Scénario #33147: Mettre à niveau le script de secours droits_user.py pour ScribeAD ajouté
#3 Mis à jour par Joël Cuissinat il y a plus de 2 ans
Autre problème découvert, l'utilisation de l'option -P (--physical) sur le lien symbolique /home/<l>/login
n'applique pas de droits sur /home/adhomes/<login>
!
+ ajouter "return" sur "utilisateur non trouvé"
+ enlever "return" sur "répertoire non trouvé"
Attention, le script ne doit pas casser les droits sur profil.V6 !!!
#4 Mis à jour par Joël Cuissinat il y a environ 2 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100
#5 Mis à jour par Joël Cuissinat il y a environ 2 ans
- Statut changé de Résolu à Fermé
- Restant à faire (heures) mis à 0.0