Задать вопрос
Ответы пользователя по тегу Linux
  • Почему rtcwake запускает машину каждый день и где это настраиваеца?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    А где у него кнопка ВЫКЛ? Как убрать это расписание?

    rtcwake -m disable? Можно ещё заглянуть в rtcwake -m show ради интереса.
    Ответ написан
    Комментировать
  • Как получить stdout уже запущенного процесса?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    при релогине на сервер,при релогине на сервер, естественно, не видим уже ничего, хотя этот процесс работает в фоне естественно, не видим уже ничего, хотя этот процесс работает в фоне

    Что-то я не уверен, что процесс "работает в фоне". Потому что если запустить процесс как фоновый, а потом закрыть терминал, очередной вывод в stdout у процесса заканчивается ошибкой (что можно посмотреть через strace):
    write(1, "y\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\n"..., 8192) = -1 EIO (Input/output error)

    После чего нормальный процесс завершается. Ненормальный процесс, конечно, может продолжать писать в файл после ошибки, но что при этом происходит сказать сложно.
    Ответ написан
    Комментировать
  • Как получить доступ к файлу в пользовательской папке внутри рутовой в Ubuntu?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Мне казалось, что если моя, как пользователя, папка и файлы лежат внутри чужой, то я все равно смогу иметь к ним доступ.
    Возможно, это не так. Если да, то почему?

    Это не так. Для того чтобы иметь какой бы то ни было доступ к файлу нужно иметь доступ 'x' к каждому каталогу в пути до этого файла. Т.е. для доступа к файлу /root/.crons/whatever нужно иметь 'x' к /root и 'x' к /root/.crons.
    Ответ написан
    Комментировать
  • Как объединить строки через grep\sed в одну?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    join -t , -j 1 \
        <(sed 's/\([^,]*,[^,]*\).*/\1/g' < 1.txt | sort) \
        <(sed 's/[^,]*,[^,]*,//g' < 2.txt | sort)
    Ответ написан
    Комментировать
  • Как восстановить корректную работу gcc?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    После установки musl-libc

    что за линукс? как устанавливал musl-libc?
    Ответ написан
  • Где и как вы храните SSH и PGP ключи?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    какие инструменты вы используете для хранения SSH и PGP ключей?

    домашний каталог. вопрос точно про linux?

    Нет желания после переустановки системы создавать новые ключи и обновлять их на серверах или таких сервисах как GitHib

    можно держать домашний каталог на отдельном разделе. и иногда делать его бэкап.
    Ответ написан
    Комментировать
  • Как поддерживается безопасность при выполнении команд через ssh?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Когда мы пытаемся выполнить команду (впринципе без разницы какую, пускай будет ls -la) (пункт 4)
    делаются ли какие-то дополнительные проверки на сервере с точки зрения безопасности?

    Нет. Пользователь зашедший по ssh ничем не отличается от обычного локального пользователя.

    Может кто-то подскажет какой алгоритм выполнения команды на удаленной машине? (При условии что мы уже подключились к серверу).

    Достаточно посмотреть в вывод команды pstree:
    ├─sshd(700)─┬─sshd(8208)───sshd(8214,jcmvbkbc)───bash(8215)───ssh(8231)
    │           └─sshd(8232)───sshd(8238,jcmvbkbc)───bash(8239)───pstree(8244)

    чтобы понять, что после подключения по ssh, sshd (демон ssh, процесс 8238) запускает login-shell (процесс 8239), который показывает приглашение ввода ($). Когда в нём набирается команда pstree (процесс 8244), шелл просто запускает эту команду.
    Ответ написан
    6 комментариев
  • Где сменить имя сервера?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    /etc/hostname
    и /etc/hosts потом поправить
    Ответ написан
    Комментировать
  • Как работать с утилитой flock?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    flock -w 10 /tmp/lock.lock ./dev.sh

    Чудесно отрабатывает столько раз подряд сколько я даю это команду в консоли. Что я делаю не так? Или я неверно понял то, что делает утилита?

    Неправильно понял. В такой форме запуска она блокирует файл на время выполнения ./dev.sh, после чего освобождает его. Можно запускать так:
    flock -w 10 /tmp/lock.lock ./dev.sh &
    и тогда должна наблюдаться сериализация на /tmp/lock.lock и отвал по таймауту, если ./dev.sh работает дольше 10 секунд.
    Ответ написан
    Комментировать
  • Как стереть данные с readonly filesystem диска?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    sudo /sbin/hdparm --security-erase 'NULL' /dev/sd<буква устройства ssd>
    Ответ написан
    6 комментариев
  • Почему происходят соединения по IPv6?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    почему у сервера есть соединения IPv6

    скорее всего потому что приложение, в данном случае апач, использует IPv4-mapped IPv6 адрес.
    Можно посмотреть в /proc/net/tcp6, там эти адреса выглядят так:
    sl  local_address                         remote_address                        st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode
    14: 0000000000000000FFFF00001F44CB0A:A5A2 0000000000000000FFFF00004B44CB0A:06B4 01 00000000:00000000 02:000000F6 00000000  1000        0 20787517 2 ffff8e7add433800 20 4 1 10 -1

    т.е. 96 старших битов адреса -- ::FFFF:0:0, 32 младших бита -- обычный IPv4 адрес.

    Вот пример кода, который, если его скомпилировать и запустить, открывает сокет ipv6, к которому можно присоединиться как по ipv4 так и по ipv6:
    $ ./ipv6 &
    $ nc 127.0.0.1 13330 &
    $ lsof -i6
    ipv6      18422 jcmvbkbc    3u  IPv6 21018438      0t0  TCP *:13330 (LISTEN)
    ipv6      18422 jcmvbkbc    4u  IPv6 21018439      0t0  TCP localhost:13330->localhost:36196 (ESTABLISHED)
    Ответ написан
    2 комментария
  • Как в Bash загрузить несколько файлов и склеить в один?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    mkfifo /tmp/content/$i
      curl -s "${urls[$i]}" > /tmp/content/$i &

    Bash делает, что-то невероятное - вместо N параллельных запросов, каждый из которых выполнится за 1-2 сек (а значит вся закачка+сборка займет пару секунд), он делает запросы последовательно

    Ну учи матчасть, что ли. Ты заставил curl выводить результаты в FIFO вместо того, чтобы выводить их в файлы, а у FIFO совсем маленький буфер, после заполнения которого запись в FIFO блокируется, пока из него не начнётся чтение.
    Если уж хотелось параллельности, можно было сделать так:
    rm -rf /tmp/content
    mkdir /tmp/content
    
    for i in ${!urls[@]}; do
      curl -s "${urls[$i]}" > /tmp/content/$i &
    done
    
    wait
    rm -f /tmp/output
    
    for i in ${!urls[@]}; do
      cat /tmp/content/$i >> /tmp/output
    done
    Ответ написан
    1 комментарий
  • Запуск 64-битных ОС на виртуальной машине без поддержки аппаратной виртуализации в linux?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    В qemu такое возможно.

    Да. Ну так и в чём вопрос?
    Ответ написан
    Комментировать
  • При каких случай не записываются kernel логи?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Логи в линуксе -- это обычные файлы, обычно их пишет процесс в котором запущено что-то типа syslog. Соответственно, логи не записываются если кончилось место в /var, сломалась файловая система, файловая система примонтирована только для чтения, если процесс пишущий лог был завершён и не перезапущен, если логгирование было неправильно сконфигурировано и т.д. и т.п.
    Ответ написан
    2 комментария
  • Можно ли в hosts.deny заблокировать определенные порты или только конкретные службы?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    man tcpd
    Короткий ответ: нет, приложение должно быть настроено или собрано соответствующим образом, чтобы использовать hosts.{allow,deny}.
    Ответ написан
    Комментировать
  • Как расшифровать файлы encfs?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Настройки должны были остаться в домашнем каталоге. Установи cryptkeeper обатно и всё должно работать.
    Однако, я подозреваю, что пароли надо вводить при монтировании, так что если пароли утеряны, то, наверно, всё...
    Ответ написан
  • Почему скрипт отрабатывает именно так?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    mysqldump $base > /var/lib/bareos/backup/$base-$DATE.sql &2>> /var/log/mysql/log.txt

    потому что нет такого перенаправления в баше: &2>>, & трактуется как "выполнять в фоне".
    Ответ написан
    Комментировать
  • Что не так я передаю в TAR?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    tar: Удаляется начальный `/' из имен объектов

    Это просто предупреждение о том, что внутри архива у файлов не будет ведущего /, не смотря на то, что в командной строке он есть. Но если хочется, можно написать так:
    tar -g home/sites/backup/2017/12/full.0.tar.gz \
      -czf home/sites/backup/2017/12/full.28.tar.gz \
      --exclude-from=home/sites/scripts/backup_exclude \
      --ignore-failed-read \
      --listed-incremental home/sites/backup/2017/12/list \
      -C / \
      home/sites/web/project/

    Т.е. перенести опции до пути к архивируемым файлам и добавить -C / чтобы перейти в корневой каталог, от которого путь home/sites/web/project/ будет найден.
    Отсутствие ведущих / перед параметрами -f, --exclude-from и --listed-incremental выглядит подозрительно, и, если что, не влияет на выдачу предупреждения tar: Удаляется начальный `/' из имен объектов
    Ответ написан
    Комментировать
  • Как сломать генератор случайных чисел в ядре линукса?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Я нашёл файл random.h

    Тебе надо понять, какой именно генератор ты хочешь сломать. Потому что их в ядре несколько.
    Например, быстрые псевдослучайные:
    lib/random32.c: prandom_u32_state, prandom_bytes_state

    Архитектурные аппаратные:
    arch/x86/include/asm/archrandom.h: arch_get_random_* и arch_has_random_*

    Криптографически надёжные (их видно из юзерспейса через /dev/[u]random):
    drivers/char/random.c: _extract_crng, extract_buf и _get_random_bytes

    Тот, что ты нашёл, используется в сетевой подсистеме
    Ответ написан
    2 комментария
  • Как прочитать/записать файл в адресном пространстве ядра?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Не подскажете, как открыть файл в адресном пространстве ядра и прочитать/записать сообщения в него

    sys_open, sys_read, sys_write. Поиском по исходникам ядра можно найти примеры использования.
    Ответ написан
    1 комментарий