TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
My folder vip

26 Aug, 15:49

Open in Telegram Share Report

فصل هفتم — قسمت شصت و نهم 🐧
پیاده سازی su و sudo
————————————

در این قسمت دو مفهوم خیلی مهم برای مدیریت دسترسی کاربران داریم:
su
↓
تغییر کاربر

sudo
↓
اجرای یک دستور با دسترسی کاربر دیگر، معمولاً root


——————

1️⃣ su چیست؟
su مخفف Switch User است.
یعنی از یک User وارد User دیگری شویم.
مثلاً:
su ali
→ وارد حساب ali می‌شوی و Password او را می‌خواهد.
برای رفتن به root:
su -
→ وارد root می‌شوی و محیط Login مربوط به root را هم دریافت می‌کنی.
🧠 تفاوت مهم:
su
→ تغییر User

sudo
→ اجرای یک دستور با دسترسی User دیگر

—————————

2️⃣ sudo چیست؟
sudo یعنی:
این دستور را با دسترسی مدیریتی اجرا کن.

مثلاً کاربر ali کاربر معمولی است:
whoami
ali
ولی می‌خواهد یک Package نصب کند:
sudo dnf install nginx
دستور با دسترسی root اجرا می‌شود، ولی خود User تبدیل به root نمی‌شود.
مثلاً:
sudo systemctl restart sshd
فقط همان دستور با دسترسی مناسب اجرا می‌شود.
————————
3️⃣ چرا sudo بهتر از استفاده دائمی از root است؟
فرض کن:
ali → User معمولی
فقط زمانی که نیاز دارد:
sudo command
اجرا می‌کند.
بنابراین لازم نیست دائماً داخل root باشی.
این موضوع از نظر امنیت و Audit هم بهتر است.


————————

4️⃣ sudoers چیست؟
قوانین sudo در این قسمت مدیریت می‌شوند:
/etc/sudoers
اما ❌ نباید معمولاً با nano مستقیماً فایل را ویرایش کنیم.
از:
visudo
استفاده می‌کنیم.
visudo فایل sudoers را با بررسی Syntax ویرایش می‌کند.

———————-

5️⃣ ساختار یک قانون sudoers
مثلاً:
admin1 ALL=(ALL) NOPASSWD: ALL
یعنی:
admin1
↓
نام کاربر

ALL
↓
از هر Host

(ALL)
↓
می‌تواند به عنوان Userهای مجاز اجرا کند

NOPASSWD
↓
Password نمی‌خواهد

ALL
↓
تمام دستورات
پس:
admin1
می‌تواند تمام دستورات sudo را بدون درخواست Password اجرا کند.

⚠️ این دسترسی بسیار قدرتمند است و عملاً تقریباً معادل دسترسی کامل مدیریتی است.


——————

6️⃣ یک مثال محدودتر
مثلاً فقط اجازه بدهیم ali سرویس SSH را Restart کند:
ali ALL=(root) /usr/bin/systemctl restart sshd
یعنی:
ali
↓
sudo
↓
فقط systemctl restart sshd
↓
با دسترسی root
کاربر نمی‌تواند با همین Rule مثلاً این را اجرا کند:
sudo dnf install nginx



————-

7️⃣ یک مثال کاربردی دیگر
فرض کنیم کاربر backup فقط اجازه داشته باشد Backup را اجرا کند:
backup ALL=(root) /usr/local/bin/backup.sh
پس:
sudo /usr/local/bin/backup.sh
مجاز است، اما مثلاً:
sudo rm -rf /important
مجاز نیست.
🧠 این همان اصل Least Privilege است:
هر User فقط به اندازه‌ای که لازم دارد دسترسی داشته باشد.


————-

8️⃣ مثال برای dnf
Rule خودت:
admin2 ALL=(root) /usr/bin/dnf update
یعنی admin2 اجازه دارد:
sudo /usr/bin/dnf update
را با دسترسی root اجرا کند.
اما یک نکته مهم:
⚠️ مسیر Binary را دقیق بررسی کن
ممکن است در سیستم مسیر dnf متفاوت باشد.
با:
which dnf
مسیر واقعی را پیدا کن.
مثلاً:
/usr/bin/dnf
و همان را در sudoers بنویس.



—————
9️⃣ wheel در Red Hat
در خانواده Red Hat:
RHEL
Fedora
AlmaLinux
Rocky Linux
گروه معروف مدیریتی:
wheel
است.
مثلاً:
usermod -aG wheel ali
یعنی ali را عضو wheel کن.
بعد اگر sudoers سیستم اجازه داده باشد، ali می‌تواند از sudo استفاده کند.

————-

🔟 در Debian/Ubuntu
در Debian و Ubuntu معمولاً گروه:
sudo
است.
مثلاً:
usermod -aG sudo ali

23 0 2
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot