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

Προσθηκη www-data σε sudoers


koslibpro

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

Δημοσ. (επεξεργασμένο)

Καλησπερα,

 

εν συνεχεια ενος προηγουμενου thread,θα ηθελα να προσθεσω τον www-data στο sudoers.

γενικα,εχω μια φορμα php σε localhost που ενας χρηστης πληκτρολογει το επιθυμητο username & password και παταει submit.οποτε και θελω να δημιουργειται ενας χρηστης..

οι φορμες που εχω ειναι στο spoiler:

 

index.htm

>
<form method="GET" action="sub.php">
<p>Username: <input type="text" name="user" size="20"></p>
<p>Password: <input type="text" name="pass" size="20"></p>
<p><input type="submit" value="Submit" name="Submit"></p>
</form>

και το sub.php

>
<?php
$user = $_GET['user'];
$pass = $_GET['pass'];
system("sudo useradd -m -p ".$pass." -u ".$user.");
?>

 

 

 

μεχρι ωρας με αυτα που εχω κανει δεν γινεται τιποτα γιατι οταν τρεχει το scriptακι,περιμενει επειτα και κωδικο,αφου η εντολη μου αρχιζει με sudo..πως μπορω να προσθεσω λοιπον τον www-data στο sudoers με NOPASSWD για να λειτουργει σωστα αυτο που θελω..?

 

υγ:η σχετικη γραμμη το /etc/sudoers file μου ειναι αυτη

>www-data ALL=(root) NOPASSWD: /usr/sbin/useradd

,αν χρησιμευει πουθενα..

 

ευχαριστω!

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

Για δοκιμασε με %www-data ....

στο /etc/sudoers αρχειο δεν λες?

 

το εκανα.και αλλαξα και το sub.php file ωστε να μην εχει sudo πριν το useradd,για να μην περιμενει κωδικο,μιας και δεν χρειαζεται.

 

και παλι ομως δεν εγινε τιποτα..

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

Λοιπον, εκανα μερικες διορθωσεις και σε μενα τουλαχιστον παιζει.

Δοκιμασε το και πες μας...

 

index.html

 

><form method="POST" action="sub.php">
<p>Username: <input type="text" name="user" size="20"></p>
<p>Password: <input type="text" name="pass" size="20"></p>
<p><input type="submit" value="Submit" name="Submit"></p>
</form>

 

sub.php

 

><?php
$user = $_GET['user'];
$pass = $_GET['pass'];
system ("/usr/bin/sudo /usr/sbin/useradd -m -p ".$_POST['pass']." ".$_POST['user']."");
?>

 

Και στο /etc/sudoers, προσθεσε μια γραμμη:

 

>www-data ALL=(ALL) NOPASSWD: /usr/sbin/useradd

 

Το προβλημα ομως ξερεις πιο ειναι?

Οτι τα passwords δεν ειναι κρυπτογραφημενα και δεν αναγνωριζονται απο το /etc/shadow ωστε να γινει login του χρηστη με το password που εχει διαλεξει.

Θα πρεπει να τρεχεις την εντολη "passwd <user>" σαν root, για να θετεις εσυ το password του χρηστη (βλεπεις τι εχει διαλεξει σαν password απο το /etc/shadow).

 

Ριξε μια ματια στα /etc/passwd και /etc/shadow...

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

Δημοσ. (επεξεργασμένο)

Update:

 

sub.php

 

><?php
$user = $_GET['user'];
$pass = $_GET['pass'];
system ("/usr/bin/sudo /usr/sbin/useradd -m -p ".crypt($_POST['pass'])." ".$_POST['user']."");
?>

 

Τωρα το password ειναι encrypted, αλλα παλι δεν γινεται σωστα το authentication. Δεν ξερω τι γινεται, σηκωνω τα χερια ψηλα... :-D Μαλλον το encryption της php δεν ειναι το ιδιο με το encryption του συστηματος...

 

Βλεπε http://php.net/manual/en/function.crypt.php

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

φιλε corrupted πραγματικα σε ευχαριστω πολυ!

 

Για την ακριβεια,με βολευει νομιζω το να κανω εγω χειροκινιτη εισαγωγη του pass του καθε χρηστη,αφου αυτος εχει επιλεξει ποιο θελει να ειναι!

 

Το δοκιμασα και δουλευει και σε εμενα μια χαρα!

 

Τον κωδικα που μου εδωσες βεβαια στο update σου,θα τον κρατησω καθως μπορει μελλοντικα να χρειαστει,ειναι πιθανο:)

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

Μην με ευχαριστεις, αυτα τα θεματα ειναι ωραια να τα ψαχνει κανεις. :-D

 

Να σου πω επισης οτι μετα την system γραμμη μπορεις να βαλεις αλλες δυο...

>header("Location: thankyou.html");
exit;

 

Αυτο θα κανει το sub.php να σε πηγαινει στο thankyou.html, οπου θα γραφεις "Σας ευχαριστω για την εγγραφη σας, ο λογαριασμος σας θα ενεργοποιηθει συντομα". Ειναι καλυτερα ετσι, παρα να φαινεται μια κενη σελιδα και να μην ξερει ο χρηστης τι εγινε, και να παταει back για να ξανακανει εγγραφη...

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

Μην με ευχαριστεις, αυτα τα θεματα ειναι ωραια να τα ψαχνει κανεις. :-D

 

Να σου πω επισης οτι μετα την system γραμμη μπορεις να βαλεις αλλες δυο...

>header("Location: thankyou.html");
exit;

 

Αυτο θα κανει το sub.php να σε πηγαινει στο thankyou.html, οπου θα γραφεις "Σας ευχαριστω για την εγγραφη σας, ο λογαριασμος σας θα ενεργοποιηθει συντομα". Ειναι καλυτερα ετσι, παρα να φαινεται μια κενη σελιδα και να μην ξερει ο χρηστης τι εγινε, και να παταει back για να ξανακανει εγγραφη...

εχεις pm επι του θεματος;)

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

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

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

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

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

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

Σύνδεση

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

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