TGViewer
Библиотека питониста | Python, Django, Flask Библиотека питониста | Python, Django, Flask @pyproglib · 37.3K subscribers
Post #7471 3.87K
🛠 Шпаргалка: как проверить, запущен ли Python-скрипт с повышенными правами

Иногда скрипту нужны root (Linux/macOS) или admin (Windows) права. Если их нет — лучше сразу завершиться, а не падать позже на системных операциях.

🐧 Linux / macOS — проверка на root

В Unix-системах всё просто: UID = 0 → это root

import os

def is_root() -> bool:
"""True, если скрипт запущен с root-правами (Linux/macOS)."""
if os.name == "posix":
return os.getuid() == 0
return False


📌 Использует встроенную функцию os.getuid().

🪟 Windows — проверка на администратора

В Windows нет UID 0, поэтому используем вызов системной функции через ctypes:

import ctypes
import os

def is_admin() -> bool:
"""True, если скрипт запущен с правами администратора (Windows)."""
if os.name == "nt":
return ctypes.windll.shell32.IsUserAnAdmin() != 0
return False


📌 Вызывает Windows API: IsUserAnAdmin.

🌍 Универсальная функция

Если нужен один метод под все ОС:

import os
import ctypes

def has_elevated_privileges() -> bool:
if os.name == "posix":
return os.getuid() == 0
elif os.name == "nt":
return ctypes.windll.shell32.IsUserAnAdmin() != 0
return False



⚠️ В продакшене часто делают так:

if not has_elevated_privileges():
print("Требуются права администратора/root")
exit(1)


Просто, быстро и спасает от странных ошибок дальше по коду.

📍 Навигация: Вакансии • Задачи • Собесы

🐸 Библиотека питониста

#буст
  • 👍 9
  • ❤ 6
  • 🤔 4
More from @pyproglib
  1. Sep 30, 2026🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать е…
  2. Sep 25, 2026🔥 Курс «ИИ для разработчиков» уже стартовал И мы решили открыть первое занятие всем — мож…
  3. Sep 20, 2026👻 94% токенов уходят не на код Анализ запусков показал: основная часть токенов уходит на…
  4. Sep 19, 2026📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих» Мы написали и собр…
  5. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  6. Sep 15, 2026⏱️ Справочник по Big-O в Python Для тех, кто хочет писать не просто работающий, а эффектив…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →