понедельник, 10 декабря 2018 г.

Cамба сервер 
отсюда
Если Вам в "наследство" или каким то другим способом достался контроллер домена на Samba в роли PDC, то Вы рано или поздно столкнетесь с ситуацией, когда нужно будет узнать какой пользователь домена открыл тот или иной файл, так как для всех остальных кто имеет к нему доступ, он становится только для чтения. Происходит это по вполне понятным причинам, но расчудесный офисный пакет от MS который иногда работает только по одному ему известным алгоритмам, не показывает у кого именно открыт целевой файл, даже если в настройках прописано имя пользователя. Бухгалтера и прочие экономисты и слышать не хотят про какие то там "невозможно", "файл открыт другим пользователям", им подавай здесь и сейчас -- Работа стоит!
Чтобы работа не стояла и настроение ни у кого не портилось, открываем терминал с правами суперпользователя root и выведем список файлов которые на данный момент заблокированы от изменений.
smbstatus -L
В выхлопе может быть много всякого ненужного мусора, но мы зная имя целевого файла с помощью grep элегантно уберем все лишнее.
smbstatus -L | grep file_name
В выводе будет содержаться pid процесса которым сейчас используется этот файл и собственно путь до него. Далее нам нужно сопоставить pid процесса и имя пользователя.
Например pid процесса открывшего файл - 10023
smbstatus -u | grep 10023
Теперь Samba выведет нам логин пользователя открывшего файл.
//Как показывает практика, чаще всего можно начинать со второго этапа, опустив выполнение
smbstatus -L