# Users, groups आणि sudo

Source: https://ravindrabagale.com/mr/cyber/part-02/ch05-linux-basic-commands/5-6-users-groups-and-sudo.html
Language: mr (Marathi with English technical terms)

वेगवेगळ्या लोकांना आणि services ना वेगळे users/groups दिले की access manage करणं सोपं होतं. Admin कामासाठी गरजेपुरतं sudo वापरू.

 | Command
 | उपयोग

 | whoami
 | सध्याच्या user चं नाव

 | id
 | Current user चे UID, GID आणि groups

 | sudo useradd -​m -​s /​bin/​bash raja
 | Home आणि Bash shell सह user (Ubuntu वर adduser raja interactive)

 | sudo passwd raja
 | Password सेट करणे

 | sudo usermod -​aG wheel raja
 | Admin group मध्ये जोडणे (wheel किंवा sudo; policy तपासा)

 | sudo groupadd devops
 | Group तयार करणे

 | sudo usermod -​aG devops raja
 | अतिरिक्त group जोडणे (-a = append; विसरू नका)

 | groups raja
 | User चे groups पाहणे

 | sudo userdel -​r raja
 | User आणि home folder delete करणे

 | su - raja
 | दुसऱ्या user कडे switch

 | sudo -i
 | Root shell (जपून वापरा; exit ने परत)

whoami current user, id UID/GID/groups दाखवतो. useradd -m -s /bin/bash home आणि Bash shell असलेला user तयार करतो. Ubuntu चं interactive adduser हाही पर्याय आहे. passwd password set करतो; groupadd group तयार करतो.

usermod -aG supplementary group मध्ये user जोडतो. Amazon Linux/CentOS मध्ये admin group wheel, Ubuntu मध्ये sudo असू शकतो; actual sudoers policy तपासा. groups membership, su - user बदलणं आणि sudo -i root login shell सुरू करणं यासाठी. Root shell मधून परतण्यासाठी exit. userdel -r user सोबत home data काढू शकतो, म्हणून फक्त गरज संपलेल्या test user वरच प्रयोग करा.

Accounts आणि sudo rules कुठे असतात?

/etc/passwd accounts, /etc/shadow password hashes आणि /etc/group groups साठी आहेत. /etc/sudoers edit करताना sudo visudo वापरा; syntax check मुळे lockout चा धोका कमी होतो.

Direct root ऐवजी sudo का?

Sudo मुळे परवानगी दिलेल्या command पुरते privileges मिळतात आणि configured logging मध्ये कोणाने काय केलं याचा record ठेवता येतो. EC2 च्या परिचित Amazon Linux/Ubuntu AMIs मध्ये default user ला passwordless sudo आणि direct SSH root login बंद असणं सामान्य आहे; custom images वर settings तपासा.

sudo cat /etc/shadow | head -3     # hashes: $6$ = SHA-512, $y$ = yescrypt
sudo -l                            # what am I allowed to run with sudo?
last -n 10                         # recent logins

Source command shadow मधल्या सुरुवातीच्या hashes दाखवते. Hashes sensitive आहेत—output share करू नका. $6$ SHA-512 आणि $y$ yescrypt format चे prefixes आहेत. sudo -l allowed commands आणि last -n 10 अलीकडचे login records दाखवतो.

Security मध्ये उपयोग

जास्त शक्तिशाली program ला अमर्याद sudo परवानगी दिल्यास अपेक्षेपेक्षा जास्त access मिळू शकतो. उदाहरणार्थ editor ला unrestricted NOPASSWD permission देणं धोकादायक ठरू शकतं. Sudoers, wheel/sudo membership आणि माजी users ची access नियमित review करा.

Practice

आपल्या disposable lab मध्ये shahrukh user तयार करा, password set करा आणि योग्य admin group मध्ये जोडा. su - ने switch करून sudo whoami आणि sudo -l तपासा.

रवींद्र बागले यांची tip

usermod -G मध्ये -a विसरला तर आधीचे supplementary groups काढले जाऊ शकतात आणि sudo accessही जाऊ शकतो. विद्यमान groups ठेवून नवा group जोडताना -aG वापरा—“a” म्हणजे append.
