Основные linux-команды для веб-разработчика

Master Browser и SMB 1.0

Если отключается сетевое обнаружение, проблема может быть в Master Browser – в службе, которая выстраивает список активных сетевых компьютеров. Локальная сеть должна содержать в себе только один главный компьютер, который выполняет роль активного обозревателя.

Работа службы зависит от сборки Windows 10. В ранних сборках, например в 1703, работа службы Master Browser оставляет желать лучшего. Многие пользователи полностью ее отключали и пользовались услугами Windows 7. Компьютер на «семерке» устанавливался в качестве главного обозревателя.

Начиная с версии 1709 разработчики отключили по умолчанию протокол SMB 1.0. Вместе с ним отключается и служба, обнаруживающая и составляющая список активных ПК (Master Browser). Подключение протокола возможно через Панель управления (как с ней работать, мы писали здесь).

Заходим в раздел «Программы и компоненты» и выбираем пункт «Включение и отключение компонентов».

Подключаем протокол SMB 1.0, установив соответствующие маркеры.

Установка и запуск OpenSSH

OpenSSH — это программа SSH-сервер / клиент, наиболее используемая маршрутизаторами, коммутаторами, серверами и многими другими устройствами. Эта программа полностью бесплатна и имеет открытый исходный код. В установка этого SSH-сервера (если он еще не установлен по умолчанию) очень просто, нам просто нужно ввести следующую команду в терминал:

После установки мы должны учитывать определенные каталоги и команды для запуска, остановки и перезапуска службы SSH.

Чтобы отредактировать конфигурация SSH-сервера мы должны сделать в консоли:

Еще один каталог, который мы должны принять во внимание, — это каталог известных хостов, поскольку именно здесь мы будем настраивать криптографические ключи RSA / DSA. В каталог, в котором расположены известные хосты и открытые ключи заключается в следующем:. Этот каталог по умолчанию скрыт (.ssh), и для каждого пользователя операционной системы есть каталог, который подключается к удаленному серверу

Этот каталог по умолчанию скрыт (.ssh), и для каждого пользователя операционной системы есть каталог, который подключается к удаленному серверу.

Чтобы запустить сервер:

Чтобы остановить сервер:

Чтобы перезапустить сервер:

После того, как мы установили SSH-сервер, мы знаем, где находятся файлы конфигурации сервера и каталог, в котором хранятся открытые ключи, мы переходим к настройке sshd_config, поскольку это основной файл конфигурации OpenSSH.

Shell Commands

If the first-matched access control rule contains a shell command, that command is subjected to %<letter> substitutions (see next section). The result
is executed by a /bin/sh child process with standard input, output and error connected to /dev/null. Specify an ‘&’ at the end of the command
if you do not want to wait until it has completed.

Shell commands should not rely on the PATH setting of the inetd. Instead, they should use absolute path names, or they should begin with an explicit
PATH=whatever statement.

The (5) document describes an alternative language that uses the shell command field in a different and incompatible
way.

Description

This manual page describes a simple access control language that is based on client (host name/address, user name), and server (process name, host
name/address) patterns. Examples are given at the end. The impatient reader is encouraged to skip to the EXAMPLES section for a quick introduction.

An extended version of the access control language is described in the (5) document. The extensions are turned on at program build time
by building with -DPROCESS_OPTIONS.

In the following text, daemon is the the process name of a network daemon process, and client is the name and/or address of a host requesting
service. Network daemon process names are specified in the inetd configuration file.

lftp

Перенос файлов между серверами по протоколу ftp.

Копирование всех файлов без исключений директорий:

lftp -u name -e ‘mirror to from’ server

name — имя пользователя на удалённом сервере

to — директория, куда надо копировать файлы

from — директория, откуда надо копировать на удалённом сервере

server — адрес или хостнейм удалённого сервера с которого нужно получить данные

Копирование всех файлов, исключая директорию tmp:

lftp -u name -e ‘mirror —exclude tmp to from’ server

name — имя пользователя на удалённом сервере

to — директория, куда надо копировать файлы

from — директория, откуда надо копировать на удалённом сервере

server — адрес или хостнейм удалённого сервера с которого нужно получить данные

Копирование файлов  по одному между серверами:

lftp -u name -e «get tmp/tm.sql» server

name — имя пользователя на удалённом сервере

tmp/tm.sql — путь к файлу, который нужно скопировать

server — адрес или хостнейм удалённого сервера с которого нужно получить данные

Шаг 2. Добавьте в белый список определенные URL

Что нового
URL верхнего уровня

Добавьте в белый список указанные ниже URL для Google Workspace API.

Назначение URL
Аутентификация

Подробнее об использовании OAuth 2.0 для веб-серверных приложений…

https://accounts.google.com/o/oauth2
https://www.googleapis.com/oauth2
https://oauth2.googleapis.com/token
Главная точка входа API https://*.googleapis.com

(символ * обозначает строку без точки)

Электронная почта В дополнение к главной точке входа API:
https://mail.google.com/mail
Контакты и глобальный список адресов (GAL) https://www.google.com/m8
Google Workspace Admin Settings API https://apps-apis.google.com/a
Аккаунты и страницы входа https://www.google.com/accounts/ClientLogin
https://www.google.com/accounts/

Совет. Также можно внести в белый список https://www.googleapis.com/generate_204 для проверки по данному URL кода статуса HTTP (204).

Дополнительные URL для расширенного управления

В белый список также можно добавить указанные ниже URL.

Назначение URL
Аутентификация

Потребность в тех или иных URL зависит от конфигурации.

https://accounts.google.com/o/oauth2/auth
https://accounts.google.com/o/oauth2/token
https://accounts.google.com/o/oauth2/v2/auth
https://oauth2.googleapis.com/token
https://www.googleapis.com/oauth2/v3/token
https://www.googleapis.com/oauth2/v4/token
https://www.googleapis.com/oauth2/v2/tokeninfo
https://www.googleapis.com/oauth2/v3/tokeninfo
https://accounts.google.com/o/oauth2/revoke
https://accounts.youtube.com
https://www.google.com
https://fonts.gstatic.com
https://ssl.gstatic.com
https://www.gstatic.com
https://*.googleusercontent.com/*
Gmail Gmail API https://mail.google.com/mail https://www.googleapis.com/gmail https://www.googleapis.com/upload/gmail
Google Calendar API https://www.googleapis.com/calendar
Google Classroom API https://classroom.googleapis.com
Google Contacts API

Поддержка прекращена. Рекомендуется использовать People API.

https://www.google.com/m8/feeds
Глобальный список адресов (GAL)

Google Workspace Admin SDK Domain Shared Contacts API

https://www.google.com/m8/feeds/gal
Google Drive API https://www.googleapis.com/drive https://www.googleapis.com/upload/drive
Google Drive Activity API https://www.googleapis.com/appsactivity
https://*.googlevideo.com/*
https://*.youtube.com/*
https://*.ytimg.com/*
Google Sheets API https://sheets.googleapis.com
Google Slides API https://slides.googleapis.com
Google Tasks API https://www.googleapis.com/tasks
Google Workspace Admin SDK Data Transfer API https://www.googleapis.com/admin/datatransfer
Google Workspace Admin SDK Directory API https://www.googleapis.com/admin/directory
Google Workspace Admin SDK Enterprise License Manager API https://www.googleapis.com/apps/licensing
Google Workspace Admin SDK Groups Migration API https://www.googleapis.com/upload/groups
Google Workspace Admin SDK Groups Settings API https://www.googleapis.com/groups
Google Workspace Admin SDK Reports API https://www.googleapis.com/admin/reports
People API https://people.googleapis.com

Дисклеймер: работайте осторожно

Разработчики задумывали, что название должно отсылать к аббревиатуре языка Job Control Language (JCL), который использовала IBM. В этом языке оператор расшифровывался как «Доступ к данным» (Data Access).

Работая с утилитой, помните, что при передаче некорректных аргументов, часть или все данные диска могут быть потеряны

Поэтому крайне важно корректно указывать адреса и имена целевых файлов. В связи с этим имеет несколько ироничных расшифровок-прозвищ, таких как , «» и

Но инструмент продолжают применять из-за его мощности, надежности и простоты в использовании.

При работе с рекомендуется использовать Live-режим Linux, то есть запускать систему без установки на компьютер, например с USB-носителя. Live-режим работает медленнее из-за копирования каждого байта, даже с неиспользуемого пространства.

Обратите внимание, что не отличает занятое и свободное дисковое пространство и копирует все. Поэтому жесткий диск, на который переносятся данные должен быть не меньшим, чем клонируемый

Description

hostname is used to display the system’s DNS name, and to display or set its hostname or NIS (Network Information Services) domain name.

When called without any arguments, hostname displays the name of the system as returned by the gethostname function.

When called with one argument or with the —file option, hostname sets the system’s hostname using the sethostname function. Only the superuser can set the hostname.

The hostname is usually set once at system startup in the script /etc/init.d/hostname.sh normally by reading the contents of a file which contains the hostname, e.g., /etc/hostname.

Создание

Синтаксис:

useradd <имя пользователя>

* опции не являются обязательными при создании пользователя.

Пример:

useradd dmosk

* в данном примере создается учетная запись dmosk.

Для учетной записи стоит сразу создать пароль:

passwd dmosk

* после ввода, система попросит ввести пароль дважды.

Ключи (опции)

Ключ Описание и примеры
-b Задает базовый каталог для домашнего каталогаuseradd dmosk -b /var/home
-c Создает комментарий для описания учетной записиuseradd dmosk -c «Пользователя для управления системой»
-d Полный путь к домашнему каталогу пользователяuseradd dmosk -d /home/newuser
-D Позволяет показать или изменить настройки по умолчанию, которые будут применяться при последующем создании пользователейuseradd dmosk -Ds /bin/bash
-e Дата, после которой учетная запись устареет.useradd dmosk -e 2017-12-31
-f Число дней, после которого учетная запись с устаревшим паролем будет заблокированаuseradd dmosk -f 0
-g Задает основную группуuseradd dmosk -g altternativegroup
-G Задает дополнительные группыuseradd dmosk -G wheel
-k Путь к источнику скелета (файлы с шаблонами для нового пользователя)useradd dmosk -k /var/skel
-m При создании пользователя создать домашний каталогuseradd dmosk -m
-M Не создавать домашний каталогuseradd dmosk -M
-N Не создавать основную группу с таким же именем, как у пользователяuseradd dmosk -N
-o Разрешает создание учетной записи с повторяющимся UIDuseradd dmosk -u 15 -o
-p Задает парольuseradd dmosk -p pass
-r Системная учетная запись (без домашнего каталога и с идентификаторами в диапазоне SYS_UID_MIN — SYS_UID_MAX из файла /etc/login.defs)useradd dmosk -r
-R Каталог, в который выполняется chrootuseradd dmosk -R /var/chroot/home
-s Путь до оболочки командной строкиuseradd dmosk -s /bin/csh
-u Задает UIDuseradd dmosk -u 666
-U Имя группы будет таким же, как у пользователяuseradd dmosk -U

Актуальный список ключей можно получить командой useradd -h.

Изменить 23/11/2017: Эй, я не хочу изменять мой файл Hosts

Это интересный вопрос, и, поскольку он связан с вопросом ОП, позвольте мне помочь.

Вам нужно будет внести изменения в свою сеть, чтобы каждая машина знала, где размещен ваш сайт. , поэтому вам придется запустить собственный DNS-сервер в своей сети.

Давайте представим, что у вас есть маршрутизатор (192.168.1.1). Этот маршрутизатор имеет сервер DHCP и выделяет IP-адреса для 100 компьютеров в сети.

Теперь предположим, что у вас, как и выше, в той же сети есть компьютер с , на котором есть ваш веб-сайт. Мы назовем эту машину pompei,.

Как и прежде, эта машина pompei в запускается HTTP-сервер , который обслуживает ваш сайт .

Чтобы каждый компьютер знал, что размещен на pompei Теперь нам потребуется специальный DNS-сервер в сети, который знает, где находится . Устройства в сети смогут разрешать доменные имена, обслуживаемые pompei внутренне.

3 простых шага.

Step 1: DNS Server

Настройте DNS-сервер в своей сети. Давайте это на pompei для удобства и используйте что-то вроде dnsmasq .

Мы хотим pompei запустить DNSmasq для обработки DNS-запросов и ответить .

Установите dnsmasq, файл конфигурации dnsmasq обычно находится в в зависимости от вашей среды.

Я лично использую и серверы Google .

* Примечание: * ВСЕГДА перезапускайте DNSmasq при изменении файла/etc/hosts, так как в противном случае изменения не вступят в силу.

Step 2: Firewall

Работать, pompei необходимо разрешить входящие и исходящие пакеты «домена», которые идут от и к порту 53. Конечно! Это DNS-пакеты, и если pompei не позволяет им, нет никакого способа для вашего DNS-сервера, чтобы быть доступным вообще. Идем дальше и откроем этот порт 53. В Linux вы бы классически использовали для этого.

Делитесь тем, что я придумал, но вам, скорее всего, придется погрузиться в брандмауэр и все хорошо понять.

Step 3: Router

Сообщите вашему маршрутизатору, что ваш DNS-сервер сейчас находится на . В большинстве случаев вы можете просто войти в свой маршрутизатор и изменить это вручную очень легко.

Вот и все, когда вы находитесь на компьютере и запрашиваете , он спросит ваш DNS-сервер , где находится , и как только он получит ответ от DNS-сервера отправит правильный HTTP-запрос  pompei .

Я позволю тебе играть с этим и наслаждаться поездкой. Эти 2 шага являются основными рекомендациями, поэтому вам придется отлаживать и тратить несколько часов, если вы делаете это впервые. Допустим, это немного более продвинутая сеть, есть первичный DNS-сервер, вторичный DNS-сервер, и т.д. . Удачи!

Detecting Address Spoofing Attacks

A flaw in the sequence number generator of many TCP/IP implementations allows intruders to easily impersonate trusted hosts and to break in via, for
example, the remote shell service. The IDENT (RFC931 etc.) service can be used to detect such and other host address spoofing attacks.

Before accepting a client request, the wrappers can use the IDENT service to find out that the client did not send the request at all. When the client host
provides IDENT service, a negative IDENT lookup result (the client matches ‘UNKNOWN@host’) is strong evidence of a host spoofing attack.

A positive IDENT lookup result (the client matches ‘KNOWN@host’) is less trustworthy. It is possible for an intruder to spoof both the client connection and
the IDENT lookup, although doing so is much harder than spoofing just a client connection. It may also be that the client’s IDENT server is lying.

Note: IDENT lookups don’t work with UDP services.

Как работает файловая система

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

В этом руководстве я, в частности, исследую файловую систему UNIX, которую можно найти на компьютерах с macOS и GNU / Linux. Файловая система Windows отличается, хотя Windows 10 сПодсистема Windows для LinuxУстановленный позволяет использовать те же утилиты, которые я описываю здесь.

Файловая система начинается с. Это корневой узел, на котором размещаются каталоги первого уровня.

Обычные каталоги, которые вы найдете в системе UNIX:

  • содержит основные системные команды
  • содержит конфигурацию системы
  • содержит системные устройства
  • содержит пользовательские файлы
  • содержит временные файлы

… Есть еще кое-что, но вы поняли.

Сколько зависит от типа используемой системы. Linux стандартизировал папки, используя стандарт Linux Standard Base, и обычно у вас есть:

  • основные системные команды
  • файлы, используемые для загрузки машины (не существующие в macOS)
  • системные устройства
  • файлы конфигурации системы
  • файлы конфигурации программ пользователя
  • домашние каталоги пользователей (/ Users в macOS)
  • системные библиотеки (отсутствуют в macOS)
  • смонтированные файловые системы
  • пользовательские программы
  • пользователь по ядру и процессам (не существует в macOS)
  • домашняя папка пользователя root (не существует в macOS)
  • (не существует в macOS)
  • пользователь системных двоичных файлов для загрузки системы
  • временные файлы
  • содержит пользовательское программное обеспечение, библиотеки и инструменты
  • бинарные файлы пользователя
  • файлы заголовков пользователей
  • пользовательские библиотеки
  • используется пользовательским программным обеспечением для хранения установок, например Homebrew на macOS
  • системные двоичные файлы
  • содержит независимые от архитектуры данные. Он может содержать много разного, включая документацию и справочные страницы.
  • содержит исходный код установленных пакетов (не существует в macOS)
  • содержит временные файлы, журналы и многое другое

В macOS есть разные папки, в том числе

  • хранит приложения пользователей
  • содержит библиотеку (настройки и ресурсы), которые глобально используются пользователями системы
  • содержит системные файлы
  • хранит системные файлы, журналы и многое другое

Каждая папка содержит файлы и каталоги, которые, в свою очередь, могут содержать другие файлы и каталоги, и так далее.

У всех файлов и папок есть имена.

Что делает имя правильным? Он может содержать от 1 до 255 символов и должен состоять из любых буквенно-цифровых символов (//), символ подчеркивания (), точка () и запятая () символы.

Вы также можете использовать пробел, хотя обычно это не рекомендуется, так как пробел нужно экранировать обратной косой чертой каждый раз, когда вы должны ссылаться на файл / папку.

В зависимости от системы файловая система может быть чувствительной к регистру. В macOS файловая системанетпо умолчанию чувствителен к регистру, поэтому у вас не может быть файла / папки с именема другой позвонил. Это одно и то же.

Теперь я собираюсь представить различные служебные команды. Они выполняются в контексте оболочки, такой как Bash, Fish или Zsh. Когда вы запустите оболочку, вы окажетесь в своем домашнем каталоге. В macOS это находится вдорожка.

Команды не изменяются, если вы меняете используемую оболочку, потому что это основные, фундаментальные команды UNIX. Вы, вероятно, будете использовать эти команды в течение многих десятилетий, если не произойдет какая-то революция в мире вычислений (а они случаются, но эти серверные вещи обычно продвигаются медленно). Чтобы дать вам некоторую перспективу,Команда, которую вы сейчас увидите, была представлена в UNIX AT&T версии 1 в начале 80-х годов.

Поиск ваших разрешенных хостов

Вы, вероятно, приземлились здесь в поисках способа увидеть хосты (другие компьютеры), которым разрешен доступ к вашей системе Linux . Ну, если вы уже не установили ограничения, это, вероятно, любой компьютер, который пытается по умолчанию.

На самом деле, это не совсем так. Без каких-либо правил, определенных в файле /etc/hosts.allow или /etc/hosts.deny, ваш компьютер будет выдавать подключения к соответствующим приложениям. Таким образом, если кто-то попытается подключиться через SSH , соединение будет доставлено в вашу систему Linux, где оно будет передано SSH для входа в систему. Если правильные учетные данные не предоставлены, соединение будет отклонено.

Если определенные узлы разрешены или запрещены, Linux сначала проверит эти правила, чтобы определить, следует ли разрешить входящий запрос. Затем он будет следовать той же схеме, что и раньше.

Вы можете проверить разрешенные хосты, перечислив содержимое файла /etc/hosts.allow.

Если вы ничего не видите, ваша система, скорее всего, пропустит любое соединение.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Зов электронных книг
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: