2012-06-28 12 views
5

से रूट पासवर्ड बदलें मैं सिस्टम को बूट किए बिना बैश स्क्रिप्ट के माध्यम से लिनक्स सिस्टम पर रूट उपयोगकर्ता का पासवर्ड बदलने का एक तरीका ढूंढ रहा हूं। अब तक की एकमात्र चीजें हैं जो या तो पासवर्ड को हटाती हैं, या एक क्रोट का उपयोग करने के लिए, जिसे मैं उपयोग नहीं करना पसंद करता हूं।
मुझे पता है कि रूट पासवर्ड कैसे खाली करें, लेकिन मुझे इसे स्क्रिप्ट में पहले परिभाषित एक अलग पासवर्ड में बदलने की जरूरत है।
मेरे पास संपूर्ण फ़ाइल सिस्टम की रूट पहुंच है।
सिस्टम छाया पासवर्ड का उपयोग कर रहा है, क्या एन्क्रिप्टेड छाया पासवर्ड उत्पन्न करने के बिना/chrooting लॉग इन करने का कोई तरीका है?
स्क्रिप्ट से रूट पासवर्ड बदलने के लिए कोई अन्य तरीका?स्क्रिप्ट

+1

कुछ सलाह [यहां] (http://mywiki.wooledge.org/BashFAQ/078)। तरीके हैं यह मंच पर निर्भर करता है। – ormaaj

+0

उत्तर के लिए धन्यवाद। यह वास्तव में समाधान हो सकता है। मुझे नहीं पता था कि डेबियन में mkpasswd कमांड था, इसे आजमाएं और रिपोर्ट करें। – SharkWipf

उत्तर

8

पासवर्ड हैश /etc/shadow में है। आप इसे केवल जेनरेट (नमकीन) हैश से बदल सकते हैं। पासवर्ड हैश के लिए प्रारूप क्रिप्ट (3) में वर्णित है। डिफ़ॉल्ट डेस है, लेकिन glibc2 सिस्टम पर यह कई अलग अलग एन्क्रिप्शन तरीकों में से एक हो सकते हैं:

ID | Method 
--------------------------------------------------------- 
1 | MD5 
2a | Blowfish (not in mainline glibc; added in some 
    | Linux distributions) 
5 | SHA-256 (since glibc 2.7) 
6 | SHA-512 (since glibc 2.7) 

तो एक छाया पासवर्ड स्ट्रिंग इस प्रकार दिखाई देंगे: $5$saltysalt$KhboodWTnuXJ5siXvWx5mxYXbnuNJOxROfD1inCILfD

इस मामले में पहले $ 5 $ भाग इंगित करता है कि यह एक एसएचए -256 हैश है, मध्य भाग नमक है और शेष वास्तविक हैश है।

एक उत्पन्न करने के लिए सबसे अच्छा सिस्टम के तहखाने (3) समारोह एक न्यूनतम सी कार्यक्रम के साथ उदाहरण के लिए, का उपयोग करें: एक स्ट्रिंग उत्पन्न करने के लिए

#include <stdio.h> 
#include <crypt.h> 

int main(int argc, char *argv[]) { 
     printf("%s\n", crypt(argv[1], argv[2])); 
} 

cc mkpass.c -o mkpass -lcrypt साथ संकलित और फिर प्लेन पासवर्ड और नमक तार के साथ चलाने आप /etc/shadow में डाल कर सकते हैं:

./mkpass yourpassword yoursalt     # DES (default) 
./mkpass yourpassword '$6$yoursalt$encrypted' # SHA-512 (quote your $) 

दूसरा रूप पुराने लिनक्स सिस्टम पर समर्थित नहीं किया जा सकता है। अपनी छाया फ़ाइल में मौजूदा स्ट्रिंग पर सबसे अच्छा नज़र डालें और उसी हैश प्रकार का उपयोग करें (शीर्ष पर $ आईडी $ सूची से)।

+0

यह बेकार ढंग से काम किया, धन्यवाद! – SharkWipf

-1

ओएस चयन मेनू स्क्रीन में उबंटू टैब पर e दबाएं। के रूप में

rw init=/bin/bash 

निम्नलिखित आदेश अद्यतन यह आप लिनक्स जड़ खोल छोड़ देंगे। बस रूट रूट नामक कमांड दर्ज करके अपना रूट पासवर्ड बदलें।