Среда ПОЛЬЗОВАТЕЛЬ и ИМЯ ПОЛЬЗОВАТЕЛЯ в CentOS 7

После расширения командной строки:

eval отправляет обратно аргументы на первый шаг "Обработка командной строки".

Все шаги Обработки командной строки представлены на этой странице.

4
20.09.2017, 15:37
2 ответа

Судя по всему, программа sudoизменилась с CentOS 7.3 на 7.4. Кроме того, я узнал, что в модуле Python getpassфункция getuserсначала использует переменные среды, что не оптимально.

Чтобы решить свой первоначальный вопрос, я выбрал следующий фрагмент кода Python, который, по-видимому, имеет желаемое поведение.

import os
import pwd
pwd.getpwuid(os.getuid()).pw_name
0
27.01.2020, 21:01

В CentOS 7.4 были внесены изменения в программу sudo. Вопрос действительно в том, что пользователь хочет получить имя пользователя ОС в коде Python. Кажется, что все методы зависят от переменных среды, поэтому они могут работать не во всех сценариях.

Вы можете попробовать эти варианты, чтобы они работали хотя бы на CentOS 7.3 и 7.4

import commands
username = commands.getoutput("logname")
print username

import os
os.getlogin()

Примечание.:Я бы добавил это как комментарий, но я только начал отвечать на вопросы, и у меня недостаточно репутации, чтобы добавить это как комментарий.

1
27.01.2020, 21:01

Теги

Похожие вопросы