Ограничьте доступ пользователей к системе Linux с помощью оболочки с ограничениями
Сначала создайте символическую ссылку под названием rbash из Bash, как показано ниже. Следующие команды следует запускать от имени пользователя root .
# ln -s /bin/bash /bin/rbash
Затем создайте пользователя с именем «infoit» c rbash качестве его / ее оболочки входа по умолчанию.
# useradd infoit -s /bin/rbash
Установите пароль для нового пользователя.
# passwd infoit
Создайте каталог bin внутри домашней папки нового пользователя.
# mkdir /home/infoit/bin
Теперь нам нужно указать, какие команды может запускать пользователь.
Здесь я позволю пользователю запускать только команды «ls» , «mkdir» и «ping» . Вы можете назначить любые команды по вашему выбору.
Для этого выполните следующие команды:
# ln -s /bin/ls /home/infoit/bin/ls
# ln -s /bin/mkdir /home/infoit/bin/mkdir
# ln -s /bin/ping /home/infoit/bin/ping
Теперь вы понимаете, почему мы создали каталог bin на предыдущем шаге. Пользователи не могут запускать никакие команды, кроме трех вышеуказанных команд.
Затем запретите пользователю изменять .bash_profile .
# chown root. /home/infoit/.bash_profile
# chmod 755 /home/infoit/.bash_profile
Отредактируйте файл /home/infoit/.bash_profile :
# vi /home/infoit/.bash_profile
Измените PATH как показано ниже.
PATH=$HOME/bin
Нажмите клавишу ESC и введите : wq, чтобы сохранить и закрыть файл.
Теперь, когда пользователь входит в систему, ограниченная оболочка (rbash) будет запускаться как оболочка входа по умолчанию и читать .bash_profile , который установит PATH в $HOME/bin, чтобы пользователь мог запускать только ls , mkdir и команды ping . Оболочка с ограничениями не позволяет пользователю изменять PATH , а разрешения на .bash_profile не позволяют пользователю изменять среду, чтобы обойти ограничения во время следующего сеанса входа в систему.
Создание и удаление пользователей
Для того, чтобы создать нового пользователя в системе можно воспользоваться двумя утилитами:
- useradd — не интерактивная утилита;
- adduser — интерактивная утилита;
Любой из этих команд нужно передать имя пользователя, но useradd не создаст пользователю домашний каталог и не придумает пароль если не использовать дополнительные опции команды. Зато создаст одноименную группу пользователя и включит этого пользователя в неё. Создавать пользователей в системе может только root:
root@deb-11:~# useradd testuser root@deb-11:~# su - testuser su: warning: cannot change directory to /home/testuser: Нет такого файла или каталога $ id uid=1001(testuser) gid=1001(testuser) группы=1001(testuser) $ pwd /root $ exit root@deb-11:~#
У этой утилиты есть некоторые опции:
- -m — создать домашний каталог пользователю;
- -p <пароль> — здесь нужно ввести хешированный пароль, что не всегда удобно, поэтому не стоит использовать эту опцию;
- -s <путь_к_оболочке> — указать командную оболочку используемую по умолчанию для пользователя (сейчас мы работает в оболочке bash, путь к ней – /bin/bash);
Давайте теперь удалим пользователя testuser и создадим его по новой с изученными опциями. Удаляется пользователь командой deluser.
root@deb-11:~# userdel testuser root@deb-11:~# useradd -m -s /bin/bash testuser root@deb-11:~# su - testuser testuser@deb-11:~$ pwd /home/testuser testuser@deb-11:~$ id uid=1001(testuser) gid=1001(testuser) группы=1001(testuser) testuser@deb-11:~$ exit выход root@deb-11:~#
При удалении пользователя командой userdel, с помощью дополнительных опций можно:
- -f — завершить все процессы пользователя и удалить насильно, даже если пользователь сейчас работает в системе;
- -r — удалить домашний каталог пользователя;
Теперь давайте удалим пользователя testuser и попробуем создать его интерактивной утилитой adduser:
root@deb-11:~# userdel -f -r testuser userdel: почтовый ящик testuser (/var/mail/testuser) не найден root@deb-11:~# adduser testuser Добавляется пользователь «testuser» ... Добавляется новая группа «testuser» (1001) ... Добавляется новый пользователь «testuser» (1001) в группу «testuser» ... Создаётся домашний каталог «/home/testuser» ... Копирование файлов из «/etc/skel» ... Новый пароль: Повторите ввод нового пароля: passwd: пароль успешно обновлён Изменение информации о пользователе testuser Введите новое значение или нажмите ENTER для выбора значения по умолчанию Полное имя []: Номер комнаты []: Рабочий телефон []: Домашний телефон []: Другое []: Данная информация корректна? [Y/n] y root@deb-11:~# su - testuser testuser@deb-11:~$ pwd /home/testuser testuser@deb-11:~$ id uid=1001(testuser) gid=1001(testuser) группы=1001(testuser) testuser@deb-11:~$ exit выход root@deb-11:~#
При использовании adduser, утилита у нас запросит пароль для нового пользователя, создаст одноименную группу для пользователя, также мы можем ввести дополнительную информацию о пользователе: полное имя, номер комнаты, рабочий телефон, домашний телефон.
Эта утилита тоже имеет опции, благодаря которым можно:
- –no-create-home — не создавать домашний каталог пользователю;
- –shell <Оболочка> — задать оболочку для пользователя, по умолчанию задается оболочка bash;
Зачем же созданы две утилиты для создания пользователей? Я бы рекомендовал использовать adduser при ручном создании пользователя и useradd при создании пользователя из скрипта, так как useradd в процессе работы не задает вопросы, а создает пользователя используя опции.
Для удаления пользователей тоже можно использовать две утилиты:
- userdel;
- deluser.
Они различаются только опциями.
userdel:
- -r — удалить домашний каталог пользователя;
- -f — завершить все процессы пользователя и удалить насильно, даже если пользователь сейчас работает в системе;
deluser:
- –remove-home — удалить домашний каталог пользователя;
- –force — завершить все процессы пользователя и удалить насильно, даже если пользователь сейчас работает в системе;
Мне опции первой команды запомнить легче, да и запись получается короче, поэтому я использую userdel.
Типы пользователей в Linux
Каждый файл и каталог в Linux имеет три категории пользователей:
Владелец — пользователь, создавший файл/каталог.
Группа — все пользователи, принадлежащие к некоторой заданной группе, будут иметь одинаковые разрешения группы на доступ к файлу. Предположим, у вас есть проект, в котором несколько человек требуют доступа к файлу. Вместо того, чтобы вручную назначать права доступа каждому пользователю, вы можете добавить их всех в одну группу и назначить права доступа группы к файлу таким образом, чтобы только члены данной группы (и никто другой) могли читать или изменять файлы. Даже если вы единственный пользователь системы, вы все равно будете частью многих групп.
Остальные/Другие (все остальные пользователи) — любой другой пользователь, имеющий доступ к файлу. Он не является владельцем файла, и не принадлежит к группе, которая могла бы владеть файлом.
Другими словами, Владелец — это один пользователь, Группа — это совокупность пользователей, а Остальные — совокупность из всех остальных пользователей системы.
Примечание: В этой статье я буду использовать общий термин «файл», но все действия могут быть применены в том числе и к каталогам.
Теперь представим такую ситуацию: пусть у нас есть два пользователя А и Б, требуется сделать так, чтобы пользователь А не мог повлиять на файл, содержащий жизненно важную информацию/данные пользователя Б. Возникает вопрос: «Как Linux различает данные категории пользователей?». Например, вы не хотите, чтобы ваш коллега, который работает на вашем компьютере с Linux, просматривал ваши изображения. Вот тут-то на сцену и выходят права доступа, определяющие поведение пользователей.
Не рискуйте: резервное копирование и восстановление файлов
Еще мы можем создать нового пользователя и удалить старого. Но для этого нам понадобится защитный раздел или внешний жесткий диск. Идея такая:
Копируем нашу личную папку на защитный раздел или внешний диск. Если мы не хотим копировать все, мы можем копировать только то, что хотим. Например, если мы нажмем Ctrl + H, большинство дистрибутивов Linux покажут скрытые файлы. Мы можем сохранить папки с документами, музыкой, изображениями и т. Д., А также другие папки, такие как .mozilla, которые будут содержать конфигурацию Firefox.
Каждый дистрибутив Linux имеет свое приложение для настроек / предпочтений, поэтому я скажу это примерно (на основе Kubuntu). Заходим в Системные настройки / Диспетчер пользователей
Кроме того, мы можем искать «Пользователи» в настройках нашей операционной системы.
Здесь мы указываем (+) или «Новый пользователь».
Ставим новое имя и пароль.
ВАЖНО: мы даем вам права администратора.
- Начнем с новой учетной записи.
- Мы восстанавливаем данные, которые мы сохранили на шаге 1.
- ПРОВЕРЯЕМ, что все работает правильно.
- Если все пойдет хорошо, мы можем удалить нашу старую учетную запись.
Это не изменение, которое нужно использовать, но оно может нам помочь, и это очень безопасная система, потому что мы ничего не трогали в системе, и у нас есть важные данные в резервной копии.
Шаг 1 – Как изменить права доступа в Linux через командную строку
chmod – эта команда используется для изменения прав доступа к файлу или папке. Каждый файл имеет типы пользователей, которые могут с ним взаимодействовать:
Тип | Объяснение |
---|---|
Владелец (owner) | Пользователь, создавший и владеющий данным файлом или папкой. |
Группа (group) | Все пользователи, члены одной группы. |
Другие (other) | Все другие пользователи в системе, не являющиеся ни владельцами, ни членами группы. |
Команда ls -l, может быть использована для отображения прав доступа и владельца. К примеру, команда ls -l file1.txt отобразит:
-rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt
“-rwxr–rw-“ – эта часть строки показывает права доступа
Здесь 4 главные буквы на которые вам надо обратить внимание: r,w,x,d. d означает, что тип файла — это каталог
В нашем примере, такой буквы нет (она стояла бы первой в строке), здесь вместо нее стоит символ “-“ (который в основном означает “нет”). Буква x означает разрешение на выполнение файла или папки (это разрешение необходимо для входа в папку). Буква w означает разрешение на запись файла или папки (редактирование, удаление и т.д.) И наконец последняя буква r, которая означает чтение. Если у вас есть права на чтение файла, вы можете прочесть содержимое файла, но не сможете предпринять другие действия (к примеру, вы можете прочитать код скрипта, но не сможете выполнить его).
1 – число хард связи. Проще говоря, хард связь это дополнительное имя для существующего файла.
user user – это значение показывает владельца файла и его группу.
– это значение показывает размер файла.
Jan 19 12:59 – отображает дату последнего изменения.
file1.txt – предоставляет имя файла или папки.
Хорошо, теперь давайте вернемся к команде chmod. Это команда позволяет нам изменить права доступа к файлу или папке. Мы научим вас, как это сделать просто складывая номера. Каждое из прав доступа имеет свой собственный номер:
- r (чтение) – 4
- w (запись) – 2
- x (выполнение) – 1
К примеру, если мы хотим изменить права доступа к файлу file1.txt на эти:
-rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt
Мы должны написать следующую команду
chmod 746 file1.txt
Каждый номер в этой команде представляет собой права для одного из типов пользователей (владелец, группа и другие). Первый номер 7. Теперь, используя объяснение числовых значений выше, единственный вариант для получения числа 7 — сложение чисел 4, 2 и 1, получаем 4+2+1=7. Проще говоря, это означает ВСЕ права доступа (чтение, запись, выполнение — rwx). Первый номер устанавливает права доступа для владельца файла. Второй номер 4, который означает права доступа -r (чтение), устанавливает права доступа для группы владельца. Третий номер 6, используя тот же способ, что и с первым номером, 4+2=6, дает группе другие, права на чтение (4) и запись (2) файла. Третья часть в команде (file1.txt) – это имя файла для которого мы изменяем права доступа.
Еще один пример:
chmod 777 file2.txt
эта команда даст все права для каждого типа пользователей (владелец, группа и другие).
Вот список самых наиболее распространённых прав доступа для файлов:
Значение | Цифровое значение | Объяснение |
---|---|---|
-rw——- | 600 | Владелец может читать и записывать файл. |
-rw-r–r– | 644 | Владелец может читать и записывать файл, группа и другие могут только читать. |
-rw-rw-rw- | 666 | Владелец, группа и другие могут читать и записывать. |
-rwx—— | 700 | Владелец может читать, записывать и выполнять, группа и другие не имеют никаких прав доступа. |
-rwx–x–x | 711 | Владелец может читать, записывать и выполнять, группа и другие могут только выполнять. |
-rwxr-xr-x | 755 | Владелец может читать, записывать и выполнять, группа и другие могут читать и выполнять. |
-rwxrwxrwx | 777 | Все типы пользователей могут читать, записывать и выполнять. |
Наиболее распространенные права доступа для каталогов:
Значение | Цифровое значение | Объяснение |
---|---|---|
drwx—— | 700 | Только владелец может читать и записывать в этом каталоге. |
drwxr-xr-x | 755 | Владелец, группа и другие могут читать каталог, но только владелец может изменять содержимое. |
Существуют и другие способы изменения прав доступа в Linux, используя команду chmod. Но нашей персональной рекомендацией станет, изучение одной из этих команд и её использование (в этом случае способ с номерами). Если вы хотите узнать больше о других путях изменения прав доступа, вы можете прочитать об этом здесь.
Права и владельцы
- В операционной системе UNIX были сформулированы некоторые общие идеи и принципы, которые оказали в дальнейшем сильное влияние на её архитектуру, пользовательский интерфейс, культуру и развитие. В частности, один из основополагающих принципов выражается мантрой «всё есть файл», которую часто называют определяющим пунктом UNIX в целом.
- Суть данного принципа заключается в создании унифицированного способа доступа к широкому диапазону ресурсов ввода/вывода: к документам, каталогам, жёстким дискам, дискам CD-ROM, модемам, клавиатурам, принтерам, мониторам, терминалам и даже межпроцессным и сетевым взаимодействиям. Цель — предоставление универсальной абстракции для каждого из этих объектов, названных отцами-оснвоателями UNIX общим термином «файл». Поскольку доступ к файлу осуществляется с помощью одного и того же API, стало возможно использовать одинаковый набор базовых команд для чтения и записи таких разнородных устройств, как диск, клавиатура, документ или сетевой интерфейс.
- Абстракция файла, существующая в операционной системе UNIX и совместимых с ней системах, является основополагающей и всеобъемлющей. Любая системная служба и интерфейс устройства теперь могут реализовываться так, чтобы предоставлять другим приложениям метафору файла или файловой системы. Это открывает новые способы их использования и значительно расширяет возможности существующих приложений — простые инструменты, разработанные для решения узких задач, теперь, вооружившись абстракцией файла UNIX, могут использоваться совершенно по-новому. Небольшая утилита вроде cat, предназначенная для считываения одного или нескольких файлов и вывода их содержимого на стандартный поток вывода, теперь может выполнять чтение с устройств ввода-вывода с помощью специальных файлов устройств, как правило расположенных в каталоге . С другой стороны, во многих системах запись и проигрываение звука теперь выполняется всего лишь командами «» и «» соответственно.
В GNU/Linux каждый файл принадлежит какому-то пользователю и группе. Существует три типа прав доступа — чтение, запись и исполнение. Права доступа задаются по отдельности для владельца-пользователя, владельца-группы, и для прочих пользователей, которые не входят в первые две категории. Владельцев файла и права доступа можно узнать с помощью «длинного» формата команды :
$ ls -l /boot/
total 13740 drwxr-xr-x 2 root root 4096 Jan 12 00:33 grub -rw-r--r-- 1 root root 8570335 Jan 12 00:33 initramfs-linux-fallback.img -rw-r--r-- 1 root root 1821573 Jan 12 00:31 initramfs-linux.img -rw-r--r-- 1 root root 1457315 Jan 8 08:19 System.map26 -rw-r--r-- 1 root root 2209920 Jan 8 08:19 vmlinuz-linux
Первая колонка содержит права доступа к файлу (например, правами файла являются ). Третья и четвёртая колонки содержат соответственно пользователя и группу, которым принадлежит файл. В этом примере все файлы принадлежат пользователю root и группе root.
$ ls -l /media/
total 16 drwxrwx--- 1 root vboxsf 16384 Jan 29 11:02 sf_Shared
В этом примере каталог принадлежит пользователю root и группе vboxsf. Владельца и права доступа можно также определить утилитой stat.
Пользователь-владелец:
$ stat -c %U /media/sf_Shared/
root
Группа-владелец:
$ stat -c %G /media/sf_Shared/
vboxsf
Права доступа:
$ stat -c %A /media/sf_Shared/
drwxrwx---
Права доступа отображаются тремя группами символов, которые являются правами соответственно пользователя, группы и всех остальных. Например, строка говорит о том, что владелец файла имеет права на чтение и запись, но не на выполнение (), а пользователи из группы-владельца и прочие пользователи имеют доступ только на чтение ( и ). С другой стороны, строка говорит о том, что у пользователя и группы права на чтение, запись и исполнение ( и ), а все остальные доступа к файлу не имеют вовсе (). Первый символ в строке означает тип файла.
Вывести список всех файлов, принадлежащих пользователю или группе, можно с помощью утилиты :
# find / -group имя_группы
# find / -group номер_группы
# find / -user имя_пользователя
Изменить владельцев файла можно командой chown, а права доступа меняются командой chmod:
Управление пользователями
Просмотр
Вся информация о пользователях хранится в файле .
Каждый аккаунт занимает одну строку, в формате
- — имя пользователя.
- — зашифрованный пароль пользователя.
- — идентификационный номер пользователя.
- — идентификационный номер основной группы пользователя.
- — необязательное поле, используемое для указания дополнительной информации о пользователе (например, полное имя пользователя).
- — домашний каталог ($HOME) пользователя.
- — командный интерпретатор пользователя (обычно /bin/sh).
Получение информации о пользователях
- – вывод информации (имя пользователя, рабочий терминал, время входа в систему, информацию о потребленных ресурсах CPU и имя запущенной программы) о всех вошедших в систему пользователях.
- – вывод информации (имя пользователя, рабочий терминал, время входа в систему) о всех вошедших в систему пользователях.
- или или – вывод вашего имени пользователя.
- – вывод имен пользователей, работающих в системе.
- – вывод о идентификаторах пользователя: его uid, имя_пользователя, gid и имя первичной группы и список групп в которых состоит пользователь
- – вывод списка групп в которых состоит пользователь.
Добавление пользователя
Добавление пользователя осуществляется при помощи команды useradd.
Ключи:
- Базовый каталог. Это каталог, в котором будет создана домашняя папка пользователя. По умолчанию /home.
- Комментарий. В нем вы можете напечатать любой текст.
- Название домашнего каталога. По умолчанию название совпадает с именем создаваемого пользователя.
- Дата, после которой пользователь будет отключен. Задается в формате ГГГГ-ММ-ДД. По умолчанию отключено.
- Количество дней, которые должны пройти после устаревания пароля до блокировки пользователя, если пароль не будет изменен (период неактивности). Если значение равно 0, то запись блокируется сразу после устаревания пароля, при -1 — не блокируется. По умолчанию -1.
- Первичная группа пользователя. Можно указывать как GID, так и имя группы. Если параметр не задан будет создана новая группа название которой совпадает с именем пользователя.
- Список вторичных групп в которых будет находится создаваемый пользователь
- Каталог шаблонов. Файлы и папки из этого каталога будут помещены в домашнюю папку пользователя. По умолчанию /etc/skel.
- Ключ, указывающий, что необходимо создать домашнюю папку. По умолчанию домашняя папка не создается.
- Зашифрованный пароль пользователя. По умолчанию пароль не задается, но учетная пользователь будет заблокирован до установки пароля.
- Оболочка, используемая пользователем. По умолчанию /bin/sh.
- Вручную задать UID пользователю.
Если при создании пользователя не указываются дополнительные ключи, то берутся настройки по умолчанию. Посмотерть настройки по-умолчанию можно с помощью команды .
Если вас не устраивают такие настройки, вы можете поменять их выполнив , где это ключ из таблицы выше.
Изменение пользователя
Изменение параметров пользователя происходит с помощью утилиты usermod. Пример использования:
Изменить пароль пользователю можно при помощи утилиты passwd.
Утилита passwd может использоваться и обычным пользователем для смены пароля.
Основные ключи passwd:
- Удалить пароль пользователю. После этого пароль будет пустым, и пользователь сможет входить в систему без предъявления пароля.
- Сделать пароль устаревшим. Это заставит пользователя изменить пароль при следующем входе в систему.
- Заблокировать учетную запись пользователя по прошествии указанного количества дней после устаревания пароля.
- Минимальное количество дней между сменами пароля.
- Максимальное количество дней, после которого необходимо обязательно сменить пароль.
- Заблокировать учетную запись пользователя.
- Разблокировать учетную запись пользователя.
Установка пустого пароля пользователя
Супер пользователь с помощью утилит командной строки passwd и usermod или путем редактирования файла /etc/shadow может удалить пароль пользователь, дав возможность входить в систему без указания пароля.
или
После этого имеет смысл принудить пользователя установить себе новый пароль при следующем входе в систему.
Удаление пользователя
Для того, чтобы удалить пользователя воспользуйтесь утилитой userdel.
Пример использования:
- Принудительно удалить пользователя, даже если он сейчас работает в системе.
- Удалить домашний каталог пользователя.
Права доступа в Linux
Любой файл и каталог в Linux имеет пользователя-владельца и группу-владельца. То есть любой файл и каталог принадлежит какому-то пользователю системы и какой-то группе. Кроме того, у любого файла и каталога есть три группы прав доступа: одна для пользователя-владельца, одна для членов группы-владельца и одна для всех остальных пользователей системы. Каждая группа состоит из прав на чтение, запись и запуск файла на исполнение. Для каталогов право на исполнение и право на чтение всегда идут вместе и означают одно и то же.
То есть изменяя владельцев того или иного файла и различные группы прав доступа к нему можно гибко управлять доступом к этому файлу. Например, сделав себя владельцем некоего файла и полностью запретив к нему доступ всем, кроме пользователя-владельца, можно скрыть содержимое и запретить изменение этого файла для всех других пользователей. Такая же штука проходит и с каталогами. Можно, например, запретить записывать файлы в каталог, или вообще скрыть его содержимое от посторонних глаз.
В данный момент нас интересует одно крайне важное следствие из подобной организации прав доступа в системе. Конкретному пользователю Ubuntu принадлежит только его домашний каталог и все его содержимое
В системе этот каталог находится по адресу . Все остальные файлы системы, включая все приложения, системные настройки и т.д., располагающиеся вне , принадлежат преимущественно . Помните, я говорил, что — это пользователь с неограниченными привилегиями, непосредственное использование которого в Ubuntu запрещено. Так вот, все системные файлы и каталоги принадлежат недаром, им всем выставлены права на изменение только для пользователя-владельца, таким образом никто, кроме , не может вмешаться в работу системы и что-то поменять в системных файлах.
Это конечно очень хорошо для безопасности, но что же делать, если вам нужно изменить какие-нибудь системные файлы? Тут есть два пути: во-первых, большинство необходимых пользователю системных настроек можно изменить обладая правами администратора из графических конфигураторов, это самый предпочтительный способ. Ну а во-вторых можно временно повысить свои права до и делать вообще всё, что угодно.
Делается это с помощью утилиты и её производных. — это консольная утилита. Она позволяет «прикинуться» рутом при выполнении конкретной команды, таким образом, получив неограниченные права. Например, команда
sudo apt-get update
обновит данные о доступных вам приложениях (зачем это нужно я объясню в статье про управление программами). Сама по себе команда
apt-get update
работает, только если её запускает . Однако запуская её с помощью вы выдаёте себя за рута, рутом при этом не являясь. Естественно, для использования вы должны обладать правами администратора. При этом при запуске команды через система спросит у вас ваш пароль, однако в целях безопасности при его вводе вам не будет ничего показываться, ни звёздочек, ни чёрточек, ни птичек, ничего. Не пугайтесь, так и надо, просто вводите до конца и нажимайте Enter. Если вы являетесь администратором и правильно ввели пароль, то указанная после команда исполнится от имени .
Через терминал можно сделать всё, что угодно, так что имея возможность стать рутом вы можете выполнить все необходимые вам настройки. Однако иногда удобно использовать графические приложения, при этом обладая правами рута. Например, если вам надо скопировать файлы в системные каталоги. Для запуска графических приложений от имени откройте терминал, командой
sudo apt-get install gksu
установите приложение gksu. После этого откройте диалог запуска сочетанием клавиш Alt+F2 и введите
gksudo имя_приложения
Например, для запуска файлового менеджера Nautilus надо ввести
gksudo nautilus
Через запущенный таким образом Nautilus вы сможете как угодно изменять любые файлы на компьютере.
Будьте предельно внимательны при использовании Nautilus с правами ! Вы сможете безо всяких предупреждений безвозвратно удалить любой системный файл, что спокойно может привести к неработоспособности всей системы.
Управление аккаунтами пользователей
Обычные и системные аккаунты
Имя пользователя (Username)Пароль:UID:GID:Поле комментариев (Comment field):Каталог (Directory):Оболочка (Shell):/sbin/nologinПример содержимого /etc/shadow.
Следующие поля определены в /etc/shadow:Имя для входа:Зашифрованный пароль:Дни с 1 января 1970 года, когда пароль последний раз изменялся:За несколько дней до того, как пароль может быть изменен:Дни, после которых пароль должен быть изменен:За несколько дней до истечения срока действия пароля пользователь получает предупреждение:Через несколько дней после истечения срока действия пароля эта учетная запись отключена:Дни с 1 января 1970 года эта учетная запись отключена:Зарезервированное поле, которое когда-то было добавлено «для будущего использования»:passwd chage
Изменение файлов конфигурации
vipwvipw -svigrПриятно знать, что vipw и vigr существуют, но лучше не использовать эти утилиты или что-либо еще, что напрямую открывает файлы конфигурации пользователя и группы. Вместо этого используйте такие инструменты, как useradd и groupmod.
Файлы конфигурации для управления пользователями по умолчанию
Список некоторых наиболее важных свойств, которые можно установить в /etc/login.defs:MOTD_FILE:ENV_PATH:PASS_MAX_DAYSPASS_MIN_DAYSPASS_WARN_AGEUID_MIN:CREATE_HOME:USERGROUPS_ENAB:
Создание пользовательской среды
Для создания пользовательской среды несколько файлов играют роль:
- /etc/profile: используется для настроек по умолчанию для всех пользователей при запуске оболочки входа;
- /etc/bashrc: используется для определения значений по умолчанию для всех пользователей при запуске подоболочки;
- ~/.profile: специальные настройки для одного пользователя, применяемые при запуске оболочки входа;
- ~/.bashrc: специальные настройки для одного пользователя, применяемые при запуске подоболочки.
В этом примере вы применяете общие решения для создания учетных записей пользователей.vim /etc/login.defsCREATE_HOMEUSERGROUPS_ENABcd /etc/skelmkdir Picturesmkdir Documentsexport EDITOR=/usr/bin/vimuseradd lindaid lindapasswd lindapasswd -n 30 -w 3 -x 90 linda-x 90-w 3-n 30for i in lisa lori bob; do useradd $i; donegrep lori /etc/passwd /etc/shadow/ etc/group
Команды Linux, для работы с файлами
Эти команды используются для обработки файлов и каталогов.
33. ls
Очень простая, но мощная команда, используемая для отображения файлов и каталогов. По умолчанию команда ls отобразит содержимое текущего каталога.
34. pwd
Linux pwd — это команда для показывает имя текущего рабочего каталога. Когда мы теряемся в каталогах, мы всегда можем показать, где мы находимся.
Пример ример ниже:
35. mkdir
В Linux мы можем использовать команду mkdir для создания каталога.
По умолчанию, запустив mkdir без какой-либо опции, он создаст каталог в текущем каталоге.
36. cat
Мы используем команду cat в основном для просмотра содержимого, объединения и перенаправления выходных файлов. Самый простой способ использовать cat— это просто ввести » имя_файла cat’.
В следующих примерах команды cat отобразится имя дистрибутива Linux и версия, которая в настоящее время установлена на сервере.
37. rm
Когда файл больше не нужен, мы можем удалить его, чтобы сэкономить место. В системе Linux мы можем использовать для этого команду rm.
38. cp
Команда Cp используется в Linux для создания копий файлов и каталогов.
Следующая команда скопирует файл ‘myfile.txt» из текущего каталога в «/home/linkedin/office«.
39. mv
Когда вы хотите переместить файлы из одного места в другое и не хотите их дублировать, требуется использовать команду mv. Подробнее можно прочитать ЗДЕСЬ.
40.cd
Команда Cd используется для изменения текущего рабочего каталога пользователя в Linux и других Unix-подобных операционных системах.
41. Ln
Символическая ссылка или программная ссылка — это особый тип файла, который содержит ссылку, указывающую на другой файл или каталог. Команда ln используется для создания символических ссылок.
Команда Ln использует следующий синтаксис:
42. touch
Команда Touch используется в Linux для изменения времени доступа к файлам и их модификации. Мы можем использовать команду touch для создания пустого файла.
44. head
Команда head используется для печати первых нескольких строк текстового файла. По умолчанию команда head выводит первые 10 строк каждого файла.
45. tail
Как вы, возможно, знаете, команда cat используется для отображения всего содержимого файла с помощью стандартного ввода. Но в некоторых случаях нам приходится отображать часть файла. По умолчанию команда tail отображает последние десять строк.
46. gpg
GPG — это инструмент, используемый в Linux для безопасной связи. Он использует комбинацию двух ключей (криптография с симметричным ключом и открытым ключом) для шифрования файлов.
50. uniq
Uniq — это инструмент командной строки, используемый для создания отчетов и фильтрации повторяющихся строк из файла.
53. tee
Команда Linux tee используется для связывания и перенаправления задач, вы можете перенаправить вывод и/или ошибки в файл, и он не будет отображаться в терминале.
54. tr
Команда tr (translate) используется в Linux в основном для перевода и удаления символов. Его можно использовать для преобразования прописных букв в строчные, сжатия повторяющихся символов и удаления символов.