diff --git a/net/proxy/reverse/pangolin.txt b/net/proxy/reverse/pangolin.txt new file mode 100644 index 000000000..2f8733f23 --- /dev/null +++ b/net/proxy/reverse/pangolin.txt @@ -0,0 +1,2 @@ +https://digpangolin.com/ +https://github.com/fosrl/pangolin diff --git a/os/unix/admin/security/su.txt b/os/unix/admin/security/su.txt index 34eefa419..8da3d639e 100644 --- a/os/unix/admin/security/su.txt +++ b/os/unix/admin/security/su.txt @@ -1,2 +1,52 @@ sudo - ??? + +su «substitute user» — заменить пользователя +sudo «substitute user and do» — подменить пользователя и выполнить + +su требует пароль целевой учетной записи, на кого переключаемся. +sudo требует пароль текущего пользователя и запускает от его имени команды, которым требуются права суперюзера. + +Например, мы сидим под пользователем user и хотим войти под John: + +user@dev:/$ su john +Будет запрошен пароль, нужно ввести пароль именно от учетной записи john, а не от user. + +А вот пример с sudo: + +user@dev:/$ sudo -u john whoami +А здесь нужно ввести пароль от учетной записи user, а не от John или рута. Но для этого случая сперва необходимо добавить пермишены для пользователя user в файл /etc/sudoers. + +user ALL=(ALL:ALL) ALL +Редактировать этот файл можно по средствам команды visudo. А свалидировать конфиг можно командой visudo -c. Редактирование этого файла через visodu хорошо тем, что если вы допустите ошибку, то при сохранении, оно сообщит о ней. +А для чего нужен дефис после su? + +Для очистки переменных и чтобы пользоваться чистой оболочкой при переключении на другого пользователя. + +Авторизуемся под пользователем user и экспортируем переменную: + +ssh user@pc +export a="test" +Теперь у пользователя user есть переменная "a" которая = test. + +Переключаемся на пользователя John и смотрим переменную "a" + +su john +echo $a +Вывелась строчка test. То есть все что мы задали под user, перекочевало в оболочку john. А теперь добавим дефис: + +su - john +echo $a +Переменная $a больше не выводится. Чистая оболочка. Кстати с этим дефисом часто косячат и потом долго не могут понять в чем причина. Переменные вроде были заданы, а потом куда-то пропали. + +su (с дефисом) — сначала переключается пользователь, а затем запускается shell, зачищаются все переменные. +su (без дефиса) — переключает пользователя, оставляя переменные окружения старого пользователя. +У sudo есть подобные ключи -s -i + +user@pc:/$ sudo -s +Запустится оболочка с правами root + +user@pc:/$ sudo -i +Запустится оболочка, но уже с чтением файлов root/.profile/.bashrc и т.п. Можно попробовать добавить экспорт переменной в .profile, сделать sudo -s/-i и увидеть что с ключом -i переменная выведется на экран. + +По сути sudo -i = команде sudo su -. Но обычно за sudo su - в приличных местах можно получить по шапке. Это плохая практика! Так как это порождает дополнительный процесс и больше гемора с набором самой команды. diff --git a/science/ai/code-assist/dyad.txt b/science/ai/code-assist/dyad.txt new file mode 100644 index 000000000..d22ec1c67 --- /dev/null +++ b/science/ai/code-assist/dyad.txt @@ -0,0 +1,7 @@ +https://www.dyad.sh/ +https://github.com/dyad-sh/dyad + +https://www.dyad.sh/docs +https://www.dyad.sh/blog + +https://academy.dyad.sh/ diff --git a/science/ai/code-assist/source-to-llm.txt b/science/ai/code-assist/source-to-llm.txt new file mode 100644 index 000000000..9c097cc85 --- /dev/null +++ b/science/ai/code-assist/source-to-llm.txt @@ -0,0 +1 @@ +github.com/ai-belov/source-to-llm