Как пользоваться командами chown и chmod в Linux?

Основой интерфейса командной строки UNIX является командный интерпретатор (КИ), являющийся первой и главной программой, запускаемой в сеансе пользователя.

CHOWN

Chown — от английского change own. И так, как вы знаете в Linux есть пользователи и группы. У каждого пользователя есть свои файлы, созданные или загруженные. Каждый пользователь находится в собственной группе и может быть объеден c другими пользователями в другие группы.

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

ls -l

Если вы хотите поменять или сменить владельца (пользователя) файла тогда вам поможет команда:

sudo chown userName

В данном примере мы присвоили файл пользователю userName.

Если вы хотите поменять только группу, то можно воспользоваться командой chgrp:

sudo chgrp groupName

Для того чтобы не вводить 2 разные команды делают так:

sudo chown userName:groupName

Вначале указывается владелец файла, а после группа:

sudo chown имя_владельца:имя_группы

Если вам нужно поменять в директории владельца и группу, а там множество файлов и папок тогда используйте ключ -R:

sudo chown -R userName:groupName /var/www/site/

Опции командной строки

В истории развития операционной системы UNIX программы использовали разные способы задания своих опций: ♦ односимвольные, например ls -а -l (что эквивалентно ls -l -а или ls -al или ls -la); ♦ многосимвольные, например find /var  -xdev; ♦ длинные, например ps  —help; ♦ с аргументами, например kill  -n  15 1, или kill  -n15  1, или du  -В  M, или  du -BM,

или find /etc -type d, или даже ls —sort=slze;

♦ «нестандартные», например set +x,  tar  czf ~ или dd  if=/dev/dvd  of=.

Знак «минус», предваряющий опции, естественно используется для того, чтобы отличать их от аргументов. Среди прочих, он был выбран потому, что редко встречается как первый символ в аргументах команд (в качестве которых зачастую выступают имена файлов).

И еще потому, что на терминале классической UNIX набор более логичного знака «плюс» (что могло бы означать «включить»,«активировать») требовал достаточных усилий по нажатию клавиши SHIFT. В результате получилось, что, например, в команде set опция х (execution trace) в форме -х включает, а +х выключает трассировку выполнения команд.

В тех редких случаях, когда аргумент команды все же начинается с символа «минус» и тем самым похож на опцию (представим, что нужно выполнить действие над файлом с именем -=filenames=-), специальная опция — сигнализирует о конце списка опций, за которым следуют лексемы, обязанные расцениваться как аргументы, вне зависимости от их написания.

Конец списка опций

[email protected]: ~$ stat -=filename=-

stat: неверный ключ —  «=» Попробуйте «stat —help» для получения более подробного описания.

[email protected]: ~$ stat  — —  -=filename=-

Файл: «-=filename=-» Размер:  0                         Блоков: 0                     Блок B/B: 4096         пустой обычный файл Устройство: fc00h/64512d                  Inode: 26870044            Ссылки: 1 Доступ: (0600/-rw -)                      Uid: (  1000/    john)                Gid: ( 1000/     john) Доступ: 2018-08-24    01:37: +0300

Модифицирован: 2018-08-24 01:37: +0300

Изменён: 2018-08-24 01:37: +0300

Создан: —

Короткие, односимвольные опции (например -l -а) без своих аргументов издревле можно было объединять в группы (-lа или -al), однако их в этом случае сложно отличать от многосимвольных (-xdev) или односимвольных, склеенных со своими аргументами (-ВМ).

Поэтому позже появились длинные (в так называемом GNU-стиле) опции, обозначаемые двумя знаками «минус», позволяющие навести некоторый порядок в виде —block-size=M вместо -ВМ или, предположим,

Читайте также:  Права суперпользователя root в Linux: полный обзор

—dont-descent вместо -xdev.

Командный интерфейс Linux

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

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

Естественные языки, которые используют люди для взаимодействия между собой, на порядок сложнее формального командного языка операционной системы. Однако использование глаголов (команд), существительных (аргументов) и наречий (опций) родного языка мало у кого вызывает чувство неудобства. Наоборот, странным покажется тот человеческий индивидуум, который попытается в обществе использовать непосредственное манипулирование, например, указывая (щелкая) пальцем в магазине на товары (значки) и мыча что-то нечленораздельное. Скорее всего, мы примем его за иностранца (или это будет ребенок), еще не в полной мере владеющего языком.

Именно командный интерфейс в современном виде — аудиоформе — больше не является уделом художественных фантастических произведений, где капитаны межгалактических кораблей командуют кораблям «включить защитное поле». Теперь мы все можем при помощи командного аудиоинтерфейса смартфона найти ближайшую пиццерию или маршрут к нужному месту. Надеюсь, что и алфавитно-цифровая форма командного интерфейса, доставшаяся «в наследство» от UNIX из 70-х годов прошлого века, вас тоже не особо испугает. Ok, Google?

Синтаксис

Рассмотрим синтаксис команды:

chage [Опции] Логин

Основные опции:

  • -d — установить дату изменения пароля;
  • -E — установить дату, срок действия учетной записи;
  • -h или —help — справочная информация;
  • -I — сделать пароль неактивным, после истечения срока действия;
  • -l или —list — показать информацию о аккаунте.
  • -M — максимальное количество дней до ввода пароля.

Примеры

Среди владельцев дистрибутивов Линукс очень много пользователей, не успевших привыкнуть к новым инструментам управления системой. В сети Интернет часто встречаются повторяющиеся вопросы пользователей относительно работы с командой chage и многими другими инструментами управления Линукс. А вот подробных описаний оказалось недостаточно.

Для первого примера посмотрим справочную информацию, для этого введем название утилиты с параметром —help.

chage —help

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

chage -l root

Здесь root имя пользователя, вместо него укажите любой существующий логин.

Чтобы изменить дату истечения срока действия пароля, необходимо задать аналогичную команду, но только с применением опции -M. Данная опция отвечает за указание максимального срока действия пароля юзера системы.

chage -M 100 root

Здесь 100 — количество дней.

ВАЖНО! Пользователь имеет возможность внести подобные коррективы только в том случае, если он имеет Root права.

Чтобы настроить последнюю дату изменения личных данных (в данном случае имеется в виду пароль пользователя), принято использовать опцию -D.

chage -d 1000 root

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

chage -W 100 root

Как результат, юзер системы Linux получит предупреждение о смене пароля заранее (за десять дней до истечения срока).

Как заблокировать учетную запись

Для этой цели применяется инструмент chage с добавлением специальной опции -E.

В строке терминала следует указать следующее:

сhage -E 2021-01-05 root

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

Заключение

Инструмент chage незаменим в управлении системой Линукс. Помимо всех выше перечисленных ситуаций, в которых принято применять утилиту, существует еще одна весомая причина использовать chage: данная команда предоставляет ограниченный срок допуска нового пользователя в систему. Юзер получает свои личные данные для входа в Линукс, однако по истечению указанного срока его учетная запись удаляется. А значит, доступ блокируется. Это действительно удобно и безопасно.

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

Читайте также:  Создание в Linux загрузочной флешки Windows UEFI

Характерные черты исполняемых файлов в Linux

Пользователи, активно применяющие в повседневной работе операционную систему Windows, свыкнули к тому, что программы имеют расширение «.exe». Такие файлы содержат скомпилированный программный код, или иными словами – последовательность байтов, которая загружается в оперативную память и выполняется процессором. Linux реализует асбсолютно другой подход. Ранее, изучая написание скриптов командного интерпретатора Bash, мы уже поспели рассмотреть пример создания исполняемого файла. Он в отличие от Windows представляет собой обыкновенный текстовый документ с набором команд. Его особенностью является то, что перед основным содержимым дополняется специальный комментарий, говорящий операционной системе Linux, какую программу использовать для интерпретации. Кроме скрипта, исполняемым файлом является и скомпилированная программа. Таким образом, все файлы в Linux смогут быть, как обычными текстовыми документами, так и исполняемыми программами. Отличие лишь в специальных флагах и преимуществах доступа операционной системы (множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство).

Как работает окружение и его переменные

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

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

KEY=value1:value2:…

Если значение содержит пробелы, тогда используют кавычки

KEY=«value with spaces»

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

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

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

По правилам — эти типы переменных определяются, используя заглавные символы. Эта особенность помогает пользователям определять контекст употребления переменных.

Основные команды Bash

Команда CD

Если вы хотите перемещаться в терминале линукс по каталогам, вам нужно использовать команду cd.

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

cd /home/YOUR_USER_NAME или проще: cd ~

Для того, чтобы перейти в каталог на уровень выше, выполните команду cd..

Знаете ли, что командная оболочка реализовала очень удобную функцию подсказок вам нужно перейти в каталог с длинным названием, freebestwebhosting, вам не нужно вводить ее полностью. Вместо этого, вы можете ввести только часть букве free и нажат на клавишу tab, и интерпретатор bash самостоятельно дополнит команду.

Команда CAT

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

cat

Команда GREP

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

cat /var/log/apache2/ | grep

В результате запроса вы увидите данные только по пользователю с ip адреса

Команда TAIL

Tail — это очень полезная команда линукс, с ее помощью можно в реальном времени смотреть изменяемые файлы, например те же логи apache, или логи доступа к серверу. Для того, чтобы просматривать логи в реальном времени, нужно ввести команду:

tail -f /var/log/apache2/

Команда SSH

SSH — это протокол подключения к серверу. Для того, чтобы подключиться к серверу по ssh, введите команду в формате:

ssh [email protected] и нажмите enter.

И если ваш сервер поддерживает подключение по ssh, вам нужно будет ввести пароль и вы попадете на нужный вам сервер в оболочку Bash или оболочку, которая настроена по умолчанию на вашем сервере.

Стандартный порт SSH — 22. Многие администраторы, для того, чтобы немного обезопасить сервер закрывают доступ к ssh через порт 22, а открывают альтернативный порт, например 2231.

Если ваш сервер находиться на не стандартном порте 22, а на порте к примеру 2231, тогда команда подключения через ssh к серверу будет выглядеть так:

Читайте также:  Используем iptables для защиты сервера от DDOS и Flood

ssh [email protected] -p2231

Как изменить права на файл (chmod)

У файлом, как и у каталогов, есть права и владельцы эти файлов. Для того, чтобы изменить права на файл .htaccess вашего сайта введите команду:

chmod 644 .htaccess

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

Пример команды:

chmod -R 775 catalog

Как получить root права в linux и выполнять команды от root. Команда sudo.

Для получения root прав, без смены пользователя, можно воспользоваться командой sudo перед основной командой. Пример команды sudo:

sudo less /etc/php5/apache2/

Команда сменить владельца файла или каталога (chown и sudo)

У файлов и у каталогов есть владельцы. Если вы зашли под пользователем root и создали файл , затем разлогинились и зашли под обычным пользователем, например под пользователем john, вы не сможете обратиться к этому файлу, т.к. у файла владелец пользователь root.

Для смены владельца файла или каталога, нужно воспользоваться двумя командами: sudo и chown:

sudo chown john:john затем enter и введите пароль для root и снова enter.

Команда sudo позволит без входа пол пользователем root, выполнить команду от root. jonh — это ваш пользователь, второй john — это группа пользователя john (может быть любой).

Резюме

В данной статье мы рассмотрели несколько полезных команд оболочки Bash в Linux и Unix подобных системах. Эти команды вам могут пригодиться для настройки собственного VDS сервера, например от хостинга Таймвеб.

В следующих статьях мы рассмотрим не менее полезные команды оболочки bash, познакомимся с консольным редактором nano и vim, файловыми менеджером mc и многими другими.

Изменение прав на файл в буквенном виде

Для того, чтобы изменить права на файл (папку) в linux в буквенном виде, нужно вспомнить то, что написано выше про ugo (user, group, other), rwx (read, write, execute) и понимать, что + означает «добавить», а — — «отнять». Дальше всё просто, например, нужно добавить права на выполнение владельцу, то есть u+x. Ещё несколько примеров:

  • u+x — разрешить выполнение для владельца;
  • ugo+x — разрешить выполнение для всех;
  • ug+w — разрешить запись для владельца и группы;
  • o-x — запретить выполнение для остальных пользователей;
  • ugo+rwx — разрешить все для всех

В итоге, команда выглядит так:

[email protected]:~# chmod ugo+x filename

Эта команда разрешит исполнение файла с именем filename для всех (владельцу, группе и остальным)

Работа с файлами

Следующие команды потребуются вам при работе с файлами разного типа и объёма:

  • cat — для относительно коротких файлов: cat ;
  • less —  считывает текст не полностью, а небольшими фрагментами: less /etc/;
  • more — для длинных файлов;
  • tail -f — используется для просмотра растущего файла в окне интерактивного запуска кода.

Что вы можете сделать с двоичными файлами? На самом деле, вариантов не очень много:

Если вам требуется сравнить текстовые файлы друг с другом, введите следующие команды:

  • comm — отсортированные файлы будут строка за строкой;
  • diff — позволяет построчно выявить различия. Эта команда используется наиболее часто в силу богатого набора опций.

этап. Настройка Nginx и связь с PHP

Далее необходимо настроить Nginx для использования обработчика PHP и отображения динамического контента.

Откройте дефолтный файл конфигурации Nginx командой:

В данный файл внесите следующие изменения:

Чтобы проверить файл на наличие ошибок, выполните команду:

этап. Настройка Nginx и связь с PHP

Если система выдала сообщение о наличии ошибок, исправьте их перед тем, как следовать инструкции дальше.

Затем перезагрузите Nginx командой:

Готово. Nginx и связь с PHP настроена. Далее вы можете проверить корректность работы сервера.

Проверка настроек

Для проверки работы PHP введите команду:

Откроется страница с информацией о настройках веб-сервера PHP:

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

этап. Настройка Nginx и связь с PHP

Готово. На этом установка и настройка LEMP Ubuntu завершена.

Установка LEMP Linux в один клик

LEMP — это набор программного обеспечения, который используется для отображения динамических веб-страниц и веб-приложений. Установка NGINX, MySQL и PHP-FPM на вашем сервере c Ubuntu, менее чем за 30 секунд.

ПодробнееПомогла ли вам статья? ДаНет 10 раз ужепомогла