Веб-версияОткрыть в Telegram

ПостМодуль pwd может использоваться для считывания информации о пользователях из базы данных паролей Unix (обычно /etc/passw…

6 июля 2026
P
Python Заметки
Ссылка
нажмите — покажем
Модуль pwd может использоваться для считывания информации о пользователях из базы данных паролей Unix (обычно /etc/passwd ). Получить объект текущего юзера можно так: import pwd user_pwd = pwd.getpwnam(username) Теперь нам доступны основные данные из файла passwd print('ID:', f'{user_pwd.pw_uid}:{user_pwd.pw_gid}') print('HOME:', user_pwd.pw_dir) print('Shell:', user_pwd.pw_shell) Когда это может быть полезно? ▫️ Проверка наличия юзера в системе по имени def user_exists(username): try: pwd.getpwnam(username) return True except KeyError: return False ▫️ Преобразование имени юзера в ID Пример с понижением привелегий процесса когда он запущен от root import os import pwd safe_user = 'nobody' # находим UID для безопасного пользователя target_uid = pwd.getpwnam(safe_user).pw_uid target_gid = pwd.getpwnam(safe_user).pw_gid # меняем права процесса os.setgid(target_gid) os.setuid(target_uid) # Выполняем какие-то действия os.chdir('/tmp') with open('nobody-file.txt', 'w') as f: pass # теперь проверьте, файл будет создан от имени юзера nobody ▫️Преобразование ID юзера в имя user_name = pwd.getpwuid(user_id).pw_name ▫️Определение домашней директории не текущего юзера pwd.getpwnam(username).pw_dir Работает только в Unix-системах #libs
5 · 607 ·

Рядом в ленте

PPython ЗаметкиMulti Tenancy - это архитектурный подход в разработке, при котором один экземпляр приложения обслуживает множество разных клиентов так, что они имеют доступ толPPython ЗаметкиНедавно я реализовал Multi Tenancy систему на FastAPI + SQLAlchemy и пересобрал её в небольшой демо проект. Ключевые особенности: ▫️ Основной всего является сущ
это сообщение
PPython ЗаметкиВ прошлый раз был пример с понижением привелегий процесса. Проблема в том, что обратно поднять привилегии нельзя. Чтобы не потерять уровень доступа текущего проPPython ЗаметкиУ меня основная ОС это Linux. Но нередко требуется делать сборку клиента под Windows. Собираю обычно через Pynstaller/Nuitka. И вот этапы борьбы поиска удобного

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем