TGViewer
Секреты сисадмина | DevOps, Linux, SRE Секреты сисадмина | DevOps, Linux, SRE @sysadmin_library · 25.5K subscribers
Post #3923 4.73K

Forwarded from Секреты сисадмина | DevOps, Linux, SRE

Скрипт переустановки пароля пользователя MikroTik

# Скрипт смены пароля пользователя
# только для исполнения в терминале ROS

{
:global EnterString do={
:local cont 0; :local string ""
:while ($cont!=13) do={
:local key ([:terminal inkey])
:if ($key!=13) do={
:local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key >> 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]]
:set string ("$string"."$char")}
:set cont $key
}
:return $string}
;
:put "Please, enter Username:"
:local RegUser [$EnterString];
:put "";
:if ([:len [/user find disabled=no name=$RegUser]]!=0) do={:put "Ok, a user with this name was found"; :put "";
:put "Please, enter new password for this user:"
:local newPass [$EnterString];
[/user remove $RegUser];
[/user add name=$RegUser password=$newPass group=full];
:put "";
:put "The user has been re-created, the password has been changed";
:put ("New user`s password: "."$newPass");
:put "Don't forget to set up access restrictions based on ip addresses";
} else={:put ("User "."$RegUser "."not found"); :put "";
}
}

Скрипт интересен строкой преобразования кода символа из переменной $key, сграбленного с клавиатуры терминала, в сам символ.

:local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key >> 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]]

#СекретыСисадмина
More from @sysadmin_library
  1. Oct 1, 2026Как пробросить порт в Linux на другой сервер Необходимо пробросить с 8821 порта сервера 10…
  2. Sep 30, 2026Как практиковаться Junior DevOps-инженеру В этом ролике автор собрал список задач, практик…
  3. Sep 30, 2026Post #5030
  4. Sep 30, 2026document post
  5. Sep 30, 2026Переменные среды в Windows В данной статье показаны действия, с помощью которых можно узна…
  6. Sep 30, 2026Объектное хранилище в эпоху быстрых данных Объём данных, с которыми нужно работать, растёт…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →