sed -i "s/.*PasswordAuthentication.*/PasswordAuthentication no/" /etc/ssh/sshd_config
четверг, 20 февраля 2025 г.
суббота, 8 февраля 2025 г.
start openvpn client
cp file.ovpn /etc/openvpn/client/file.conf
sudo systemctl enable openvpn-client@file
sudo systemctl start openvpn-client@file
sudo systemctl stop openvpn-client@file
chrome в режиме киоска
/usr/bin/google-chrome --kiosk --window-size=1281,1025 --window-position=0,0 --no-first-run --incognito --no-default-browser-check --disable-translate --app=https://kinopoisk.ru/
вторник, 4 февраля 2025 г.
Маленький веб сервер
Встроенный веб-сервер php
cd ~/public_html
sudo php -S localhost:80
Средствами nc
http://хост netcat:80/index.html. Для использования стандартного порта веб-сервера под номером 80 необходимо запустить nc c root привелегиями:
while true; do sudo nc -lp 80 < index.html; done
пятница, 10 января 2025 г.
Bitrix / Добавляем в корзину товар, которого нет в каталоге.
ajax запрос...
$(".cartr").on("click", function() {
$.ajax({
type: 'POST',
cache: false,
url: '/services/cart/',
data: {item: $(this).closest('.replacement').attr('value')+';'+$(this).closest('.replacement').find(".price").text()},
success: function (data) {
$('.basket-line-block-icon-cart').text(data['count']+" позиции");
$(this).find("path").css('stroke: #836063;');
}
});
return false;
});
Обработка ajax запрос...
/services/cart/index.php
<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");
use \Bitrix\Main\Loader;
Loader::includeModule('iblock');
Loader::includeModule('sale');
Loader::includeModule('catalog');
if ((include $_SERVER["DOCUMENT_ROOT"].'/services/include.php') != TRUE) {
exit;
}
if(isset($_POST['item'])) {
$json = $_POST['item'];
header("Content-type: application/json; charset=UTF-8");
header("Cache-Control: must-revalidate");
header("Pragma: no-cache");
header("Expires: -1");
$arr = explode(';', $json);
$vowels = array(" ", "₽", " ");
$siteId = 's1'; // ID сайта, к которому будет привязана корзина
$basket = \Bitrix\Sale\Basket::create($siteId);
$item = $basket->createItem('catalog', rand(10000000000, 11000000000));
$item->setFields([
'QUANTITY' => '1',
'CURRENCY' => Bitrix\Currency\CurrencyManager::getBaseCurrency(),
'LID' => Bitrix\Main\Context::getCurrent()->getSite(),
'NAME' => $arr[0]." / ".$arr[1],
'PRICE' => ceil(floatval(str_replace($vowels, "", $arr[2]))),
'CUSTOM_PRICE' => 'Y',
]);
$b = $basket->save();
$dbRes = \Bitrix\Sale\Basket::getList(
[
'select' => ['NAME', 'QUANTITY'],
'filter' => [
'=FUSER_ID' => \Bitrix\Sale\Fuser::getId(),
'=ORDER_ID' => null,
'=LID' => \Bitrix\Main\Context::getCurrent()->getSite(),
'=CAN_BUY' => 'Y',
]
]
);
$c=0;
while ($item = $dbRes->fetch())
{
$c++;
}
print json_encode(array('result' => $b->isSuccess(), 'count' => $c, 'user' => \Bitrix\Sale\Fuser::getId()));
}
воскресенье, 11 августа 2024 г.
Получение буфера обмена по SSH
sudo nvim /etc/ssh/sshd_config
Удаляем диезы # у сток:
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
Перезапускаем SSHD
sudo systemctl reload sshd
пятница, 31 мая 2024 г.
четверг, 12 октября 2023 г.
ssh туннель (бесплатный VPN по SSH)
На удаленной машине:
Настраиваем ssh сервер.
sudo nvim /etc/ssh/sshd_config
PermitTunnel yes
AllowTCPForwarding yes
Перезапускаем ssh сервер.
systemctl restart sshd
На локальной машине
sudo su
ssh -f -v -o Tunnel=point-to-point -o ServerAliveInterval=10 -o TCPKeepAlive=yes -w 100:100 root@IP-remote-host \
'/sbin/ifconfig tun100 172.16.40.1 netmask 255.255.255.252 pointopoint 172.16.40.2' && \
/sbin/ifconfig tun100 172.16.40.2 netmask 255.255.255.252 pointopoint 172.16.40.1
где IP-remote-host - IP удаленной машины.
Проверяем открыт-ли порт на удаленной машине
nc -zvw3 IP-remote-host
Connection to IP-remote-host port [tcp/ssh] succeeded!
четверг, 14 сентября 2023 г.
Изменить уровень запуска в systemd
В Ubuntu 16.04 вместо init используется systemd, поэтому понятие runlevelsзаменяется термином targets. Таким образом, действительно существует соответствие между уровнями запуска на основе init и целями на основе systemd: Mapping between runlevels and systemd targets
Теперь, чтобы просто изменить «уровни запуска» в 16.04, вы можете использовать, например:
Чтобы сделать это «уровнем запуска» по умолчанию, вы можете использовать:
воскресенье, 27 августа 2023 г.
remap caps lock ctrl
в консоли, а не в X11
sudo usermod -a -G input user
где user - имя пользователя
evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event4: AT Translated Set 2 keyboard
evtest /dev/input/event4
Input driver version is 1.0.1
Input device ID: bus 0x11 vendor 0x1 product 0x1 version 0xab41
Event: time 1630747582.938161, type 4 (EV_MSC), code 4 (MSC_SCAN), value 3a
Event: time 1630747582.938161, type 1 (EV_KEY), code 58 (KEY_CAPSLOCK), value 0
dmesg | grep input
sudo vim /lib/udev/hwdb.d/90-keyboard-changes.hwdb
evdev:input:b0011v0001p0001*KEYBOARD_KEY_3a=leftctrl
systemd-hwdb -s update
udevadm trigger /dev/input/event4
Тест
evtest /dev/input/event4
Event: time 1630751006.715770, type 4 (EV_MSC), code 4 (MSC_SCAN), value 3a
Event: time 1630751006.715770, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
четверг, 17 августа 2023 г.
Создание LVM на «горячей» машине
Создать LVM раздел на уже установленной системе просто. Первым шагом будет убедиться, что раздел, который Вы хотите сделать LVM не примонтирован, а лучше вообще не создан. В случае, если он не создан, то нужно выполнить команды:
fdisk /dev/mb123, где /dev/mb123 — диск на котором мы создаём раздел.
Жмём d для удаления раздела. enter
Далее объявляем раздел LVM. Для этого жмём t, указываем номер раздела и вводим id lvm. Это 8e. Жмём w — записать изменения на диск.
Проделываем подобные операции со всеми дисками, которые планируется добавить в LVM массив. Что бы проверить успешность действий выше можно ввести команду:
fdisk -l /dev/mb123
В выводе мы увидим раздел с меткой LVM.
Теперь нужно создать физические разделы на LVM. Для этого воспользуемся командой:
pvcreate /dev/mb123 и для остальных дисков так же.
Ну и теперь объединяем их в один логический раздел:
vgcreate vg0 /dev/mb123 /dev/sdb1 (тут указываются все разделы, которые нужно объединить в один)
Далее нужно создать том на логическом разделе командой lvcreate:
lvcreate -L2G -nlogvol1 vg0 (где logvol1 метка тома)
Для монтирования LVM используются следующие конструкции, изменённые для конкретного случая:
mkfs.ext4 /dev/vg0/logvol1 — создаётся файловая система
И монтируем её
mount /dev/vg0/storage1 /home
Для постоянного монтирования раздела добавляем строку в fstab:
vi /etc/fstab
/dev/vg0/storage1 /home ext4 defaults 1 2
Split / разбить dump
//Разбить дамп по 50000 строк for i in `ls *.sql`; do split -d -l 50000 -a 4 --additional-suffix=.sql $i "$(basename "$i" .sq...
-
Проверить на любые изменения файлов find . -type f -name '*.php' -mtime -2 Сравнение 2-х версий сайта. diff -r wordpress-cle...
-
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); $ELEMENT_ID = 97517; // код элемента $PROPERTY_CODE = ...
.jpeg)