Προς το περιεχόμενο

System tar & restore Project


tritonas00

Προτεινόμενες αναρτήσεις

Το polkit αρχείο δε χρειάζεται. Θα χρειαζόταν αν υλοποιούσες dbus interface με μεθόδους. Οχι κατι δύσκολο αλλά θέλει ενα διαβασματακι.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εννοώ οτι, oτι θες να ρυθμίσεις για να τρέχει σα ρουτ υπάρχει ήδη στο

org.freedesktop.policykit.policy

και θα δίνεις ένα:

pkexec star-gui.sh

το pkexec είναι σαν ένα gksudo ή το kdesudo.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

εξακολουθω να μην καταλαβαινω

 

εννοεις να βαζω την εγγραφη για το star-gui.sh μεσα στο ηδη υπαρχων org.freedesktop.policykit.policy και να μην φτιαχνω νεο αρχειο?

 

δηλαδη ο package manager να κανει sed το ηδη υπαρχων org.freedesktop.policykit.policy οταν εγκαταστησει το star αντι να βαζει το δικο του action file?

 

 

fb-reactions-virna.jpg

 

 

https://wiki.archlinux.org/index.php/Polkit#Actions

 

και θα δίνεις ένα:

pkexec star-gui.sh

 

ναι, αυτο δινω και τωρα :P

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ο package manager τι δουλειά έχει να κάνει sed;

Όταν εκτελείς pkexec η pam lib ελέγχει το αρχείο /etc/pam.d/polkit-1

και εκτελεί ο polkit auth agent (είτε γραφικός είτε tty) με βάση το αρχείο που είπαμε

(org.freedesktop.policykit.policy)

το authentication στο ανάλογο context.

Αν εσύ λες μέσα στο αρχείο αυτό:

<allow_active>auth_self</allow_active>

τότε χρειάζεται μόνο το pass του active user

αν λες

<allow_active>auth_admin</allow_active>

τότε χρειάζεται του admin ή χρήστη που ανήκει στο wheel group.

Δηλαδή το pkexec είναι κάτι ανάμεσα σε sudo και gksudo/kdesudo.

 

 

εννοεις να βαζω την εγγραφη για το star-gui.sh μεσα στο ηδη υπαρχων org.freedesktop.policykit.policy και να μην φτιαχνω νεο αρχειο?

Ναι αυτο εννοώ να μη φτιάχνεις αλλο αρχείο, το αφηνεις ως έχει αυτό το αρχείο και σου εξήγησα παραπάνω, αναλαμβάνει απο μόνο του όταν εκτελείται το pkexec.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ωραια. Τοτε γιατι πχ αυτο ή αυτο βαζουν δικο τους αρχειο?

 

το org.freedesktop.policykit.policy μου εδω εχει ηδη:

<allow_any>auth_admin</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
Απλα θελω το πακετο να εχει το δικο του αρχειο ωστε ο star-gui launcher να παιζει out of the box χωρις επεμβασεις και "cannot open display". Κανω κατι λαθος?

 

https://bbs.archlinux.org/viewtopic.php?pid=999328#p999328

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αυτά τα apps δημιουργουν ένα dbus service ή interface και εκτελουν κάποιες μεθόδους. Πάνω σε αυτές τις μεθόδους μπαίνουν policykit authentication hooks. Καποια λίνκς:

https://stackoverflow.com/questions/19453507/how-to-create-a-dbus-service

https://kkaempf.blogspot.gr/2009/03/d-bus-service-on-demand.html

https://techbase.kde.org/Development/Tutorials/PolicyKit/Helper_HowTo

 

Εσυ δε κάνεις acquire dbus name ούτε expose dbus methods για να μπορείς να βάλεις τα καταλληλα συμβατα polkit hooks.


Αν είχες δηλαδή μια python εφαρμογή  θα έβαζες το polkit hook στο action π.χ της dbus method

org.freedesktop.triton-star.backup

και στην

org.freedesktop.triton-star.restore

ενω την dbus service θα την έλεγες:

org.freedesktop.triton-star

όπου αυτές οι μέθοδοι θα γίνονταν trigger όταν πάταγε κάποιος το κουμπάκι backup/restore μέσα στο python/java/c++ gui της εφαρμογής.

 Η εφαρμογή σου θα μπορούσε να γίνει activate στο dbus μόλις κάποιος την ανοιγει π.χ και άλλα κατα τα άλλα unixo-ωραία.


Αν θέλεις να διευκολύνεις το χρήστη να ανοίγει κατευθείαν την εφαρμογή με root privileges βάλε ένα εικονίδιο στο desktop του με τον gui launcher που θα εκτελει το

/usr/bin/pkexec /bin/star-gui-lancher.sh
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

οκ, εμεις θελουμε με το που γινεται εγκατασταση το πακετο, το star-gui.sh να ειναι σε θεση να ανοιγει σαν root μεσω pkexec, χωρις να επεμβουμε σε καποιο αρχειο.

το gui πρεπει να ανοιγει σαν root για να δειχνει σωστα καποια πραματα. Αυτο μετα καλει το star.sh, πλεον ως root, οταν πατησουμε το RUN

αν δεν βαλω το org.freedesktop.star-gui.policy μου βγαζει cannot open display και δεν ανοιγει.

 

τι προτεινεις?

 

(στα επρηξα  :-D)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν θέλεις να διευκολύνεις το χρήστη να ανοίγει κατευθείαν την εφαρμογή με root privileges βάλε ένα εικονίδιο στο desktop του με τον gui launcher που θα εκτελει το

/usr/bin/pkexec /bin/star-gui-lancher.sh

Απάντησα ήδη

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στο latest master εχουμε δυο νεα requested features:

1. Μπορουμε να ορισουμε πλεον τον αριθμο των threads στο multi-core compression

2. Μπορουμε να ορισουμε διαφορετικο source directory στο backup mode ωστε να παρουμε ενα απλο (non-system) backup απο οπου θελουμε, με τις ευκολιες του star (multi-core compression, openssl/gpg encryption, extra tar options κλπ)

post-34599-0-47230300-1490801250_thumb.png

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

 

Αυτά τα apps δημιουργουν ένα dbus service ή interface και εκτελουν κάποιες μεθόδους. Πάνω σε αυτές τις μεθόδους μπαίνουν policykit authentication hooks.

 

 

Όλη η ουσία των αρχείων blahblah.policy αυτών των προγραμμάτων βρίσκεται σε 1 γραμμή:

<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>

Χωρίς αυτό δεν μπορείς να τρέξεις με το pkexec το gui σαν root. Η εξήγηση από το manual του pkexec:

 

SECURITY NOTES

Executing a program as another user is a privileged operation. By default the action to check for (see the section called “ACTION AND AUTHORIZATIONS”) requires administrator authentication. In addition, the authentication dialog presented to the user will display the full path to the program to be executed so the user is aware of what will happen.

The environment that PROGRAM will run it, will be set to a minimal known and safe environment in order to avoid injecting code through LD_LIBRARY_PATH or similar mechanisms. In addition the PKEXEC_UID environment variable is set to the user id of the process invoking pkexec. As a result, pkexec will not by default allow you to run X11 applications as another user since the $DISPLAY and $XAUTHORITY environment variables are not set. These two variables will be retained if the org.freedesktop.policykit.exec.allow_gui annotation on an action is set to a nonempty value; this is discouraged, though, and should only be used for legacy programs.

Note that pkexec does no validation of the ARGUMENTS passed to PROGRAM. In the normal case (where administrator authentication is required every time pkexec is used), this is not a problem since if the user is an administrator he might as well just run pkexec bash to get root.

However, if an action is used for which the user can retain authorization (or if the user is implicitly authorized) this could be a security hole. Therefore, as a rule of thumb, programs for which the default required authorization is changed, should never implicitly trust user input (e.g. like any other well-written suid program).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 4 εβδομάδες αργότερα...

Τι μου λείπει ?

Αφου το διαλέγω γιατί με τα κάνει αυτα?

ubuntu@ubuntu:~/system-tar-and-restore$ sudo ./star.sh -i 1 -b /dev/sda1 -r /dev/sda2 -h /dev/sd3 -s /dev/sda4 /mnt/nas/Linux/Backup-2016-11-21/Backup-GTX-2016-11-21.tar.gz -G /dev/sda

System Tar & Restore 6.6
[ERROR] You must specify a backup archive

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...