Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и Linux

Сайт KV.BY опубликовал статью о подсистеме Windows Subsystem for Linux (WSL), предназначенной для запуска Linux-программ в ОС Windows 10. Упор в статье сделан на последнюю версию этой подсистемы WSL2.

Windows – это Linux

Как говорили древние греки, всё меняется и ничто не остаётся на месте. Многие ещё помнят те времена, когда операционная система GNU/Linux была для «Майкрософт» чем-то вроде красной тряпки для быка.

Бывший руководитель рэдмондского гиганта Стив Балмер называл всё, что связано с детищем Линуса Торвальдса, не иначе как «раковой опухолью».

Однако прошло не так уж и много времени после таких заявлений, и вот уже как три года корпорация «Майкрософт» является платиновым участником консорциума Linux Foundation – организации, занимающейся развитием и стандартизацией ядра Linux.

Мало того, в операционной системе Windows 10 появилась специальная программная подсистема Windows Subsystem for Linux (WSL).

Эта подсистема позволяет в Windows запускать программы GNU/Linux в двоичном исполняемом формате ELF-64.

В результате пользователям десятых «Форточек» становятся доступно программное обеспечение Linux-дистрибутивов, начиная со скриптов Bash и заканчивая службами наподобие Docer.

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и LinuxWindows Subsystem for Linux

Поводом для произошедших перемен в политике корпорации, без сомнения, стала популярность мобильной операционной системы Android, основанной на ядре Linux. Но причина, по которой в Рэдмонде произошёл поворот в сторону Linux-сообщества, лежит не только в области мобильных операционных систем.

«Developers, developers, developers!»

Существует два способа запускать Linux-приложения в Windows. Первый способ предполагает перекомпиляцию Linux-программ в исполняемый формат exe-файлов.

Благо большая часть программ Open Source является кроссплатформенной и свободно собирается под разные операционные системы.

Примером первого способа можно назвать проекты Cygwin или MinGW – коллекции специально скомпилированных для Windows приложений UNIX.

Второй способ предполагает использование эмуляции и виртуализации, что позволяет запускать полноценный Linux-дистрибутив в специальной виртуальной среде. WSL – это и есть второй способ. Здесь используются как эмуляция ядра Linux, так и технологии виртуализации.

Но, прежде чем мы рассмотрим особенности второго способа, отметим, что в Windows 10 присутствует и первый способ. С недавнего времени тихо и незаметно в штатный состав «Десятки» входят три классические консольные UNIX-утилиты curl.exe, tar.exe, openssh.exe.

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и LinuxУтилиты curl.exe, tar.exe, openssh.exe в Windows 10

Выбор этих консольные утилит явно указывает на тот класс пользователей, ради которых «Майкрософт» и затеяла всю эту эпопею с запуском в «Форточках» программ Linux. Программы Curl, tar и openssh – популярные инструменты у веб-разработчиков. Именно для них и для веб-разработки создают в Рэдмонде подсистему Windows Subsystem for Linux.

Как правило, веб-разработчики используют для своей работы Windows. Однако их клиенты и заказчики в основном пользуются хостингом на Linux.

И для веб-разработчики в среде Windows приходится использовать что-то вроде Denver и XAMP, или же запускать программы виртуализации VMware и VirtualBox, или же использовать на компьютере двойную загрузку с системами Linux.

Или уже наметилась устойчивая тенденция для веб-разработки переходить на Mac OS, в которой имеется полноценное POSIX-ядро, позволяющее без лишних телодвижений запустить все консольные скрипты и программы, необходимых для современных веб-кодеров.

Поэтому основная цель WSL – удержать веб-разработчиков на Windows, предоставив им удобную и комфортную среду запуска всех консольных скриптов, программ и примеров с GitHub и StackOwerflow. (Кстати GitHub с недавних пор тоже под контролем Microsoft).

Главная особенность WSL

Технологиями виртуализации давно никого не удивишь. Если подсистема WSL основана на технологиях виртуализации, то возникает основной вопрос: чем Windows Subsystem for Linux лучше того же VirtualBox?

Преимущество WSL не только в том, что пользователю Windows 10 теперь не требуется устанавливать и настраивать отдельные программы для создания виртуальных машин, довольствуясь штатными средствами виртуализации.

Основным достоинством WSL является очень тесная и бесшовная интеграция работы приложений Linux в системе Windows.

WSL настолько глубоко интегрирует виртуальную среду выполнения Linux-программ в операционную систему Windows 10, что эти программы становятся мало отличимы от приложений Windows на уровне пользовательского интерфейса. Хотя эта бесшовность даётся не легко.

Ниже рассмотрим эту бесшовность и прозрачность более детально. Все инструкции в этой статье для работы с WSL актуальны для сборки Windows 10 18917 и более поздних версий. Проверить номер своей сборки Windows 10 можно командой «ver» в приложении «Командная строка».

Настройка WSL

Настраивать подсистему WSL практически не нужно. Виртуальная среда WSL в процессе работы настроится автоматически и незаметно для пользователя.

Единственное, нужно проверить включение компонентов «Подсистема Windows для Linux» и «Платформа виртуальной машины» через «Панель управления -> Программы и компоненты -> Включение или отключение компонента Windows».

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и LinuxВключение WSL

WSL работает только в 64-разрядных версии Windows 10, начиная с редакции «Домашняя» для процессоров x64 и ARM. Подсистема не работает в безопасном S-режиме Windows 10.

Загрузка дистрибутива

Как известно программы для Linux распространяются в составе дистрибутивов, наиболее популярными из которых можно назвать Fedora, Debian, Ubuntu, OpenSUSE. Поэтому чтобы начать работу с WSL следует загрузить и установить базовый набор приложений какого-либо дистрибутива и затем штатным менеджером пакетов установить нужные программы.

Дистрибутивы Linux для WSL устанавливаются прямо из магазина приложений Windows Store так же, как и программы Windows. По поисковому запросу «linux» в магазине появится список дистрибутивов для выбора. На текущий момент в магазине представлено уже около дюжины дистрибутивов. Выбираем нужный дистрибутив, – например Ubuntu-18.04, – и нажимаем кнопку «Получить».

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и LinuxUbuntu-18.04 в Windows Store

Загрузится около 200 мегабайт файлов для базовой системы. В главном меню «Пуск», в «плитках» и на рабочем столе наравне с иконками Windows-программ появится иконка Linux-дистрибутива.

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и LinuxИконки дистрибутива Linux в Windows 10

Удаление дистрибутива происходит также как и удаление Windows-программ – через контекстное меню «плитки» дистрибутива в меню «Пуск».

Отметим, что в редакциях Windows 10 для предприятий, в которых нет Windows Store, дистрибутивы Linux для WSL можно скачать и установить посредством специальных команд Power Shell. В этой статье для краткости мы данный метод рассматривать не станем.

Первый запуск WSL

Подсистема WSL предназначена для запуска консольных программ Linux с интерфейсом командной строки. Для программ с графическим интерфейсом необходимо устанавливать дополнительное ПО, о чём будет сказано ниже.

При первом запуске установленного дистрибутив откроется приложение «Командная строка», в котором запустится командный интерпретатор установленного дистрибутива – обычно это bash.

Будет предложено подождать одну или две минуты для завершения установки.

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

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и LinuxНачальная инициализация WSL-дистрибутива

Запустить установленную систему Linux можно в приложении «Командная строка» с помощью команд «bash.exe», «wsl.exe» или «.exe» (не во всех дистрибутивах работает). Самой продвинутой является команда «wsl.exe», так как с её помощью доступны все возможные операции с подсистемой WSL.

Список установленных дистрибутивов задаётся командой «wsl» с помощью опции «-l» или «—list»:

wsl -l Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и LinuxПример вывода команды “wsl -l”

Установка дистрибутива по умолчанию, который будет запускаться командами «bash.exe», «wsl.exe» без параметров, происходит с помощью опций «-s» («—setdefault»):

wsl -s

Если для дистрибутива задано несколько учётных записей, то для запуска от имени определенного пользователя имеются опции «-u» («—user»):

wsl -u

Запуск определенного дистрибутива по названию с помощью опций «-d» («—distribution»):

wsl -d

WSL1 и WSL2

После установки и первого запуска любой системы обычно всегда делается обновление ПО. Например, для Ubuntu обновление делается командами:

sudo apt-get update & apt-get upgrade

В первых версиях WSL пользователи столкнулись с неприятным фактом, что это обновление происходило очень медленно. Операция замены пары сотен мегабайт могла затянуться на долгое время. Резкое снижение производительности было характерно также и для других приложений, требующих большого числа файловых операций – Git, Node.js и других.

Такая низкая скорость файловых операций объяснялась тем, что первая версия WSL использовала эмуляцию ядра Linux на уровне API Windows. Также подсистема WSL эмулировала метаданные файловой системы дистрибутива Linux.

На практике оказалось, что такая эмуляция не обеспечивает высокую скорость файловых операций для систем Linux. Поэтому, начиная со сборки Windows 10 18917, используется новая архитектура WSL2, которая основана на технологиях виртуализации Microsoft Hyper-V.

Другими словами теперь для каждого установленного дистрибутива Linux подсистема WSL запускает отдельную легковесную виртуальную машину и отдельный виртуальный диск. При этом для этой виртуальной машины используется настоящее ядро Linux, а не эмуляция на уровне системных вызовов Windows.

В результате для WSL2 удалось повысить производительность файловых операций по сравнению с WSL1 на порядок.

На текущий момент в Windows 10 присутствуют обе версии подсистемы – и WSL1, и WSL2. Рекомендуется использовать WSL2.

Чтобы проверить, какие версии WSL использует каждый дистрибутив, используйте для команды «wsl.exe» опции «-l -v» («—list —verbose»):

wsl -l -v Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и LinuxПример вывода команды “wsl -l -v”

Установить WSL 2 для отдельного дистрибутива можно опцией «—set-version»:

wsl —set-version 2

Чтобы задать WSL 2 по умолчанию для всех устанавливаемых в дальнейшем дистрибутивов Linux, используйте опцию «—set-default-version»:

wsl —set-default-version 2

Одиночное и смешанное выполнение программ

Самое важное и интересное в WSL – это одиночное и смешанное выполнение программ Linux из среды Windows и наоборот.

Чтобы выполнить какую-либо программу из установленного дистрибутива Linux, совсем не обязательно запускать терминальную сессию Linux. Можно просто передать имя Linux-программы в качестве аргумента для wsl.exe и она будет выполнена прямо в контексте командной строки Windows.

c:>wsl uname
Linux
c:> Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и LinuxПримеры одиночного выполнения Linux-программ

При этом программа для Linux выполнится в том же каталоге, в котором находится интерпретатор «Командная строка», от имени пользователя WSL по умолчанию с правами вызывавшего её интерпретатора. То есть если «Командная строка» запущена с правами Администратора Windows, то и запущенная здесь программа для Linux будет иметь права Администратора.

Читайте также:  Лучшие мобильные приложения недели

Возможно и обратное – вызов двоичных файлов Windows из консоли Linux. Поэтому из командного интерпретатора Linux, например, набрав команду «notepad.exe» можно запустить «Блокнот», который будет запущен с правами активного пользователя Windows.

$ notepad.exe «C:WSLWSL.txt» Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и LinuxЗапуск “Блокнота” из консоли Linux

Мало того, можно объединять программы Linux и программы Windows через механизм конвейера pipe. То есть можно соединять выход Linux-программы с входом Windows-программы и наоборот.

Пример 1, cmd. Выход Windows-программы «dir» направляем на вход Linux-утилиты «grep»:

Как установить и использовать оболочку Linux Bash в Windows 10

Уже сейчас в Windows 10 вы можете запускать Linux дистрибутивы Ubuntu, openSUSE, Debian, Arch Linux и Kali Linux, а в ближайшее время будет реализована поддержка других дистрибутивов

Подсистема Windows для Linux (Windows Subsystem for Linux, WSL), впервые представленная в Windows 10 версии 1607, стала действительно стабильной функцией в Windows 10 (версия 1709). Теперь пользователи получают среду для тестирования Linux-приложений прямо внутри Windows, которая работает быстрее, чем в виртуальной машине.

Что нужно знать про оболочку Bash в Windows 10

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и Linux

Функция WSL на самом деле не является виртуальной машиной, контейнером или программным обеспечением Linux, скомпилированным для Windows. Windows 10 предлагает полноценную подсистему Windows 10, предназначенную для запуска программного обеспечения Linux. Подсистема основана на проекте Microsoft Astoria, который первоначально предназначался для запуска приложений Android в Windows.

Microsoft добавит полноценное ядро Linux в Windows 10

WSL можно рассматривать как противоположность Wine. В то время как Wine позволяет вам запускать приложения Windows прямо в Linux, подсистема Windows для Linux позволяет запускать приложения Linux непосредственно в Windows.

При создании среды оболочки на базе Bash Ubuntu, Microsoft работала совместно с компанией Canonical. Оболочка работает поверх подсистемы и технически не является Linux. Linux является основным ядром операционной системы, которое недоступно в подсистеме.

Вместо этого функция WSL позволяет запускать оболочку Bash и исполнять такие же бинарные файлы, которые работают в Ubuntu Linux. Многие сторонники открытого программного обеспечения считает, что операционную систем Linux правильно называть именно “GNU/Linux”, потому что на ядре Linux работает много программного обеспечения GNU.

Оболочка Bash, которую вы получаете в Windows 10, как раз содержит утилиты GNU и другое программное обеспечение.

Хотя эта функция изначально называлась “Ubuntu Bash в Windows”, она также позволяет запускать Zsh и другие оболочки командной строки. Сейчас поддерживаются и другие дистрибутивы Linux. Вы можете выбрать openSUSE Leap или SUSE Enterprise Server вместо Ubuntu, поддержка Fedora скоро будет реализована.

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

Запуск графической оболочки Linux Bash в Windows 10

Как установить Bash в Windows 10

Данная функция не работает в 32-разрядной версии Windows 10, поэтому убедитесь, что вы используете 64-разрядную версию.

Если вы используете 64-битную версию Windows, то для начала работы перейдите в Панель управления > Программы и компоненты > Включение и отключение компонентов Windows. Отметьте галочкой пункт Подсистема Windows для Linux и нажмите кнопку ОК.

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и Linux

Затем нажмите “Перезагрузить сейчас”, чтобы перезапустить компьютер и применить изменения. Функция не будет работать до перезагрузки.

Примечание: начиная с Windows 10 (версия 1709), чтобы использовать эту функцию вам больше не нужно включать режим разработчика в приложении Параметры. Вам просто нужно включить подсистему в окне “Компоненты Windows”.

После перезагрузки ПК откройте Магазин Microsoft и выполните поисковый запрос “Linux”. Откроется список доступных для установки приложений.

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и Linux

Примечание: начиная с Windows 10 (версия 1709), вы больше не сможете устанавливать Ubuntu, выполнив команду bash. Вместо этого вам нужно установить Ubuntu или другой дистрибутив Linux из Магазина Microsoft.

Итак, вы увидите список всех дистрибутивов Linux, доступных в Магазине Microsoft. Начиная с Windows 10 (версия 1709), в магазине предлагаются Ubuntu, openSUSE Leap, openSUSE Enterprise, Debian Linux, Arch Linux и Kali Linux.

Чтобы установить конкретный дистрибутив, выберите его и нажмите кнопку “Получить” или “Установить”. В результате запуститься обычная установка, как и в случае с другими приложениями из Магазина Microsoft.

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и Linux

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

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

Как использовать оболочку Bash и устанавливать программное обеспечение Linux

После успешной установки вы получаете полноценную командную оболочку Bash на основе Ubuntu или другого выбранного дистрибутива Linux.

Поскольку в системах Linux используются одинаковые бинарные файлы, вы можете использовать команды Ubuntu apt или apt-get, чтобы установить программное обеспечение из репозитория Ubuntu.

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

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

Чтобы открыть установленную среду Linux, просто откройте меню Пуск и выполните поиск любого дистрибутива, который вы установили. Например, если вы установили Ubuntu, запустите ярлык Ubuntu.

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и Linux

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

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

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и Linux

Например, если вы введете “comss” и “qwerty” в качестве своих учетных данных, ваше имя пользователя в среде Linux будет “comss”, а пароль, который вы используете в среде Linux, будет “qwerty”, независимо от имени пользователя и пароля Windows.

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

Если у вас установлен Ubuntu, вы также можете запустить команду ubuntu для ее запуска. Для OpenSUSE Leap 42 используйте opensuse-42. Для SUSE Linux Enterprise Server 12 используйте sles-12. Эти команды перечислены на странице каждого дистрибутива Linux в Магазине Microsoft.

Кроме того, вы можете запустить стандартную среду Linux, выполнив команду bash, но Microsoft заявляет, что данный метод устаревает. Это означает, что команда bash может перестать функционировать в будущем.

Если у вас есть опыт использования оболочки Bash в Linux, MacOS или на других платформах, вы будете чувствовать себя уверенно.

В Ubuntu нужно использовать префикс команд sudo чтобы запускать их с правами root. Пользователь “root” на платформах UNIX имеет полный доступ к системе, аналогично “Администратору” в Windows. Файловая система Windows расположена по пути в /mnt/c в среде оболочки Bash.

В WSL можно использовать привычные команды терминала Linux. Если вы привыкли к стандартной командной строке Windows с ее командами DOS, вот несколько основных команд, общих для Bash и Windows:

  • Изменить директорию: cd в Bash, cd или chdir в DOS
  • Показать содержимое директории: ls в Bash, dir в DOS
  • Переместить или переименовать файл: mv в Bash, move и rename в DOS
  • Копировать файл: cp а Bash, copy в DOS
  • Удалить файл: rm в Bash, del или erase в DOS
  • Создать директорию: mkdir in Bash, mkdir в DOS
  • Использовать текстовые редактор: vi или nano в Bash, edit в DOS

Важно помнить, что, в отличие от Windows, оболочка Bash и имитирующая ее Linux среда чувствительны к регистру. Другими словами, файл с названием “File.txt” отличается от файла с названием “file.txt”.

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и Linux

Для установки и обновления программного обеспечения среды Ubuntu нужно будет воспользоваться командой apt. Обязательно прикрепите эти команды к sudo, что заставляет их запускаться от пользователя root. Ниже представлены базовые команды apt-get, которые вам нужно знать:

  • Загрузить обновленную информацию о доступных пакетах: sudo apt update
  • Установить пакет приложения: sudo apt install packagename (замените packagename на название пакета)
  • Удалить пакет приложения: sudo apt remove packagename (замените packagename на название пакета)
  • Выполнить поиск доступных пакетов: sudo apt search word (замените word на ключевое слово в названии или описании пакета)
  • Загрузить и установить новейшие версии установленных пакетов: sudo apt upgrade

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

Примечание: Программное обеспечение, которое вы устанавливаете в оболочке Bash, ограничено оболочкой Bash. Вы можете получить доступ к этим программам из командной строки, PowerShell или из другого места в Windows, но только если вы запустите команду bash -c.

Дополнительно: установка родного шрифта Ubuntu

Если вы хотите получить более точный опыт использования Ubuntu в Windows 10, то можете использовать следующую инструкцию, чтобы установить родные шрифты Ubuntu в терминал.

Чтобы установить шрифт, сначала загрузите семейство шрифтов Ubuntu с веб-сайта Ubuntu. Откройте загруженный .zip-файл и найдите файл UbuntuMono-R.ttf. Это шрифт Ubuntu с фиксированный шириной, который используется только в терминале. Это единственный шрифт, который вам нужно установить.

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и Linux

Дважды щелкните файл UbuntuMono-R.ttf, и вы увидите предварительный просмотр шрифта. Нажмите “Установить”, чтобы установить шрифт в систему.

  • Чтобы моноширинный шрифт Ubuntu стал доступен в консоли, вам нужно добавить параметр в реестр Windows.
  • Запустите редактор реестра, используя сочетание Windows + R, введя запрос regedit и нажав Enter.
  • Перейдите по следующему пути:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionConsoleTrueTypeFont

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и Linux

Щелкните правой кнопкой мыши в правой панели и выберите Создать > Строковый параметр. Назовите новое значение 000. Дважды щелкните на строке “000”, которую вы создали, а затем введите Ubuntu Mono в качестве значения.

Читайте также:  ATI Mobility Radeon HD 5000 - мобильная графика с поддержкой DirectX 11, официально

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и Linux

Затем запустите окно Ubuntu, щелкните правой кнопкой мыши строку заголовка и выберите команду “Свойства”. Перейдите на вкладку “Шрифт” и выберите “Ubuntu Mono” в списке шрифта.

По материалам How-To Geek

Секреты Терминала. Часть 3: Права доступа

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и LinuxПришло время продолжить наш цикл статей о Терминале Mac OS X и премудростях его использования рядовыми пользователями. В предыдущей статье мы коснулись такого понятия, как права доступа. Эта тема заслуживает отдельной статьи, поскольку разграничение владельцев файлов и прав доступа — один из фундаментальных принциов *nix-систем и одна из главных причин появления странных неполадок в работе Мака.

Сегодня мы кратко расскажем вам о системе прав доступа и о связанных с ней командах Терминала: chown, chmod, chgrp и sudo.

Итак, главная заповедь: каждый объект в Mac OS X обязательно имеет своего пользователя-владельца. Например, владельцем почти всего содержимого вашей папки пользователя будете вы.

Владельцем системных файлов будет пользователь root, т.е. главный администратор компьютера.

Даже если объект номинально никому не принадлежит, он всё равно числится за виртуальным пользователем nobody.

Сразу возникает вопрос — а почему это кроме вас, законного владельца компьютера, есть ещё какой-то главный администратор root? Всё это нужно как раз по соображениям безопасности, именно такое разграничение и есть главный залог безопасности Mac OS X.

Если бы обычный пользователь имел права администратора root, то любая вредоносная программа сразу могла бы получить полный доступ ко всей системе, могла бы самостоятельно запуститься и удалить всё, что угодно.

Поэтому права root-админа даются рядовому пользователю лишь на короткие промежутки времени, и всегда это сопровождается появлением окошка ввода пароля.

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

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и LinuxКаждый пользователь принадлежит к определённой группе — как минимум, к одной. Обычные пользователи находятся в группе staff. Все, кто имеют административные привилегии, также принадлежат к группам admin и wheel. Существуют и другие группы: owner, everyone, authedusers (и ещё пара десятков).

  • Чтобы узнать все группы, в которые вы входите, наберите в терминале команду:
  • groups
  • Запомните важнейшую команду, которой вам придётся часто пользоваться:

sudo

Она позволяет выполнить какое-либо действие от имени пользователя root. Её можно ввести перед какой-то другой командой, например:

sudo mkdir

Тогда права root будут переданы вам только для одной этой команды. Есть и другой вариант — приобрести права root-пользователя до закрытия окна Терминала. Для этого введите:

sudo -s

Никогда не выполняйте от имени root никакие команды, назначение которых вам неизвестно. Всегда тщательно проверяйте правильность введённых команд, потому что в таком режиме работы испортить можно всё, что угодно, а вернуть обратно — нет.

В любом случае, команда sudo потребует от вас ввода пароля:

Password:

Пароль всегда вводится вслепую, т.е. вы не увидите на экране никаких символов. По завершении ввода пароля нажмите Enter, и вы увидите, что левая часть строки изменится на:

bash-3.2#

  1. Это означает, что вы вошли в Терминал как root-пользователь.
  2. Обычно команда sudo будет нужна для изменения каких-то системных настроек или просто для доступа к тем файлам, которые вам не принадлежат.
  3. Теперь мы переходим к главному: собственно правам доступа. Эти права бывают трёх видов:
  • на чтение (просмотр) объекта
  • на запись (т.е. редактирование и удаление)
  • на запуск объекта

Можно обладать одним, двумя или всеми тремя правами сразу.

Каждое право для одного и того же объекта задаётся в трёх форматах:

  • непосредственно для владельца
  • для группы пользователей, к которой принадлежит владелец
  • для всех остальных
  • Права доступа обозначаются двумя способами: цифровым и буквенным.
  • Цифровой способ подразумевает написание трёхзначного числа: например, 775, 644, 444, 521, 700.
  • Первая цифра — это права для владельца.
  • 4 означает право на чтение
  • 2 означает право на запись
  • 1 означает право на запуск
  • 0 означает отсутствие всех трёх прав

Эти цифры суммируются, если несколько прав принадлежат пользователю одновременно:

  • 5 (4+1) означает права на чтение и запуск
  • 6 (4+2) означает права на чтение и запись
  • 7 (4+2+1) означает полный спектр прав

Вторая цифра трёхзначного обозначения — права для группы владельца. Третья — права для всех остальных.

Теперь расшифруем приведённые выше примеры:

775:

владелец и его группа имеют полный доступ (4+2+1=7)

все остальные пользователи могут читать и запускать файл (4+1=5)

644:

владелец имеет право на чтение и запись (4+2=6)

все, кроме него, могут лишь прочитать файл (4)

444:

абсолютно все пользователи могут только читать файл, но сделать с ним ещё что-то невозможно

521:

  1. владелец может читать и запускать файл (4+1=5)
  2. группа владельца может редактировать файл (2)
  3. все остальные имеют право лишь на запуск (1)

700:

эксклюзивные полные права доступа есть только у владельца (4+2+1)

А теперь приведём конкретный пример. Допустим, у вас есть папка.

  • Если у вас есть только права на запись, вы сможете её только переименовать, но никак не заглянуть внутрь
  • Если у вас есть права только на исполнение, то вы сможете открыть папку, но не увидите в ней никакого содержимого. Но если вы знаете имена лежащих там файлов, то сможете с ними работать.
  • Если у вас есть права на чтение и исполнение, то вы сможете пользоваться всем содержимым папки, но не сможете её переименовать или изменить атрибуты
  • Буквенный способ всегда состоит из 10 символов и имеет следующий вид:
  • drwxrw-r-x
  • Первый символ показывает, с чем вы имеете дело:
  • прочерк означает обычный файл
  • d — папку
  • l — ссылку на другой файл

Оставшиеся девять символов делятся на три группы по три знака. Первые три показывают права доступа владельца, вторые три — группы, третьи — всех остальных:

  • r — право на чтение (read)
  • w — право на запись (write)
  • x — право на запуск (execute)

Если права нет, то на соответствующем месте ставится прочерк.

Есть ещё два специальных обозначения, обычно встречающиеся у папок:

  • t — не позволяет пользователю удалять в данном каталоге чужие файлы, если у него нет права на запись в эти файлы
  • s — означает, что файлы, создаваемые в каталоге, наследуют группу от каталога, а не от создателя файла

Таким образом, приведённый выше пример означает то же самое, что и 765.

Кстати, файл вполне может иметь и права доступа 000. Тогда единственный, кто может что-то с ним сделать будет root-администратор. Стоит помнить о такой возможности хотя бы потому, что стоит быть аккуратным с этим. Кстати, в этом случае и сменить права назад сможет тоже только администратор. Будьте аккуратнее.

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

Теперь о том, как менять права доступа и владельцев файлов. Правом изменения прав доступа обладают владелец файла и пользователь root. Отсюда вывод — если у вас не получается поменять права, используйте команду sudo.

Для смены прав доступа используется команда

chmod

Она имеет следующий синтаксис:

chmod 755 /System/Library/Extensions

Через пробел указываются сами права и путь к файлу или папке.

У команды есть полезный параметр -R (именно заглавная R), который присваивает указанные права всем содержащимся внутри объекта файлам. То есть, чтобы выставить права 755 для всей папки Extensions из примера выше, нужно ввести:

chmod -R 755 /System/Library/Extensions

Для смены группы владельца используется команда

chgrp

Принцип работы тот же, что и у chmod, тоже действует параметр -R. Группу можно вводить как в текстовом формате, так и в цифровом. Запомните главные обозначения:

  • 0 — wheel
  • 20 — staff
  • 80 — admin

Например:

chgrp -R 80 ~/Music

сделает вашу папку с музыкой принадлежащей группе администраторов.

С командой chgrp связано две опции — -v и -c. Очень полезны, так как позволяют нам получать информацию о том, что же именно происходит, какие действия совершаются в результате выполнения. Первая, -v, показывает всю информацию, даже тогда, когда и менять-то ничего не пришлось, а вторая показывает только факт смены прав. Это может быть удобнее при больших количествах файлов.

Чтобы поменять самого владельца, нужна команда

chown

  1. Её синтаксис такой:
  2. chown (-R) владелец:группа путь
  3. Владелец и его группа тоже могут указываться в текстовом формате, через двоеточие без пробела:

chown root:wheel /mach_kernel

или в цифровом формате. Обозначения групп см. выше, а вот обозначения пользователей:

  • 0 — root
  • -2 — nobody
  • 501 — вы

Та же самая команда может выглядеть так:

chown 0:0 /mach_kernel

Присваивает ядро системы пользователю root и группе wheel.

Права доступа у файлов в системе имеют свойство иногда неожиданно портиться. Обычно это вина криво сделанных установщиком программ. Какие последствия будет иметь невозможность доступа системы к важным файлам настроек, компонентов и расширений — объяснять не стоит. Поэтому запомните ещё две важные вещи:

  • права по умолчанию для ядра системы (файл /mach_kernel): 644, владелец — root, группа — wheel
  • права для папки кекстов (/System/Library/Extensions): 755, владелец — root, группа — wheel.

Эти два факта помогут вам решить многие проблемы со странной или некорректной работой системы. Если это не поможет, запустите Дисковую утилиту из папки Программы/Служебные программы, выберите там раздел и нажмите кнопку Восстановить права доступа.

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и LinuxВосстановление прав доступа

Читайте также:  Игра Bicolor стала бесплатной в App Store

Запустить Дисковую утилиту можно и с установочного DVD Mac OS — через верхнее меню.

На сегодня информации достаточно. Следующая статья будет посвящена копированию, переименованию и удалению объектов.

Основные команды терминала macOS, которые вам нужно знать [Guide] — Технологии и программы

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и Linux

Терминал — это приложение в операционных системах на основе Unix, которое предоставляет интерфейс командной строки (или CLI), поэтому вы можете взаимодействовать с оболочкой операционной системы и получать доступ к ее различным службам и управлять ими.

Запатентованная Microsoft технология напоминает функцию sudo в Mac OS X и Linux

ИЗОБРАЖЕНИЕ: Pixabay

В macOS терминал, соответственно, называется Терминалом, и он использует оболочку Z (Zsh) в качестве оболочки входа по умолчанию. Используя Терминал, вы можете легко перемещаться по системным каталогам, копировать / перемещать файлы, получать системную информацию, безопасно удаленно входить в другие системы и эффективно автоматизировать задачи / действия на вашем Mac.

Однако для выполнения любого из этих действий вам необходимо знать команды терминала (и их синтаксис). В этом руководстве мы перечислим все основные команды терминала macOS и способы их использования, чтобы вы могли эффективно использовать их на своем Mac.

Основные команды терминала macOS

Для выполнения команд в любой операционной системе требуется терминал. macOS уже поставляется с одним из них, и вы можете найти его в Приложения> Утилиты.

Кроме того, вы также можете добавить его в свою док-станцию ​​для быстрого доступа. Для этого запустите Терминал, щелкните правой кнопкой мыши его значок в доке и выберите Параметры > Хранить в доке.

Теперь, когда на вашем Mac запущен Терминал, все, что вам нужно сделать, это ввести команду терминала и нажать «Return», чтобы выполнить ее.

Для вашего удобства мы разделили команды на несколько категорий, чтобы им было легче следовать:

1. Основные команды терминала

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

я. человек

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

  • Например:
  • man cd
  • предоставит вам всю необходимую информацию о команде cd (сменить каталог).

II. Чисто

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

iii. судо

sudo — самая мощная команда терминала. Он дает вам права администратора (root) для выполнения действий в macOS. Вам нужно будет использовать его, если вы хотите выполнить команду, требующую доступа суперпользователя.

  1. Например, если вы хотите выключить Mac через Терминал, вам нужно запустить:
  2. sudo shutdown
  3. и введите свой пароль пользователя для выполнения команды.

iv. история

Команда history пригодится, когда вы хотите узнать все команды, которые вы выполняли в прошлом. Например, если вы отключили / включили какую-либо службу на своем Mac, но точно не помните ее имя или команду, которую вы использовали, вы можете использовать эту команду, чтобы узнать службу и отменить свое действие.

2. Навигация по каталогам

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

  • Однако, прежде чем менять каталоги, важно знать ваш текущий рабочий каталог. Для этого запустите:
  • pwd
  • Точно так же вам может потребоваться просмотреть содержимое каталога, чтобы определить, содержит ли он файл / каталог, к которому вы хотите получить доступ. Используйте следующую команду и ее варианты, чтобы сделать это эффективно:
  • ls
  • Для подробной разбивки:
  • ls -l
  • Чтобы просмотреть все содержимое каталога, включая скрытые файлы и каталоги:
  • ls -al

После того, как вы определили текущий рабочий каталог и каталог, к которому хотите перейти, команда cd поможет вам перемещаться между каталогами. Ниже приводится объяснение того, как его использовать.

  1. Чтобы перейти в домашний каталог:
  2. cd
  3. или же
  4. cd ~
  5. Если вы хотите перейти в конкретный каталог:
  6. cd directory_name
  7. Например:
  8. cd Downloads
  9. Чтобы перейти в родительский каталог:

cd ..

  • Если вы хотите вернуться в предыдущий рабочий каталог:
  • cd —
  • Наконец, когда вам нужно перейти в корневой каталог, запустите:
  • cd /

3. Управление каталогом

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

  2. Чтобы создать каталог, запустите:
  3. mkdir directory_name
  4. Если вы хотите создать сразу несколько каталогов:
  5. mkdir directory_name_1 directory_name_2 directory_name_3
  6. Если вы хотите удалить / удалить каталог, запустите:
  7. rmdir directory_name
  8. Если вы хотите удалить непустой каталог, вы можете использовать параметр -R (рекурсивный), чтобы удалить каталог вместе со всем его содержимым:
  9. rm -R directory_name

4. Управление файлами

  • Подобно управлению каталогами, Terminal также позволяет выполнять файловые операции, поэтому вы можете создавать новые файлы, редактировать их и удалять те, которые вам не нужны.
  • Чтобы создать файл:
  • touch file_name
  • Если вы хотите создать и отредактировать файл, запустите:
  • nano file_name

который откроет файл в текстовом редакторе Nano.

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

  1. Чтобы просмотреть тип файла на вашем Mac:
  2. file file_name
  3. Если вы хотите скопировать файл из текущего каталога в другой каталог, запустите:
  4. cp file_name directory_name
  5. Например:
  6. cp myfile ~/Desktop/MyDocs
  7. Если необходимо скопировать файл в тот же каталог, но с другим именем:
  8. cp file_name new_file_name
  9. Помимо копирования, иногда необходимо перемещать файлы между разными каталогами. Когда возникают такие потребности, вы можете переместить файл из вашего текущего каталога в другой каталог с помощью:
  10. mv file_name directory_name
  11. Например:
  12. mv myfile ~/Documents/MyDocs
  13. Более того, команда mv также может использоваться как команда переименования. Чтобы использовать его для переименования файла, используйте следующий синтаксис:
  14. mv current_file_name new_file_name
  15. Если вы хотите удалить / удалить файл, запустите:
  16. rm file_name

5. Установка программ

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

  • Чтобы обновить репозиторий Homebrew, запустите:brew update
  • Если вы хотите обновить все установленные пакеты в вашей системе:brew upgrade
  • Когда вам нужно установить приложение на основе графического интерфейса, нам придется использовать Cask:brew install —cask program_name
  • Например:brew install —cask vlc
  • Если это программа без графического интерфейса:brew install program_name
  • Обратите внимание, что не все пакеты / программы могут быть установлены сразу: вам может потребоваться добавить их исходный репозиторий, чтобы получить их перед запуском команды установки.
  • Наконец, если вы хотите удалить программу, используйте:brew uninstall program_name

6. Управление сетью

macOS позволяет просматривать подробную информацию о конфигурации сети прямо из окна Терминала. Хотя вы можете использовать графический интерфейс для просмотра такой информации, подход CLI делает весь процесс быстрым и легким и избавляет вас от лишних действий.

  1. Одна из самых основных сетевых операций — это проверка связи с веб-сайтом / IP-адресом для проверки возможности подключения. Для этого введите:
  2. ping hostname
  3. Например:

Баг sudo позволяет запустить команды с правами root (Linux и macOS)

На Tor Project теперь можно зайти без VPN — Роскомнадзор исключил сайт из “черного списка”. Освободившееся место в реестре занял сервис премиальных такси Wheely.

Сайт анонимного веб-обозревателя Tor Project снова заработал в России. По решению суда его заблокировали еще в декабре прошлого года. Роскомнадзор исключил ресурс из реестра запрещенных сайтов, так как дело было рассмотрено с нарушениями.

Хотя суд апелляционной инстанции отменил решение об ограничении доступа ещё в мае, юристам “Роскомсвободы” пришлось приложить усилия для вынесения данного ресурса из реестра запрещённых, — сообщает сайт организации.

По словам адвоката Екатерины Абашиной, представляющей интересы The Tor Project в суде, Роскомнадзор “неприлично сильно затянул с разблокировкой сайта”.

“Мы даже специально отправляли отдельное уведомление об этом, хотя РКН участвовал в процессе. Только через месяц мы получили ответ, что “в скором времени мы разблокируем этот сайт”, и вот наконец-то это произошло!” — говорит юрист.

Правда, основные “потребители” Tor “манипуляций” РКН даже не заметят, считают эксперты. 

“Tor изначально не использовался большинством рядовых пользователей”, — комментирует новость для Anti-Maiware.ru независимый эксперт по информационной безопасности Константин Родин. — Чаще это всё же люди, которые обеспокоены своей анонимностью в сети”.

 У аудитории Tor Project для обхода блокировок есть VPN, причем не простой бесплатный, а надежный или собственный. 

“Блокировка Роскомнадзора, по сути, отсекала от Tor тех, кто им не пользовался и до этого, — говорит Родин. — Хотя сам факт тоже, что решение суда снять все запреты для сайта анонимного браузера исполнено, можно назвать приятной новостью”.

Добавим, на этой неделе разработчики Tor Project представили новую версию знаменитого браузера — Tor Browser 11.5. В релизе добавлены новые функциональные возможности, они помогут пользователям обойти блокировку сайтов и веб-фильтрацию.

Сегодня же стало известно, что под нож Роскомнадзора попал сервис премиальных такси Wheely. От компании требовали удалить с сайта запрещенную информацию, сообщили РБК в пресс-службе РКН. Суд признал таковой слова о работе сервиса “без аккредитованных филиалов либо представительств в России, а также без предоставления сведений в ЕРНИС”.

Сервис премиального такси Wheely появился в 2010 году, его основал Антон Чиркунов. Сначала служба заработала в Лондоне, а затем компания открыла филиал в Москве. От агрегаторов Wheely отличается тем, что не сотрудничает со службами такси, а предоставляет свои машины премиум-класса.

Ссылка на основную публикацию
Adblock
detector