chsh वास्तव में / etc / passwd में एक उपयोगकर्ता से संबंधित लाइन को बदलता है, हालांकि एक उपयोगकर्ता केवल / etc / passwd में अपनी 'अपनी' लाइन बदल सकता है। इसलिए, यदि आप किसी अन्य उपयोगकर्ता के लिए शेल बदलना चाहते हैं, तो आपको उसका पासवर्ड चाहिए।
यदि आप वास्तव में इसे करना चाहते हैं (लोरेंजो के पोस्ट में चिंताओं को देखते हुए, और संभावित सुरक्षा चिंताएं) यहां बताया गया है कि कोई भी ऐसा कैसे कर सकता है:
#visudo
इसके लिए रूट विशेषाधिकारों की आवश्यकता होती है।
कहें कि आप वर्तमान में "ऐलिस" के रूप में चल रहे हैं और पासवर्ड के बिना "बॉब" शेल को बदलना चाहते हैं;
फ़ाइल में जोड़ें:
Cmnd_Alias SHELL = /usr/bin/chsh
Runas_Alias SH = Bob
alice ALL = (SH) NOPASSWD: SHELL
यह सुनिश्चित करता है कि the ऐलिस ’सभी होस्ट्स पर चला सकता है क्योंकि समूह SH के उपयोगकर्ता बिना पासवर्ड के SHELL में कमांड के समूह के रूप में चल सकते हैं।
संभवत: इस तरह से इसे करने के लिए थोड़ा बहुत दूर है, लेकिन यह संभव है।
'विडो', विशेष रूप से सुरक्षा से संबंधित संदेशों के साथ सुडोर्स फ़ाइल को बदलने से पहले "मैन सूडर्स" पढ़ना सुनिश्चित करें!