Unix / Linux — режим доступа к файлам / доступа

Файлы и каталоги в системах Linux все принадлежат кому-то. Вы можете изменить их владельца с помощью команды chown . Мы покажем вам, как.

Общие команды Linux

Здесь собраны Linux-команды, которым не нашлось место в других разделах.

# uname -a # Показывается версия ядра Linux; # lsb_release -a # На экран выводится информация о версии ОС и основанных на ней дистрибутивах; # clear # Очищается экран терминала; # cat /etc/SuSE-release # На экран выводится информация о версии ОС SuSE; # man hier # Описывается иерархия файловой системы (для чего необходима каждая директория в Linux); # wall Привет # На терминалы других пользователей отправляется сообщение «Привет»; # date # Отображается текущая дата и время; # cal -3 # Отображается в удобной форме предыдущий, текущий и следующий месяц; # uptime # Отображается текущее время и работа системы без выключения и перезагрузки; # hostname # Выводится сетевое имя компьютера; # whois # Показывается информация о домене ; # export http_proxy=:port # Меняется переменная окружения http_proxy для использования интернета посредством proxy-сервера; # wget —convert-links -r # Сайт копируется целиком, конвертируются ссылки для автономной работы. Копирование производится на глубину 5-ти уровней; # wget _ # Файл _ скачивается в текущую папку; # pppconfig # Команда нужна для создания и настройки соединения Dial-Up при выходе в интернет по модему; # pppoeconf # Команда для создания и настройки выхода в сеть через ADSL-модем; # !! # Обеспечивается выполнение последней команды; # history | tail -50 # Отображаются последние 50 набранных команд; # exit # Сеанс текущего пользователя завершается; # passwd # Пароль текущего пользователя меняется; # shutdown -h now # Для выхода из Linux; # poweroff # Для выхода из Linux; # reboot # Система перезагружается; # last reboot # Выводится статистика перезагрузок; # winecfg # Для настройки Wine — неэмулятора WinAPI; # host # Для отображения IP-адреса введённого сайта.

Индикаторы разрешений

При использовании команды ls -l она отображает различную информацию, относящуюся к разрешению файла, следующим образом:

$ls -l /home/amrood -rwxr-xr— 1 amrood users 1024 Nov 2 00:10 myfile drwxr-xr— 1 amrood users 1024 Nov 2 00:10 mydir

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

Разрешения разбиты на группы по три, и каждая позиция в группе обозначает конкретное разрешение в следующем порядке: чтение (r), запись (w), выполнение (x) —

  • Первые три символа (2-4) представляют разрешения для владельца файла. Например, -rwxr-xr— означает, что владелец имеет права на чтение (r), запись (w) и выполнение (x).

  • Вторая группа из трех символов (5-7) состоит из разрешений для группы, к которой принадлежит файл. Например, -rwxr-xr— означает, что у группы есть права на чтение (r) и выполнение (x), но нет разрешения на запись.

  • Последняя группа из трех символов (8-10) представляет разрешения для всех остальных. Например, -rwxr-xr— означает, что есть разрешение только на чтение (r) .

Первые три символа (2-4) представляют разрешения для владельца файла. Например, -rwxr-xr— означает, что владелец имеет права на чтение (r), запись (w) и выполнение (x).

Вторая группа из трех символов (5-7) состоит из разрешений для группы, к которой принадлежит файл. Например, -rwxr-xr— означает, что у группы есть права на чтение (r) и выполнение (x), но нет разрешения на запись.

Последняя группа из трех символов (8-10) представляет разрешения для всех остальных. Например, -rwxr-xr— означает, что есть разрешение только на чтение (r) .

Управление учётными записями

Как уже ранее отмечалось, для управления пользователями в Linux-системах существуют наборы специализированных утилит для добавления, редактирования и удаления учётных записей (пользователей) — useradd, usermod и userdel. Они выполняют предписанный порядок действий для достижения конечной цели — например, в случае с добавлением нового пользователя, команда useradd производит, соответственно, весь вышеописанный «комплекс мероприятий». Каждую из этих утилит можно гибко настроить с помощью конфигурационных файлов, чем, кстати, очень активно пользуются разработчики дистрибутивов Linux. Ведь в разных Linux-системах работа этих утилит незначительно, но отличается, хотя утилиты, по сути, идентичные. Ниже приводится таблица, показывающая команды и файлы конфигурации для управления пользователями для некоторых систем на примере утилиты useradd:

Система Команды Файлы конфигурации Комментарий
Ubuntu useradd /etc/
adduser /etc/default/useradd Perl-версия
/etc/
SUSE useradd /etc/
/etc/default/useradd
/etc/default/passwd
/usr/sbin/ Локальные настройки
/usr/sbin/ Локальные настройки
/usr/sbin/ Локальные настройки
/usr/sbin/ Локальные настройки
Red Hat useradd /etc/
/etc/default/useradd
Solaris useradd /etc/default/{login,passwd)
/etc/security/

Что такое командная строка bash?

Bash расшифровывается как Bourne again shell (что возможно перевести как «Еще одна оболочка Борна»), название частично заимствованно от более ранешней версии командной оболочки UNIX, которая называлась просто Bourne shell («Оболочка Борна» – по имена разработчика Стивена Борна). Bash позволяет интерактивно взаимодействовать с компьютером, вводя некоторые команды и получая на них соответствующий отклик. Также этот командный процессор позволяет исполнять скрипты (команды из файла), может производить автодополнение названий файлов и директорий, благоволит использование переменных, операторов ветвления и цикла. Далее в статье будут приведены наиболее простые и необходимые для работы в bash команды, которые помогут вам сориентироваться и начать сами использовать командную строку для своих задач, но сначала необходимо перейти к интерфейсу инструктивной строки.

Командный интерпретатор bash – это один из нескольких интерпретаторов, доступных в Linux. Иное свое название – Bourne-again shell – интерпретатор bash получил в честь Стивена Борна (Stephen Bourne), творца его ранней версии (/bin/sh). По большей части bash совместим с sh, но содержит множество улучшений, касающихся как функциональность, так и возможности программирования. Bash сочетает возможности интерпретаторов Korn shell (ksh) и C shell (csh) и представляется POSIX-совместимым интерпретатором.

Основное

Пользователь — это любой кто пользуется компьютером.

Под каждого пользователя, создается свой каталог, пользователю назначается командная оболочка (командный интерпретатор, используемый в операционных системах семейства UNIX). Например: /bin/bash, /bin/zsh, /bin/sh и другие.

Каждому пользователю назначается идентификационный номер (User ID). Сокращенно номер обозначается как UID, является уникальным идентификатором пользователя. Операционная система отслеживает пользователя именно по UID, а не по их имени.

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

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

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

Каждой группе назначается идентификационный номер (group ID). Сокращённо GID, является уникальный идентификатором группы. Принадлежность пользователя к группе устанавливается администратором.

Просмотр прав пользователя и группы на файл

Чтобы увидеть владельцев файла или каталога, используйте опцию -l (длинный список) с ls .

ls -l

Мы видим, что имя dave дважды появляется в списке. Самый левый внешний вид говорит нам, что владельцем файла является пользователь с именем dave . Самый правый dave говорит нам, что файл принадлежит группе, которая также называется dave .

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

Этот исполняемый файл принадлежит пользователю mary а группа, к которой он принадлежит, является частной группой mary’s .

ls -l

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

Оператор NOT (!)

Оператор NOT (!) очень похож на оператор «кроме«. Эта команда выполнит все, кроме предоставленного условия. Чтобы понять как это работает, создайте каталог «sedicomm» в вашем домашнем каталоге и перейдите к нему с помощью команды «cd«.

mkdir sedicomm cd sedicomm

Затем создайте несколько типов файлов в папке «sedicomm».

touch

Смотрите, мы создали все новые файлы в папке «sedicomm».

ls

Теперь удалите все файлы, за исключением файла «html»одновременно, умным способом.

rm -r !(*.html)

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

ls