sudo ಅಥವಾ  "su do" ಅಂತ ಕರೆಯಲ್ವಡುವ ಈ ಕಮ್ಯಾಂಡ್ ಯಾಕೆ? ನಾನು ಹಿಂದೆ ಬರೆದ ಕೆಲವು ಲೇಖನಗಳಲ್ಲಿ ಇದನ್ನ ಉಪಯೋಗಿಸಿದ್ದೇನೆ. ಏನ್ ಮಾಡುತ್ತೆ ಇದು?


su (ಸೂಪರ್ ಯೂಸರ್/ಮುಖ ಕಾರ್ಯ ನಿರ್ವಾಹಕ) ಯಾವ ಕೆಲಸಗಳನ್ನ ಲಿನಕ್ಸ್ ನಲ್ಲಿ ಮಾಡ ಬಹುದೋ ಅದನ್ನ ಎಲ್ಲರೂ ಮಾಡ್ಲಿಕ್ಕೆ ಸಾಧ್ಯವಿಲ್ಲ. su ಅನ್ನೋ ಕಮ್ಯಾಂಡ್, ಲಿನಕ್ಸ್ ನಲ್ಲಿರೋ ಯಾವುದೇ ಯೂಸರ್/ಬಳಕೆದಾರನನ್ನ ಸೂಪರ್ ಯೂಸರ್ ಆಗಿ ಕೆಲಸ ಮಾಡ್ಲಿಕ್ಕೆ ಬೇಕಿರುವ ವಿಶೇಷ ಅಧಿಕಾರಗಳನ್ನ ಕೊಡಿಸುತ್ತೆ. ಆದ್ರೆ ಇದಕ್ಕೆ ರೂಟ್ ಅಥವಾ ಸೂಪರ್ ಯೂಸರ್ ಅಧಿಕಾರ ಅಥವಾ ಪ್ರಿವಿಲೇಜ್ಗಳು ಬೇಕು.


ಉಬಂಟುವಿನಲ್ಲಿ ಸು ಕಮ್ಯಾಂಡ್ ರನ್ ಮಾಡೋದು ಹೀಗೆ. ಕಮ್ಯಾಂಡಿನ ಹಿಂದಿನ ಸಂಖೇತ ಲಾಗಿನ್ ಆದ ನಂತರ ಬದಲಾಗತ್ತೆ ನೋಡಿ. ಅದೇ ನೀವು ಯಾವ ರೀತಿಯ ಯೂಸರ್ ಆಗಿ ಲಾಗಿನ್ ಆಗಿದ್ದೀರೆಂದು ತಿಳಿಸುತ್ತದೆ.


bash$ sudo su -

Password:

#


ಈಗ  ಇಲ್ಲಿ ಸುಡೋ(sudo) ಯಾಕೆ ಉಪಯೋಗಿಸಿದ್ದು ಅಂತ ತಿಳೀತಾ? ಇಲ್ಲ ಅಲ್ವಾ? ಮುಂದೆ ಓದಿ :


ಮೊದಲು ಸು (su) ಮಾತ್ರ ಇತ್ತು. ಆದ್ರೆ ಎಲ್ಲ ಯೂಸರ್ ಗಳೂ ಇದನ್ನ ಬಳಸ ಬಹುದು ಅಂತ ಮೇಲೆ ಹೇಳಿದ್ದೆನಲ್ವಾ? ಇದು ಲಿನಕ್ಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂ ಗೆ ಒಂದು ರೀತಿಯ ಸೆಕ್ಯೂರಿಟಿ ತೊಂದರೆಯನ್ನ ಮುಂದಿಡಬಹುದು. ಆದ್ದರಿಂದ ಲಿನಕ್ಸ್ ನ ಸಿಸ್ಟಂ ಅಡ್ಮಿನಿಸ್ಟ್ರೇಟರ್ ತಾನು ಯಾರಿಗೆ su ಕಮ್ಯಾಂಡನ್ನ ಎಕ್ಸಿಕ್ಯೂಟ್ ಮಾಡಲಿಕ್ಕೆ ಬಿಡಬೇಕು ಅನ್ನೋದನ್ನ ನಿರ್ಧರಿಸುವ ಒಂದು ಸವಲತ್ತನ್ನ sudo (ಸುಡೋ) ಕಮ್ಯಾಂಡ್ ನೀಡತ್ತೆ. ಈಗ ಅರ್ಥ ಆಯ್ತಲಾ?


ಇದರ ಜೊತೆಗೆ, ಸುಡೋ ಕಮ್ಯಾಂಡ್ ಉಪಯೋಗಿಸಿ ಯಾರು ಯಾವುದೇ ಕಮ್ಯಾಂಡ್ ಬಳಸಿದರೆ ಅದನ್ನ ಸಿಸ್ಟಂ ನಲ್ಲಿ ಲಾಗ್ ಮಾಡಲಾಗತ್ತೆ. ಆದ್ದರಿಂದ ಯಾರು ಏನ್ ಮಾಡಿದ್ರು ಅಂತ ತಿಳಿದು ಕೊಳ್ಳಲಿಕ್ಕೆ ಸಿಸ್ಟಂ ಅಡ್ಮಿನಿಸ್ಟ್ರೇಟರ್ಗೆ ಕಷ್ಟ ಆಗ್ಲಿಕ್ಕಿಲ್ಲ.


ಇದರ ಜೊತೆಗೆ ಸುಡೋ ಕಮ್ಯಾಂಡ್ ಉಪಯೋಗಿಸಿದ್ರೆ, ರೂಟ್/ಸೂಪರ್ ಯೂಸರ್ ಪಾಸ್ವರ್ಡ್ ಗೊತ್ತಿರ್ಬೇಕಿಲ್ಲ. ಸಿಸ್ಟಂ ಅಡ್ಮಿನಿಸ್ಟ್ರೇಟರ್ ನಿಮಗೆ ಆ ಕಮ್ಯಾಂಡ್ ಉಪಯೋಗಿಸಲಿಕ್ಕೆ ಅಧಿಕಾರ ಕೊಟ್ಟಿದ್ರೆ ಸುಡೋ ಮುಂದೆ ಆ ಕಮ್ಯಾಂಡ್ ಟೈಪ್ ಮಾಡಿ ಎಂಟರ್ ಪ್ರೆಸ್ ಮಾಡಿದರಾಯಿತು.


ಈ ರೀತಿಯ ಅಧಿಕಾರ ಇತ್ಯಾದಿಗಳನ್ನ ಸಿಸ್ಟಂ ಅಡ್ಮಿನಿಸ್ತ್ರೇಟರ್ /etc/sudoers ಅನ್ನೋ ಫೈಲ್ ಎಡಿಟ್ ಮಾಡೋದರ ಮೂಲಕ ಕಂಪ್ಯೂಟರ್ ಬಳಕೆ ದಾರರಿಗೆ ನೀಡ್ತಾರೆ.


ಮೊದಲ ಬಾರಿಗೆ ಅದನ್ನ ಎಡಿಟ್ ಮಾಡ್ಲಿಕ್ಕೆ ಕೆಳಗಿನ ಕಮ್ಯಾಂಡ್ ಬಳಸಿ.


sudo gedit /etc/sudoers


ಇಲ್ಲಿ ನೀವು ಸೂಪರ್ ಯೂಸರ್ ಪಾಸ್ವರ್ಡ್ ಕೊಟ್ಟ ನಂತರ ಇದನ್ನ ಏಡಿಟ್ ಮಾಡ್ಲಿಕ್ಕೆ ಶುರುಮಾಡ ಬಹುದು. ನಿಮಗೆ ಸುಡೋ ಕಮ್ಯಾಂಡ್ ಎಕ್ಸಿಕೂಟ್ ಮಾಡೋ ಅಧಿಕಾರ ಇಲಾಂತಂದ್ರೆ ಮೇಲಿನ ಕಮ್ಯಾಂಡ್ ಕೆಲಸ ಮಾಡಲ್ಲ.


ಈಗ ಒಂದು ಉದಾಹರಣೆ ನೋಡೋಣ:


sampada murali=NOPASSWD: /sbin/dmesg


ಇಲ್ಲಿ ಮೊದಲ ಎರಡು ಹೆಸರುಗಳು ಕಂಪ್ಯೂಟರಿನಲ್ಲಿರುವ ಇಬ್ಬರು ಬಳಕೆದಾರರದು. ಇಲ್ಲಿ ಈ ಎರಡೂ ಬಳಕೆ ದಾರರು /sbin/dmesg ಅನ್ನೋ ಕಮ್ಯಾಂಡ್ ಬಳಸ ಬಹುದು ಅಂತಿದೆ. ಆದರೆ murali ಸುಡೋ ಜೊತೆಗೆ ಮೇಲಿನ ಕಮ್ಯಾಂಡ್ ಬಳಸಿದರೆ ತನ್ನ ಪಾಸ್ವರ್ಡ್ ಮತ್ತೆ ಟೈಪಿಸ ಬೇಕಿಲ್ಲ. sampada ಮಾತ್ರ  ತನ್ನ ಪಾಸ್ವರ್ಡ್ ಬಳಸ ಬೇಕಾಗತ್ತೆ.


1) murali$ sudo /sbin/dmesg


2) sampada$ sudo /sbin/dmesg

Password:


ಗುಟ್ಟು :


ಇದೆಲ್ಲಾ ಸರಿ. ನಾನೊಬ್ಬನೇ ನನ್ನ ಕಂಪ್ಯೂಟರಿನ ಬಳಕೆದಾರ ಪ್ರತಿಸಲ ಸುಡೋ ಟೈಪ್ ಮಾಡಿದಾರ ನಾನು ಪಾಸ್ವರ್ಡ್ ಕೊಡ ಬೇಕು. ಇದು ಕಿರಿಕಿರಿ. ಇದನ್ನ ನಿಲ್ಲಿಸ ಬಹುದು ?


ಹೌದು, ಇದು ಸಾಧ್ಯ ಮೇಲೆ ಹೇಳಿದಂತೆ /etc/sudoers ಫೈಲ್ ಎಡಿಟ್ ಮಾಡಿ ಕೆಳಗಿನಂತೆ ಒಂದು ಲೈನನ್ನ ಸೇರಿಸಿದರಾಯಿತು.


omshivaprakash ALL=NOPASSWD: ALL


ಇಲ್ಲಿ ನಾನು ನನ್ನನ್ನ ಯಾವ ಕಮ್ಯಾಂಡ್ ಉಪಯೋಗಿಸಿದರೂ ಪಾಸ್ವರ್ಡ್ ಕೆಳದಿರೆಂದು ನನ್ನ ಸಿಸ್ಟಂಗೆ ಆದೇಶಿಸಿದ್ದೆನೆ.


ಮುಂದಿನ ಸಲ ಕನ್ಸೋಲಿನಲ್ಲಿ sudo ಜೊತೆ ಏನಾದರೂ  ಕಮ್ಯಾಂಡ್ ಬಳಸಿದರೆ ಪಾಸ್ವರ್ಡ್ ಕೇಳದೆಯೇ ನಾನು ಅದನ್ನ ಎಕ್ಸಿಕ್ಯೂಟ್ ಮಾಡ ಬಹುದು.


ಮೇಲ್ಕಂಡ ರೀತಿಯಲ್ಲಿ ನಿಮ್ಮ ಯೂಸರ್ ನೇಮ್ ಗೆ ಹೆಚ್ಚಿನ ಅಧಿಕಾರಗಳನ್ನ ಕೊಟ್ಟಿದ್ದರೆ ಹುಷಾರು. ಎಚ್ಚರಿಕೆಯಿಂದ ಕೆಲಸ ಮಾಡಿ.

 ಸೂಚನೆ: sudoers ಫೈಲ್ ಎಡಿಟ್ ಮಾಡಿ, ಅಲ್ಲಿನ ಸಿನ್ಟ್ಯಾಕ್ಸ್ ತಪ್ಪೇನಾದ್ರು ಮಾಡಿದ್ರೆ, ಮತ್ತೆ ನಿಮ್ಮ ಕನ್ಸೋಲಿನಲ್ಲಿ ಸುಡೋ ಕಮ್ಯಾಂಡ್ ಉಪಯೋಗಿಸ್ಲಿಕ್ಕಾಗಲ್ಲ. ನಿಮ್ಮ ಲಿನಕ್ಸ್ ಅನ್ನು ರೆಕವರಿ ಮೋಡ್ನಲ್ಲಿ ಬೂಟ್ ಮಾಡಿ ಆ ಫೈಲನ್ನಎಡಿಟ್ ಮಾಡಬೇಕಾಗತ್ತೆ.