- Монтирование и размонтирование сетевого каталога в Linux
- Как заставить Ubuntu запрашивать пароль при монтировании разделов?
- 3 ответа
- Include password when mounting a drive using cifs
- 1 Answer 1
- Как монтировать разделы в Linux без ввода пароля или щепотка JavaScript для polkit
- Почему вообще запрашивается пароль?
- Анатомия монтирования раздела
- Так как же разрешить монтировать диски без ввода пароля?
- Что дальше?
Монтирование и размонтирование сетевого каталога в Linux
Или «ленивое» размонтирование, оно ожидает завершения всех операций с диском, а затем размонтирует каталог, при этом точка монтирования пропадает из списка примонтированных файловых систем /etc/mtab сразу
umount -t cifs -l /DIR/dest
//192.168.10.15/DIR/Source /DIR/dest cifs defaults 0 0
//192.168.10.15/DIR/Source /DIR/dest cifs credentials=/home/.mount_credentials,rw,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
- Настройка сети в Linux
- Настройка и подключение к Linux по SSH с использованием паролей и ключей
- SELinux в Linux
- Настройка Linux в качестве Master Browser
- Монтирование и размонтирование сетевого каталога в Linux
- Создание пользователя с правами sudo в Linux
- LVM в Linux
- LVM увеличение размера раздела за счет размера другого раздела в Linux
- Не отображаются русские буквы в консоли Linux
- Работа с редактором VIM в Linux
- Разрешения и владельцы файлов и каталогов в Linux
- Пользователи и группы в Linux
- Управление пакетами и репозиториями APT, DPKG в Ubuntu
- Управление пакетами и репозиториями YUM, RPM в CentOS
- Firewalld в Linux
- Управление службами через SYSTEMCTL в Linux
- Устройства и виртуальные файловые системы в Linux
- История команд в Linux
- Ссылки в Linux
- Логи в Linux
- Потоки и конвейеры в Linux
- Обработка консольного текстового вывода в Linux
Как заставить Ubuntu запрашивать пароль при монтировании разделов?
Я прошел через такую функцию в старых версиях Ubuntu. Когда я хочу смонтировать раздел, он спросит меня пароль. Теперь я хочу включить такую функцию в Ubuntu 12.04.
3 ответа
Согласно Ubuntu ManPage Repository, pklocalauthority — PolicyKit Local Authority проводит различие между аутентификацией пользователя (чтобы пользователь перед системой доказал, что он действительно является пользователем) и аутентификацией администратора (чтобы пользователь перед системой доказал, что он действительно администратор)
Поэтому вы можете использовать этот набор политик для обеспечения аутентификации администратора для монтирования всех (внутренних и внешних) устройств.
Для этого выполните следующие действия:
- Откройте терминал ( CTRL + ALT + T ) и введите:
gksu gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
ResultActive=auth_admin_keep
Ubuntu теперь будет требовать пароль при монтировании всех дисков (внутренних и внешних дисков).
Для конкретных разделов:
В 10.04 и более новых версиях монтирование всех устройств (внутренних и внешних) допускается без запроса пароля, если это не было определено в таблице файловой системы ( fstab ) файл.
Поэтому, чтобы заставить Ubuntu предлагать пользователям sudo пароль при монтировании определенных разделов, вам нужно отредактировать ваш fstab файл.
Для этого выполните следующие действия:
- Откройте терминал и введите:
$ sudo blkid /dev/sda1: UUID="5474ce02-5c07-4002-a0e7-10c8bc5dba2c" TYPE="ext4" /dev/sda2: LABEL="windows" UUID="7355DDFB0563F31F" TYPE="ntfs" /dev/sda5: LABEL="data" UUID="7e3fbc57-03fe-4742-bb72-756f31852059" TYPE="ext4" /dev/sda6: LABEL="films" UUID="a319fb28-3061-404f-abbc-6519cf81c6c9" TYPE="ext4" /dev/sda7: LABEL="tv" UUID="5D10E5D66886BCCF" TYPE="ntfs" /dev/sda8: UUID="12d16683-5530-454e-809b-1a30ed47a8c9" TYPE="swap"
Теперь, когда вы знаете UUID, вы можете добавить его в fstab файл. Но сначала вам нужно создать точку монтирования, где будет смонтирован раздел. Вы можете сделать это, запустив:
sudo mkdir /path/to/dir/name-dir
Теперь я могу просто добавить строку ниже, чтобы убедиться, что Ubuntu запрашивает пароль при монтировании раздела » data «:
UUID=7e3fbc57-03fe-4742-bb72-756f31852059 /media/data ext4 defaults 0 0
Опция по умолчанию использует параметры по умолчанию: rw, suid, dev, exec, auto, nouser и async.
Пользователь позволяет обычным пользователям монтировать устройство, тогда как nouser разрешает монтировать устройство только пользователю root.
Для получения подробной информации посетите страницу Как отредактировать и понять / etc / fstab.
Include password when mounting a drive using cifs
but then I didn’t have modify access or ownership to the shared drive so this was solved using this question by mounting the shared drive using: sudo mount.cifs -o username=myuser,uid=youruser,gid=yourgroup //xxx.xxx.xx.xx/myfolder /mnt/windowsshare/ : it then asks for the password of the network share and then it works. But when I tried doing this: sudo mount.cifs -o username=myuser,password=mypassword,uid=youruser,gid=yourgroup //xxx.xxx.xx.xx/myfolder /mnt/windowsshare/ by including the password in the command, it says permission denied, not sure why? Also how I can make this permanent so that I don’t have to rewrite the command every time I lose connection or restart the computer?
What is your definition of permanent? Mounting from fstab ? Either way, man mount and google mounting Windows shares. The gist is that you create a separate credentials file and reference it from fstab line for the share you want to mount.
1 Answer 1
BEWARE: all options that automate mounting of remote file systems possess some level of risk. See note at the end of this answer.
To make it permanent and automatically connect/reconnect as needed, use the kernel automounter. This will handle connection dropouts, access timeouts, etc.
Install autofs and configure as follows:
/mounts/ /etc/auto.mymounts --ghost
The —ghost option keeps the mountpoint folder visable on the file system, which makes things smoother for some programs.
The autofs config string would be something like:
/mnt/windowsshare/ -fstype=cifs,rw,credentials=/etc/credentials.autofs ://xxx.xxx.xx.xx/myfolder
This may need extended for some enviornments. NOTE: The vers=2\.1 option will need to be specified if SMB 1 has been turned off on the remote server.
dom=TARGETDOMAIN user=TARGETUSER password=TARGETPASSWORD
WARNING! Make that file readable only by root, because the target password is stored in plain text. There are security implications with storing this password in plain text, particularly if you cannot trust root users. These implications must be carefully weighed to assure that there are mitigating controls that adequately address the root level user(s) access risk. One possible option would be to have a separate user created with limited rights to instantiate this connection, and make sure that adequate, auditable logging is enabled so that activities can be traced.
Как монтировать разделы в Linux без ввода пароля или щепотка JavaScript для polkit
По умолчанию, по крайней мере в Fedora, диски, не монтирующиеся в систему при запуске через fstab, требуют ввода пароля пользователя при попытке обращения к ним.
Думаю многим кто сталкивался с подобным, хотелось бы иметь способ избавиться от такого поведения системы.
Почему вообще запрашивается пароль?
В общем-то, дело в том, что монтирование дисков требует наличия привилегий администратора.
Разумеется, давать каждому желающему монтировать usb-флешки и накопители root доступ ( или даже, sudo ) было бы крайне безответственно, а поэтому существуют специальные инструменты, позволяющие выполнять некоторые административные действия обычным пользователям.
Очень грубо говоря, пользователь не выполняет некое административное действие ( подключи D ), а лишь создаёт запрос на выполнение такого действия ( я, пользователь U, хотел бы подключить D ) и отправляет его в системную шину DBus.
Как правило, этот запрос не поступает сразу к получателю, а сначала приходит в программу управления доступом — Policy Kit или polkit. Эта программа и решает что делать с запросом благодаря очень гибким правилам.
По умолчанию, например для монтирования дисков, polkit запрашивает у пользователя ввод его пароля, таким образом программа убеждается, что запрос поступил именно от пользователя, а не третьего лица. В случае успешной аутентификации, запрос передаётся по шине к конкретному ПО.
Анатомия монтирования раздела
Уверен, опытные пользователи командной строки знают такую программу как mount . И тут может возникнуть резонный вопрос — а как запрос из DBus может быть передан в эту команду?
На самом деле для выполнения монтирования диска используется другая программа — UDisks2. Эта программа с помощью своего демона прослушивает DBus и при поступлении запросов выполняет монтирование/размонтирование/прочие операции.
Существует возможность для гибкой настройки монтирования, например, можно указать набор параметров для определённых устройств или файловых систем — все возможности можно посмотреть в файле /etc/udisks2/mount_options.conf.example .
Так как же разрешить монтировать диски без ввода пароля?
Для того чтобы разрешить монтировать любые устройства без пароля, нужно всего лишь добавить новую политику для polkit.
Политика представляет собой файл в каталоге /etc/polkit-1/rules.d с названием в следующем формате:
Число в имени файла используется для сортировки правил, чем меньше число — тем раньше polkit выполнит проверку этого правила. Такой подход часто используется в GNU/Linux системах.
Давайте создадим новое правило на языке JavaScript, которое позволит монтировать файловые системы без ввода пароля, для пользователей из группы storage .
Редактирование и управление правилами осуществляется от лица привилегированного пользователя
Файл: /etc/polkit.1/rules.d/40-allow-mount-for-storage.rules
polkit.addRule(function(action, subject) const actionIds = [
«org.freedesktop.udisks2.filesystem-mount»,
«org.freedesktop.udisks2.filesystem-mount-system»
];
if (actionIds.indexOf(action.id) !== -1 && subject.isInGroup(«storage»)) return polkit.Result.YES;
>
>)
Как видно из исходного текста — мы проверяем несколько условий:
- Запрошенный идентификатор действия находится в списке ids
Эти идентификаторы определяют тип запрашиваемого пользователем действия, все доступные типы как правило можно посмотреть в XML описаниях действий — /usr/share/polkit-1/actions/*
Если оба условия выполнены, наша функция возвращает значение polkit.Result.YES , сообщая polkit что запрошенное действие можно выполнить без дополнительной аутентификации.
Применение нового правила polkit
После добавления правила, оно обычно применяется сразу, т.е. polkit сам следит за изменениями правил, однако, если вы не уверены в том что правило всё же применилось, некоторые ресурсы рекомендуют также перезапускать службу polkit командой:
systemctl restart polkit.service
Что дальше?
Для более детального управления устройствами, в том числе для настройки монтирования устройства в режиме общего доступа читай мою небольшую заметку о udev: