Задача:
Есть задача произвести инвентаризацию компов на новой работе. В табличку нужно выписать пользователя, hostname, мак-адрес lan и wlan.
При условии что все компьютеры на Linux c network-manager-tool
Для чего ? Для внесения на DNS сервер, что позволит в дальнейшем обслуживать компы удаленно не бегая к пользователю.
------------
Мысли до реализации:
Можно конечно подойти и у каждого человека проверить все эти параметры выписать в блокнотик потом сидеть переписывать, и правильно будет если у вас 10-20 машин в сети.
У меня оказалось около 100, на сколько актуальный username на компе я знать не могу, поэтому пройтись все равно пришлось, я исключил переписывание данных в блокнотик.
-----------
Реализация:
1. Поднимаем samba, или пользуемся уже имеющейся.
2. Создаем скрипт который в дальнейшем закидываем на нашу шару:
#! /bin/sh
#Переходим в домашний каталог root
cd ~root
#Копирует файлик *.csv c моей шары на локальную машину
smbget -a smb://192.168.103.45/share/test.csv ;
#Заполняем формы выводами команд
echo -n `users` >> test.csv
echo -n "," >> test.csv
echo -n `hostname` >> test.csv
echo -n "," >> test.csv
echo -n `nm-tool | grep Wired -C4 | grep HW | cut -b 22-38` >> test.csv
echo -n "," >> test.csv
echo -n `nm-tool | grep WiFi -C4 | grep HW | cut -b 22-38` >> test.csv
echo ` ` >> test.csv
#Заливает файлик *.csv с локальной машины на сервер
smbclient //192.168.103.45/share/ -U guest -N -c 'put test.csv; exit'
#Удаляет за собой *.csv и .sh который там уже не нужен
rm test.csv
rm infouser.sh
3. Теперь нам надо лишь подойти к пользователю, попросить его представится, открыть консоль сверить юзернейм и запустить скрипт с учетки суперпользователя т.к. мы используем его каталоги:
sudo wget http://192.168.103.45/infouser.sh ; sudo bash ./infouser.sh ; exit
ps: для того чтоб не набирать эту строчку каждый раз я быстро поднял lamp и закинул туда эту строчку и заодно и скрипт который как видите копируется командой wget.
Может быть тут сидят админы и кому-то это может пригодится. Если что могу помочь ребятам вытягивать другие выводы команд.