Как поставить пароль на файл или папку в Linux

Есть несколько способов разных по реализации и по логике.
1. Шифрование домашнего каталога.
2. Права отдаём root-у.
Потом оставляем права на чтение и запись только root-у.
Не зная пароль root, нельзя ничего сделать ни с папкой ни с файлом.
3. Архивируем с паролем.
Ежели в графической оболочке, то так: нажимаем правой кнопкой на файле (файлах) или папке и выбираем „сжать“, потом пишем пароль в параметрах.
Универсальный способ архивирования в консоли:
4. Пароль на папку.
Можно использовать программу EncFs, работает в консоли. Графической оболочкой для EncFS будет Cryptkeeper. Он ставится отдельно.
Как сменить пароль в Linux
Операционная система Linux изначально проектировалась как многопользовательская и безопасная система. Поэтому здесь у каждого пользователя есть пароль. Полномочия пользователей и способ их аутентификации заложен на уровне системы.
Иногда возникает необходимость изменить пароль в Linux. Во-первых, это может произойти, если вы забыли пароль или просто хотите его поменять. Другая же причина — это безопасность. Пароли нужно менять по крайней мере несколько раз в год, и, если вы системный администратор компании, важно заставить ваших пользователей тоже менять пароли время от времени, и у Linux для этого тоже есть инструменты. В этой статье мы рассмотрим, как поменять пароль в Linux.
Основы
В Linux есть несколько утилит с помощью которых может быть выполнена смена пароля Linux. В этой статье мы будем рассматривать только способы сделать это с помощью терминала, с графическими способами, я думаю, вы и так без труда разберётесь, к тому же они не дают нужной нам гибкости.
Список пользователей в Linux хранится в файле /etc/passwd, вы можете без труда открыть его и посмотреть, пароли же выделены в отдельный файл — /etc/shadow. Этот файл можно открыть только с правами суперпользователя, и, более того, пароли здесь хранятся в зашифрованном виде, поэтому узнать пароль Linux не получиться, а поменять вручную будет сложно.
В большинстве случаев смена пароля выполняется с помощью утилиты passwd. Это очень мощная утилита, она позволяет не только менять пароль, но и управлять сроком его жизни. У неё такой синтаксис:
$ passwd опции пользователь
Рассмотрим опции, чтобы лучше ориентироваться в использовании утилиты:
- -d — удалить пароль пользователя, после этого он не сможет войти
- -e — сделать пароль устаревшим
- -i — через сколько дней после того, как пароль устарел, отключить аккаунт, если пользователь не сменил пароль
- -l — запретить пользователю входить в систему
- -n — минимальное количество дней между сменами пароля
- -S — отобразить информацию об аккаунте
- -u — отменяет действие параметра -l
- -x — максимальное количество дней, пока пароль можно использовать.
- -w — количество дней, после которых нужно предупреждать пользователя о том, что надо сменить пароль.
Возможно, сейчас всё выглядит очень непонятно, но на примерах станет проще. Мы рассмотрим, зачем и в каких случаях нужно использовать все эти опции, чтобы сменить пароль в Linux. Переходим к практике.
Если вы забыли пароль и вам его надо не просто сменить, а сбросить, вам будут полезными эти две статьи:
Как сменить пароль пользователя
Вы можете сменить свой пароль, когда захотите. Для этого вам не нужно особых прав суперпользователя, только знать свой текущий пароль. Просто откройте терминал и выполните утилиту passwd без параметров:

Дальше необходимо ввести новый пароль — и готово, теперь он измеён. Он кодируетсятся с помощью необратимого шифрования и сохраняется в файле /etc/shadow Но заметьте, что вы не можете использовать здесь любой пароль. Система Linux заботится о том, чтобы пользователи выбирали достаточно сложные пароли. Если он будет очень коротким или будет содержать только цифры, вы не сможете его установить.
Общие требования для пароля такие: должен содержать от 6 до 8 символов, причём один или несколько из них должны относиться как минимум к двум из таких множеств:
- Буквы нижнего регистра
- Буквы верхнего регистра
- Цифры от нуля до девяти
- Знаки препинания и знак _
Теперь рассмотрим, как изменить пароль Linux для другого пользователя.
Как сменить пароль другого пользователя
Со своим паролем всё понятно, но если вы захотите поменять код для другого пользователя, то придётся вопользоваться правами суперпользователя. А во всём остальном процесс тот же:
sudo passwd user
Здесь user — это пользователь, для которого нужна смена пароля Linux. Требования для пароля такие же: вы не сможете установить слишком простой пароль.
Вы можете удалить пароль Linux для пользователя, тогда он не сможет войти в систему:
sudo passwd -d user
Как поменять пароль группы
Наверное вы видели в своей системе файл /etc/gshadow. Этот файл эквивалентен /etc/shadow, только содержат пароли для групп. Вы не можете войти от имени группы, но зато, зная её пароль, можете получить доступ к предоставляемым ею функциям в отдельной командной оболочке с помощью команды newgrp.
Для установки пароля на группу используется утилита очень похожая на passwd — gpasswd. Естественно, нам нужны права суперпользователя. Например:
sudo gpasswd disk

Теперь попробуем получить полномочия группы:

После ввода пароля мы временно оказываемся в этой группе и можем работать с теми файлами, к которым разрешен доступ этой группе. Чтобы удалить пароль Linux из группы, используется опция -r:
sudo gpasswd -r disk
Как заставить пользователя поменять пароль
Безопасность сервера — это одна из самых важных вещей. Часто причиной проблем с безопасностью становятся сами пользователи, которые недостаточно часто меняют пароли или делают их слишком простыми. Если вы администратор, у вас есть возможность заставить пользователей выполнять смену пароля время от времени, а также автоматически отсылать им предупреждения о том, что пора сменить пароль пользователя Linux.
Всё это позволяет сделать утилита passwd. Сначала давайте рассмотрим, как посмотреть информацию о пароле в passwd. Для этого используется опция -S:

- Первое поле — имя пользователя
- Второе поле показывает одно из значений: P — пароль установлен, L — пользователь заблокирован, NP — пароля нет.
- 07/21/2016 — дата последнего изменения пароля.
- 0 — минимальное время до смены пароля
- 99999 — максимальное время действия пароля
- 7 — за сколько дней нужно предупреждать об истечении срока действия пароля
- -1 — через сколько дней пароль нужно деактивировать.
Например, через тридцать дней после смены, пароль пользователя станет устаревшим:
sudo passwd -x 30 test

За три дня до того, как пароль устареет, предупредим пользователя, что его нужно сменить:
sudo passwd -w 3 test
Если он этого не сделает в течении пяти дней, аккаунт нужно отключить:
sudo passwd -i 3 test
Пароль можно менять не чаще, чем раз в 10 дней:
sudo passwd -n 10 test
Смотрим теперь, что у нас получилось:
sudo passwd -S test

Как поменять пароль root
Изменить пароль Linux для root очень просто, точно так же, как и для любого другого пользователя. Только нужно иметь права суперпользователя. Вот так это будет выглядеть:
sudo passwd root

Всё работает. Таким же способом можно задать пароль root в Ubuntu.
Как вручную поменять пароль
Операционная система Linux не была бы Linux, если бы мы не имели возможность настроить пароль вручную безо всяких утилит. Как я уже говорил, пароли хранятся в файле /etc/shadow. И хранятся они там в зашифрованном виде. Расшифровать пароль невозможно.
Когда система сохраняет пароль, она выполняет шифрование по определённому алгоритму и сохраняет уже зашифрованный результат, а когда пользователю нужно войти в систему, она просто берёт его пароль, опять же шифрует и сверяет с тем, что хранится в /etc/shadow. Если совпадает — пользователь авторизован.
Даже таким способом сменить пароль пользователя Linux не так уж сложно. Итак, сначала нам нужно получить зашифрованный пароль. Это можно сделать несколькими способами, например с помощью openssl:
openssl passwd -1 -salt xyz yourpass
Замените xyz на любую случайную комбинацию символов, чем больше, тем лучше; yourpass — это ваш новый пароль.
Скопируйте полученный результат в буфер обмена, затем откройте файл /etc/shadow и найдите там нужного пользователя. Я хочу сменить пароль Linux для test:
sudo vi /etc/shadow

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

Всё работает. Как я уже говорил, есть ещё несколько алгоритмов шифрования, с помощью которых вы можете получить пароль, вот они:
makepasswd —clearfrom=- —crypt-md5 <<< YourPass mkpasswd -m sha-512 -S salt -s <<< YourPass perl -e ‘print crypt(«YourPass», «salt»),»\n»‘ openssl passwd -crypt -salt XRYourPass
Во всех этих примерах salt — это случайная строка для увеличения надёжности шифрования, а YourPass — ваш пароль. Что делать с полученным данными вы уже знаете.
Выводы
Из этой статьи вы узнали, как сменить пароль Linux. Я рассмотрел все возможные способы и даже не очень стандартные. Если у вас остались вопросы, пишите комментарии!
Как поставить пароль на линукс
Иногда системный администратор должен установить новый пароль пользователю. Как это сделать? Можно воспользоваться двумя возможностями: установка пароля через утилиту chpasswd или через утилиту passwd .
Проблема в том, что традиционное использование утилит установки пароля в Linux интерактивно: предполагается, что после запуска утилита спросит пароль пользователя, и даже сделает это два раза. Однако такое взаимодействие с пользователем мешает автоматизации.
Здесь рассказывается о том, как установить пароль неинтерактивно, т. е. через команду. Здесь показано решение, которое можно применять в скриптах. Такое решение часто необходимо системным администраторам чтобы автоматизировать свою работу.
Установка пароля через chpasswd
Синтаксис установки пароля следующий:
echo user:12345678 | chpasswd
Здесь user — это имя пользователя, 12345678 — это пароль. Проблема данной утилиты в том, что в некоторых системах данная утилита не позволит задать слишком простой пароль. Поэтому администратор не сможет создать какого-нибудь пользователя-заглушку с простым паролем. Утилита будет упорно выдавать предупреждения вида:
НЕУДАЧНЫЙ ПАРОЛЬ: слишком короткий
НЕУДАЧНЫЙ ПАРОЛЬ: слишком простой
. и завершать свою работу. И таким образом получается, что через chpasswd можно устанавливать пароли, но не все.
Установка пароля через passwd
Утилита passwd , в отличие от chpasswd , позволяет установить пользователю любой требуемый пароль. Делается это следующей командой:
yes 12345678 | passwd user
Здесь 12345678 — это пароль пользователя, а user — это имя пользователя.
Если пароль слишком сложный или слишком короткий, то в выхлопе данной команды будут видны предупреждения, однако нужный пароль все равно будет установлен. В разных операционных системах могут быть разные сообщения и предупреждения. Например, такие:
НЕУДАЧНЫЙ ПАРОЛЬ: СЛИШКОМ короткий
НЕУДАЧНЫЙ ПАРОЛЬ: слишком простой
Повторите ввод нового пароля :
passwd: пароль успешно обновлён
Введите новый пароль UNIX:
Повторите ввод нового пароля UNIX:
passwd: пароль успешно обновлён
В любом случае, вариант с использованием утилиты passwd хорош тем, что гарантированно установит любой пароль.
Как поставить пароль на папку или файл в linux
Ещё один из вопросов, которые часто задают новички. Чаще всего советуют просто отобрать права чтения у файла и оставить их только руту, но Linux хорош тем, что любое действие можно сделать множеством способов. Вот и рассмотрим в статье несколько вариантов, как поставить пароль на файл или папку в Linux.
Если при установки системы вы ставили галочку на шифровании домашнего каталога, то можно просто не пускать не кого за свою учётку и быть уверенным, что доступ к файлам нет ни у кого, кроме нас.
Но рассмотрим другие варианты:
Отдаём файл руту.
Это действительно простой способ.
Вначале файлу(или папке) присваиваем нового владельца:
Затем оставляем права читать и записывать в файл только владельцу(он же root)
Теперь не зная пароль от sudo с этим файлом нечего нельзя сделать.
А теперь представим, что у нас одна учётная запись и другие пользователи компьютера(семья например) знают пароль от sudo, но нам нужно защитите некоторые свои файлы от них.
Ставим пароль на архив
Можно просто за архивировать свои файлы с паролем.
В Ubuntu это можно сделать нажав правой кнопкой на файле(файлах) или папке и выбрав «сжать», а затем вписать пароль в других параметрах:

Универсальный способ зашифровать архив из консоли:
Если нужно запаковать папку, то добавляем ключ -r
Ставим пароль на отдельную папку
В этом случае может помочь программа EncFs. Я уже описывал как ей пользоваться, по этому повторятся не буду.
Описание консольной версии тут.
Апплет для ubuntu тут.
Ставим пароль на отдельный файл
Тут нам пригодится openssl.
Что бы зашифровать из консоли выполняем:
Нельзя шифровать самого в себя.
Для расшифровки выполняем:
Для удобства можно написать пару скриптов:
И вставляем в открывшийся документ:
Делаем его исполняемым:
Теперь повторяем тоже самое, но для расшифровки
Теперь можно шифровать файлы командой:
Для тех кто не любит консоль, могу посоветовать составить скрипт для наутилуса:
Вставляем следующий код:
И, как обычно, делаем файл исполняемым:
Если же нужно ограничить доступ не к файлам, а к определенным сайтам в интернете или материалам, то советую почитать статью о настройкe контентной фильтрации. Статья написано доступным языком и с картинками, так что сможет разобраться даже начинающий пользователь Linux.