Exporter les droits d'accès ACL de tout un répertoire

Le petit script ci-dessous en Ruby parcourt l'arborescence d'un système de fichier et imprime dans une liste HTML le nom de chaque dossier et les droits d'accès ACL qui y sont associés.

@max_depth = 3

def parse(folder, depth)
  depth = depth + 1
  Dir.new(folder).sort.each do |f|
    puts "<ul>"
    if f != ".." and f != "." and File.directory?(folder+"/"+f)
      puts "<li"
      rights = `getfacl -p #{Shellwords.escape(folder+"/"+f)}`
      hashOfACLS = Hash.new
      rights.split("\n").each do |s|
      catch = /^group:(.*):([r-][w-][x-])/.match(s)
      hashOfACLS[catch[1]] = catch[2] unless catch.nil? or catch[1]==""
    end
    classes = ""
    details = ""
    hashOfACLS.each do |k, v|
      classes = classes + k + " " if v.include? "r"
      details = details + k + " => " + v + ";"
    end
    puts "class='#{classes}'>#{f} (#{details})"
     if depth < @max_depth
      parse(folder+"/"+f, depth)
    end
    puts "</li>"
  end
  puts "</ul>"
end
end