Получить пользователей и группы из файла tac_plus - PullRequest
0 голосов
/ 19 февраля 2020

Мне было поручено получить пользователей и группы из файла tac_plus, который находится в нашей среде Linux. Человек до меня создал сценарий python, который больше не работает, и я сам не python.

Этот сценарий в основном использовался для вывода имени пользователя и фамилии, а также доступа group


Ниже приведен скрипт, созданный человеком. Если кто-то может пролить некоторый свет, который был бы очень благодарен

#!/usr/bin/python
# v0.1 read_tacacs.py
# Read tac_plus.cfg file and grep username/full_name/access type into column list.

from datetime import datetime

i = datetime.now()

user_name = []
full_name = []
group_access = []


with open('/usr/local/etc/tac_plus.cfg', 'r') as searchfile:
        for line in searchfile:
                if 'user =' in line:
                        user_name.append(line.split()[2])
                if 'Full Name:' in line:
                        full_name.append(line.split()[3]+ ' ' + line.split()[4])
                if 'member' in line:
                        if '@all' in line:
                                line = line.split()[2]
                                group_access.append(line.replace("@all",""))
                                #group_access.append(line)
                                #group_access.append(line.split()[2])

print '{0:20} {1:25} {2}'.format('TACACSID','Full Name', 'Access')

for x in range(len(user_name)):
        print '{0:20} {1:25} {2}'.format(user_name[x], full_name[x], group_access[x])

print '\nDate Generated: ' + i.strftime('%d/%m/%Y - %H:%M:%S')

searchfile.closed

Ниже приведена ошибка, которую я получаю.

Traceback (последний вызов был последним): Файл "./read_tacacs. py ", строка 20, в full_name.append (line.split () [3] + '' + line.split () [4]) IndexError: список индексов выходит за пределы диапазона


Любая помощь будет очень признателен

Заранее спасибо

Рави

1 Ответ

0 голосов
/ 19 февраля 2020

это означает, что строка, соответствующая "'Full Name:'" в файле /usr/local/etc/tac_plus.cfg, может не содержать ни 3-й строки, ни 4-й элемент строки. вам может понадобиться проверить файл /usr/local/etc/tac_plus.cfg для расследования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...