Changeset 7614


Ignore:
Timestamp:
Jun 29, 2018, 12:14:54 PM (16 months ago)
Author:
daduve
Message:

Adding test to do not delete if some folder is mounted

Location:
home-eraser/trunk/fuentes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • home-eraser/trunk/fuentes/home-eraser-client.install/usr/share/n4d/python-plugins/HomeEraserClient.py

    r7586 r7614  
    1717               
    1818                home_dir="/home"
     19                run_dir="/run"
    1920                home_list={}
    2021                deleted=[]
     
    3334                                        self.dprint("")
    3435                                        self.dprint("Discover in home: %s"%dir_path)
     36                                        self.dprint("-----------------------------")
    3537                                               
    3638                                        if ( os.path.islink(dir_path) == False) & ( os.path.isfile(dir_path) == False ):
     39                                                run_path=os.path.join(run_dir,dirname)
     40                                                run_path_home=os.path.join(run_path,"home")
     41                                                run_path_share=os.path.join(run_path,"share")
    3742
    38                                                 self.dprint("-----------------------------")   
    39                                                 self.dprint("Directory can be deleted: %s"%(dirname))
    40                                                 try:
    41                                                         ownername= pwd.getpwuid(os.stat(dir_path).st_uid).pw_name
    42                                                 except:
    43                                                         ownername="unknow"
    44                                                         self.dprint("Ownername is unknow for %s"%dir_path)
    45                                                
    46                                                 #uid=pwd.getpwuid(os.stat(dir_path).st_uid).pw_uid
    47                                                 try:
    48                                                         uid=os.stat(dir_path).st_uid
     43                                                if ( os.path.ismount(run_path_home) == False ) & ( os.path.ismount(run_path_share) == False ):
     44
     45                                                        self.dprint("Directory can be deleted: %s"%(dirname))
     46                                                        try:
     47                                                                ownername= pwd.getpwuid(os.stat(dir_path).st_uid).pw_name
     48                                                        except:
     49                                                                ownername="unknow"
     50                                                                self.dprint("Ownername is unknow for %s"%dir_path)
    4951                                                       
    50                                                 except:
    51                                                         uid="0"
    52                                                         self.dprint("UID is unknow for %s"%dir_path)
    53                                                        
    54                                                 self.dprint("Testing group for: %s    with uid: %s"%(dir_path,uid))
    55                                                 self.dprint("In groups: %s"%groups_delete)
    56                                                 if self.insert_to_delete(uid, groups_delete)[0]:
    57                                                         self.dprint("RESUME: +++++...ADDED to delete list")
    58                                                         home_list[dirname]={}
    59                                                         home_list[dirname]["path"]=dir_path
    60                                                         home_list[dirname]["owner"]=ownername
    61                                                         home_list[dirname]["uid"]=uid
     52                                                        #uid=pwd.getpwuid(os.stat(dir_path).st_uid).pw_uid
     53                                                        try:
     54                                                                uid=os.stat(dir_path).st_uid
     55                                                               
     56                                                        except:
     57                                                                uid="0"
     58                                                                self.dprint("UID is unknow for %s"%dir_path)
     59                                                               
     60                                                        self.dprint("Testing group for: %s    with uid: %s"%(dir_path,uid))
     61                                                        self.dprint("In groups: %s"%groups_delete)
     62                                                        if self.insert_to_delete(uid, groups_delete)[0]:
     63                                                                self.dprint("RESUME: +++++...ADDED to delete list")
     64                                                                home_list[dirname]={}
     65                                                                home_list[dirname]["path"]=dir_path
     66                                                                home_list[dirname]["owner"]=ownername
     67                                                                home_list[dirname]["uid"]=uid
     68                                                        else:
     69                                                                self.dprint("RESUME: Cannot be deleted because is not in group allowed")
    6270                                                else:
    63                                                         self.dprint("RESUME: Cannot be deleted because is not in group allowed")
     71                                                        self.dprint("RESUME: Cannot be deleted because this user has folders mounted.")
    6472                               
    6573                               
  • home-eraser/trunk/fuentes/home-eraser-server.install/usr/share/n4d/python-plugins/HomeEraserServer.py

    r7570 r7614  
    2727               
    2828                home_dir="/home"
     29                run_dir="/run"
    2930                home_list={}
    3031                deleted=[]
     
    4344                                        self.dprint("")
    4445                                        self.dprint("Discover in home: %s"%dir_path)
     46                                        self.dprint("-----------------------------")
    4547                                               
    4648                                        if ( os.path.islink(dir_path) == False) & ( os.path.isfile(dir_path) == False ):
    47 
    48                                                 self.dprint("-----------------------------")   
    49                                                 self.dprint("Directory can be deleted: %s"%(dirname))
    50                                                 try:
    51                                                         ownername= pwd.getpwuid(os.stat(dir_path).st_uid).pw_name
    52                                                 except:
    53                                                         ownername="unknow"
    54                                                         self.dprint("Ownername is unknow for %s"%dir_path)
    55                                                
    56                                                 #uid=pwd.getpwuid(os.stat(dir_path).st_uid).pw_uid
    57                                                 try:
    58                                                         uid=os.stat(dir_path).st_uid
     49                                                run_path=os.path.join(run_dir,dirname)
     50                                                run_path_home=os.path.join(run_path,"home")
     51                                                run_path_share=os.path.join(run_path,"share")
     52
     53                                                if ( os.path.ismount(run_path_home) == False ) & ( os.path.ismount(run_path_share) == False ):
     54
     55                                                        self.dprint("Directory can be deleted: %s"%(dirname))
     56                                                        try:
     57                                                                ownername= pwd.getpwuid(os.stat(dir_path).st_uid).pw_name
     58                                                        except:
     59                                                                ownername="unknow"
     60                                                                self.dprint("Ownername is unknow for %s"%dir_path)
    5961                                                       
    60                                                 except:
    61                                                         uid="0"
    62                                                         self.dprint("UID is unknow for %s"%dir_path)
    63                                                        
    64                                                 self.dprint("Testing group for: %s    with uid: %s"%(dir_path,uid))
    65                                                 self.dprint("In groups: %s"%groups_delete)
    66                                                 if self.insert_to_delete(uid, groups_delete)[0]:
    67                                                         self.dprint("RESUME: +++++...ADDED to delete list")
    68                                                         home_list[dirname]={}
    69                                                         home_list[dirname]["path"]=dir_path
    70                                                         home_list[dirname]["owner"]=ownername
    71                                                         home_list[dirname]["uid"]=uid
     62                                                        #uid=pwd.getpwuid(os.stat(dir_path).st_uid).pw_uid
     63                                                        try:
     64                                                                uid=os.stat(dir_path).st_uid
     65                                                               
     66                                                        except:
     67                                                                uid="0"
     68                                                                self.dprint("UID is unknow for %s"%dir_path)
     69                                                               
     70                                                        self.dprint("Testing group for: %s    with uid: %s"%(dir_path,uid))
     71                                                        self.dprint("In groups: %s"%groups_delete)
     72                                                        if self.insert_to_delete(uid, groups_delete)[0]:
     73                                                                self.dprint("RESUME: +++++...ADDED to delete list")
     74                                                                home_list[dirname]={}
     75                                                                home_list[dirname]["path"]=dir_path
     76                                                                home_list[dirname]["owner"]=ownername
     77                                                                home_list[dirname]["uid"]=uid
     78                                                        else:
     79                                                        self.dprint("RESUME: Cannot be deleted because is not in group allowed")
    7280                                                else:
    73                                                         self.dprint("RESUME: Cannot be deleted because is not in group allowed")
    74                                
     81                                                        self.dprint("RESUME: Cannot be deleted because this user has folders mounted.")
    7582                               
    7683                                self.dprint("------------------")
Note: See TracChangeset for help on using the changeset viewer.