Основы
Есть три группы прав доступа к файлам/директориям, о которых вам стоит позаботиться:
- Пользователь – что может делать владелец файла;
- Группа – что могут делать пользователи отдельных групп;
- Другие – что могут делать остальные пользователи.
У пользователей есть логины (уникальные для каждого пользователя). Пользователи могут быть частью группы.
Примечание: команда chmod принимает целые числа (0664), и каждая из цифр отвечает за определенные права доступа.
Сегодня я расскажу вам о том, как правильно использовать chmod-настройки. Chmod используются для изменения прав доступа к директории или файлу.
Chmod cинтаксис:
chmod -flags permissions /path/to/dir/or/file
Флаги
-R
chmod –R позволит рекурсивно пройтись по всей указанной директории и изменить права доступа для всех файлов и вложенных директорий.
Изменяем права доступа
Вы можете определять, для кого изменяете права доступа:
- u = пользователь;
- g = группа;
- o = другие.
Вы можете добавлять или удалять права доступа при помощи следующих команд chmod:
- + добавить права доступа;
- — удалить права доступа.
Можно задавать следующие права доступа:
- r = чтение;
- w = запись;
- x = исполнение.
Эти знания можно использовать для настройки прав доступа в Apache:
- Apache запущен как пользователь www-data в группе www-data;
- Корневой каталог сервера: /var/www.
Для начала
Нам нужно установить владельца/группу для корневого каталога (и любых внутренних директорий и файлов):
$ sudo chown -R www-data:www-data /var/www
Нужно установить правильные права доступа для пользователей и групп. Запускаем несколько общих команд, которые закрывают доступ, а затем открываем доступ, насколько нам требуется.
Сначала сделайте так, чтобы никто кроме текущего пользователя (www-data) не имел доступа к содержимому директории web-root. Мы используем ‘go‘, поэтому команда будет направлена к группам и другим пользователям (‘group‘ и ‘other‘). Также мы используем ‘—‘ для отключения прав доступа. Затем используется параметр ‘rwx‘, чтобы запретить чтение, запись и исполнение.
$ chmod go-rwx /var/www
Далее нужно разрешить пользователям из той же группы (и ‘other’) открывать директорию /var/www. Это делается без рекурсивного подхода. Мы указываем ‘group‘ и ‘other‘, но используем параметр ‘+‘, чтобы разрешить исполнение (chmod ‘x’).
$ chmod go+x /var/www
Далее изменяем права доступа всех директорий и файлов в корневом каталоге для той же группы (www-data). На случай, если в ней есть файлы:
$ chgrp -R www-data /var/www
Теперь нужно произвести некоторые «сбросы». C помощью команд chmod сделайте так, чтобы только один пользователь мог осуществлять доступ к контенту:
$ chmod -R go-rwx /var/www
Сделайте так, чтобы любой пользователь из той же группы мог читать/записывать и выполнять директории и файлы в корневом каталоге на сервере:
$ chmod -R g+rx /var/www
Лично я дал группе право записывать – это нужно для тех пользователей, которые редактируют контент. Выглядит это следующим образом:
$ chmod -R g+rwx /var/www
Зачастую вам даже не придется проделывать все это, но данная статья вполне способна помочь разобраться.
Валентин Сейидовавтор-переводчик статьи «User and Group permissions, with chmod, and Apache»
Установка и настройка XAMPP
Откройте вкладку Download, найдите версию для Linux и скачайте её.
2. Установка XAMPP
Далее нужно запустить только что загруженный установщик. По умолчанию он находится в папке ~/Downloads или ~/Загрузки. Сначала нужно добавить файлу установщика флаг исполняемости:
Затем запустите установщик от имени суперпользователя:
Затем нужно пройти несколько шагов установщика, на которых достаточно только нажимать кнопку Далее:
После этого установка XAMPP Linux будет завершена, а все файлы программы будут находится в каталоге /opt/xampp.
3. Настройка XAMPP
Управлять работой установленных сервисов можно через терминал или с помощью графической утилиты. Запустить графическую утилиту можно, отметив галочку Launch XAMPP в последнем окне мастера установки.
Здесь, на вкладке Manage Servers, вы можете запустить веб-сервер, сервер баз данных и FTP-сервер:
Для запуска всего сразу нажмите кнопку Start All. Когда сервис запущен, его состояние меняется на running, а иконка становится зёленой. К тому же, выбрав любой из серверов и нажав кнопку Config, вы можете его настроить:
Здесь можно изменить порт, открыть логи ошибок и доступа, а также открыть конфигурационный файл и изменять любые настройки выбранного сервиса:
Но здесь будьте осторожны. Одна ошибка в конфигурационном файле — и сервис может не запуститься. Это всё, что касается графического интерфейса.
4. Управление XAMPP через терминал
В терминале можно сделать всё то же самое, плюс ещё несколько функций. Для управления используется утилита xampp:
Вот её основные опции:
- start — запустить все серверы;
- startapache — запустить только apache;
- startmysql — запустить только mysql;
- startftp — запустить только ftp;
- stop — остановить всё;
- stopapache — остановить только apache;
- stopmysql — остановить только mysql;
- stopftp — остановить только ftp;
- reload, reloadapache, reloadmysql, reloadftp — аналогично, только перезагрузка всех этих сервисов;
- restart — остановить и запустить XAMPP;
- security — проверить настройки безопасности XAMPP;
- enablessl — включить SSL в Apache;
- disablessl — выключить SSL в Apache;
- panel — открыть графическую панель настройки, с которой мы работали в первом пункте.
Я рекомендую после установки программы выполнить команду security, чтобы поменять основные настройки по умолчанию, которые будут небезопасны:
Утилита отключит доступ к MySQL из сети, предложит задать пароль для Phpmyadmin, MySQL, а также пароль для FTP. После этого вы можете запустить все серверы, если не сделали это ранее:
А для остановки используйте:
Запустить графическую панель, с которой мы работали вначале, вы можете такой командой:
5. Развёртывание приложения
Вы можете проверить, всё ли запущено и работает, открыв адрес http://localhost в вашем браузере:
Все файлы веб-сервера находятся в директории /opt/lampp/htdocs/. Вы можете удалить всё, что там есть лишнего и загружать туда файлы своего приложения или, например WordPress.
Установка программ с помощью apt
Перед тем как говорить непосредственно про Debian, нужно рассмотреть apt. Этот пакетный менеджер был специально разработан для Debian и потом стал использоваться в других основанных на нем дистрибутивах. Синтаксис для работы с утилитой такой:
$ sudo apt опции команда имя_пакета
Вот основные команды apt, которые вы можете использовать для управления пакетами:
- download — скачать пакет, но не устанавливать;
- update — используется для обновления информации о списках пакетов в репозиториях;
- upgrade — обновление системы без удаления пакетов;
- full-upgrade — полное обновление системы с удалением конфликтующих зависимостей;
- install — установка пакета;
- remove — удаление пакета без удаления конфигурационных файлов;
- purge — полное удаление пакета;
- autoremove — автоматическое ненужных удаление пакетов;
- search — поиск пакета в локальной базе данных;
- show — посмотреть информацию о пакете.
Кроме того, утилите можно передать некоторые опции, основные:
- -c — сторонний конфигурационный файл;
- -o — строка конфигурации;
- -t — версия релиза для которой устанавливать пакет;
- -f — выполнить операцию принудительно.
Таким образом, для установки пакета из репозиториев достаточно набрать:
А для удаления пакета наберите:
Вы можете искать пакеты с помощью команды search:
Но куда более интересны политики управления репозиториями и установка отдельных пакетов из определенных хранилищ. Особенно это актуально для Debian, чтобы не добавлять нестабильный репозиторий полностью, а устанавливать из него только отдельные пакеты. Для решения таких задач существует настройка политики управления репозиториями.
С помощью политик вы можете настроить из каких репозиториев будет выполняться установка deb пакетов в debian в первую очередь. Мы рассматривали репозитории Debian и как их добавлять в отдельной статье. Допустим, вы добавили backports, testing и unstable. Теперь, чтобы настроить для них приоритеты откройте конфигурационный файл /etc/apt/preferences и добавьте в него строки:
Package: *
Pin: release a=stretch-backports
Pin-Priority: 650
Package: *
Pin: release a=testing
Pin-Priority: 600
Package: *
Pin: release a=unstable
Pin-Priority: 100
Чем выше значение Priority, тем выше приоритет. Сначала мы указываем с помощью инструкции Package имя пакета, а затем репозиторий и его приоритет. В нашем примере самый высокий приоритет имеет репозиторий stable, если там пакета нет, он будет установлен из backports, и только потом из testing и из unstable. Теперь добавление нестабильных репозиториев не будет ломать систему. А если вы захотите установить пакет из нестабильного репозитория, то просто укажите его с помощью опции -t. Например, для testing:
Очень удобно и не ломает систему.
Графический пакетный менеджер Synaptic
Теперь перейдем к рассмотрению установки программ в линукс Debian с помощью графического пользовательского интерфейса. Для этого в дебиан по умолчанию используется программа Synaptic.
Если по какой либо причине в вашей копии системы этой программы нет то установить Synaptic можно командой:
sudo apt install synaptic
1 | sudo apt install synaptic |
С его помощью можно не только устанавливать и удалять программы но и управлять репозиториями и решать некоторые проблемы. В общем программа очень функциональна и удобна.
В верхней части окна программы есть панель с кнопками. Я буду ссылаться на него по ходу рассказа.
Для установки программ в Linux Debian с помощью Synaptic нужно выбрать пакет. Прежде всего обновите информацию о пакетах. Для этого можно нажать сочетание клавиш Ctrl+R либо кликнуть по кнопке «Обновить».
Затем, что бы вызвать меню поиска нажать сочетание клавиш Ctrl+ F или кликнуть по кнопке «Поиск». В открывшемся окне указать название программы или пакета. Например, Midnight Commander и нажать кнопку «Поиск».
После завершения поиска будет выведен список с вариантами для установки. Можно выбрать пакет кликнув по нему левым кликом и посмотреть его описание.
Для установки нужно сделать правый клик по строке с выбранным пакетом. Появится контекстное меню в котором выберите пункт «Отметить для установки».
Откроется окно в котором будут показаны пакет и все зависимости которые потребуются для работы программы.
Нажмите кнопку «Применить», окно закроется и вы вернетесь в интерфейс выбора пакетов. Теперь в верхнем меню тоже нажмите кнопку «Применить».
Опять будет открыто окно в котором тоже нужно нажать кнопку «Применить». Начнется процесс установки. В конце будет выдано сообщение о том, что изменения применены то есть установка завершена.
Как установить быстрый фильтр в Synaptic
Synaptic безусловно удобная программа для установки приложений в линукс но для еще большей функциональности предлагаю добавить быстрый фильтр. Он позволит искать нужные программы и пакеты сразу после запуска без необходимости отрывания окна поиска. Итак, нужно установить пакет
apt-xapian-index после чего обновить индексы.
Для установки вводим команду:
sudo apt install apt-xapian-index
1 | sudo apt install apt-xapian-index |
Теперь для обновления команда:
sudo update-apt-xapian-index –f
1 | sudo update-apt-xapian-index –f |
Ключ –f здесь нужен для принудительного обновления базы даже если она была обновлена. После всех действий в синаптике появится быстрый поиск расположенный верхнем меню.
Теперь можно закрыть Synaptic и пользоваться установленным приложением.
3.2 Установка пакетов
Наконец-то, ожидание окончено! Ваш sources.list готов и списки доступных
пакетов обновлены, теперь вам только остается дать команду
apt-get, чтобы установить предпочитаемый пакет. Например, вы
можете запустить:
apt-get install xchat
APT будет искать в своей базе данных наиболее свежие версии пакетов и будет
скачивать их из соответствующих архивов так, как они указаны в
sources.list. В случаях, когда пакет зависит от другого — как в
варианте ниже — APT проверит зависимости и установит необходимые пакеты. См.
пример:
@[/] # apt-get install nautilus Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: bonobo libmedusa0 libnautilus0 The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 0 to remove and 1 not upgraded. Need to get 8329kB of archives. After unpacking 17.2MB will be used. Do you want to continue? [Y/n]
Пакет зависит от совместно-используемых библиотек,
поэтому APT скачает их из архива. Если бы вы указали имена этих библиотек в
командной строке apt-get, то APT не стал бы спрашивать у вас
разрешения продолжать установку; он бы автоматически решил, что вы хотите
установить все эти пакеты.
Это означает, что APT запрашивает подтверждения только тогда, когда нужно
установить пакеты, которые не были перечислены в командной строке.
Вам могут быть полезны следующие опции apt-get:
-h справка -d только загрузить - не устанавливать и не распаковывать архивы -s ничего не делать реально, имитировать выполнение -y предполагается ответ Yes на все вопросы, сами вопросы не выводить -f продолжать, даже если проверка целостности не удачна -u плюс ко всему показывать список обновленных пакетов
В одной строке можно задавать несколько пакетов. Скачанные из сети файлы
помещаются в каталог для дальнейшей установки
/var/cache/apt/archives.
Также, вы можете указывать пакеты для удаления в той же командной строке.
Просто поместите ‘-‘ сразу после имени удаляемого пакета, например:
@[/] # apt-get install nautilus gnome-panel- Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: bonobo libmedusa0 libnautilus0 The following packages will be REMOVED: gnome-applets gnome-panel gnome-panel-data gnome-session The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded. Need to get 8329kB of archives. After unpacking 2594kB will be used. Do you want to continue? [Y/n]
Более подробную информацию об удалении пакетов можно найти в разделе .
Если вы обнаружили, что пакет испортился, или просто хотите переустановить
файлы пакета более новой доступной версии, то вы можете использовать опцию
—reinstall, например:
@[/] # apt-get --reinstall install gdm Reading Package Lists... Done Building Dependency Tree... Done 0 packages upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 1 not upgraded. Need to get 0B/182kB of archives. After unpacking 0B will be used. Do you want to continue? [Y/n]
При создании этого руководства APT имел версию 0.5.3, которая была текущей
версией в Debian `unstable’ (sid) на время написания. Если вы
установили эту версию, то вам доступны некоторые дополнительные возможности: вы
можете использовать команды типа apt-get install пакет/дистрибутив
для установки пакетов из указанных дистрибутивов, или apt-get install
пакет=версия. Например:
apt-get install nautilus/unstable
установит nautilus из дистрибутива `unstable’ (нестабильный), даже если вы
работаете на `stable’ (стабильном). Для ‘distribution’ допускаются значения
stable, testing и unstable.
Вы можете предпочесть использование ключа -t для выбора целевого
дистрибутива, указывающего предпочесть указанный
дистрибутив при обработке зависимостей.
ВАЖНО: `unstable’ версия Debian — это самая первая версия, в которой
появляются новейшие версии пакетов Debian. Этот дистрибутив подвергается
воздействию изменений, сделанных в пакетах, и маленьким, и большим, каждое из
которых может воздействовать на множество пакетов или систему в целом
По этой
причине, эта версия дистрибутива не должна использоваться неопытными
пользователями или теми, кто ожидает стабильности.
Дистрибутив `testing’ (тестируемый) несколько лучше `unstable’ в отношении
стабильности, но на производстве лучше все-таки использовать стабильный
дистрибутив.