4 ответа
27
Вы ничего не делаете неправильно, и ничего не исправить. или — точка монтирования для интерфейс FUSE для GVFS . GVFS — это реализация виртуальной файловой системы для Gnome, которая позволяет приложениям Gnome обращаться к ресурсам, таким как серверы FTP или Samba, или содержимое zip-файлов, таких как локальные каталоги. FUSE — это способ реализовать драйверы файловой системы в качестве кода пользователя (вместо кода ядра). Шлюз GVFS-FUSE делает драйверы файловой системы GVFS доступными для всех приложений, а не только для тех, которые используют библиотеки Gnome.
Управление границами доверия с файловыми системами FUSE затруднительно, поскольку драйвер файловой системы работает как непривилегированный пользователь, в отличие от кода ядра для традиционных файловых систем. Чтобы избежать осложнений, по умолчанию файловые системы FUSE доступны только пользователю, выполняющему процесс драйвера. Даже root не может обойти это ограничение.
Если вы ищете файл только для локальных файловых систем, передайте в . Если вы хотите пересечь несколько локальных файловых систем, перечислите их все.
Если файл присутствует со вчерашнего дня, вы можете попробовать ( выполняет поиск через базу данных имен файлов, которая обычно обновляется каждую ночь) .
Если вы хотите пересечь точки монтирования GVFS, вам нужно будет сделать это как соответствующий пользователь.
8
Это проблема с предохранителем . Ни один пользователь, кроме владельца, не может читать.
Чтобы обойти настройку по умолчанию, попробуйте включить параметр user_allow_other.
Этот параметр указывается путем добавления его в /etc/fuse.conf.
Он не имеет значения, просто укажите параметр на пустой строке.
2
Если вы получаете разрешение и другие данные для gvfs в соответствии со следующими
затем просто отключите свои gvfs, используя следующую команду. После выполнения этого процесса ваша проблема будет решена.
GVFS (виртуальная файловая система GNOME) — это виртуальная файловая система для рабочего стола GNOME, которая позволяет пользователям легко получать доступ к удаленным данным через SFTP, FTP, WebDAV, SMB и локальные данные через интеграцию udev, поэтому вам не нужно бояться отключив его.
2
Это старый поток, но в отчетах об ошибках gnome это недавняя открытая проблема, поэтому может быть полезно любому, кто ищет часы для решения проблемы с gvfs-fuser — все это, по-видимому, тесно связано.
Ошибка Msg из meld:
Я столкнулся с проблемой gvfs-fuser, пытающейся использовать meld /diff /kdiff над ftp. Кажется, проблема заключается в том, что между фьюзером и gvfs. Проблема, похоже, не возникает в 3.15.1, но начинает сообщаться в 3.15.2 (новый python ver?)
Решение является обходным решением, а не исправлением — файлы /каталоги будут копироваться, но ошибка все еще отображается.
ответ Кристофера определяет проблему и предоставляет решение.
Другим возможным решением является использование sshfs (см. и этот поток ). Для получения дополнительной информации о , см. В чем разница между командами gvfs и общими командами, такими как cat, ls, cp?
Вероятно связанные ошибки включают GNOME # 317875 и GNOME # 768281 .
SystemD Automount
Отмонтируйте ресурс, подключенный к нашей файловой системы из прошлого примера
umount /mnt/winshare
Теперь рассмотрим синтаксис unit-файлов типа «.automount», пользуясь информацией из уже созданного unit-файла mnt-winshare.mount
Description=Automount unit for cifs
Where=/mnt/winshare
WantedBy=remote-fs.target
Синтаксис понятен. Как обычно «Description=» — это просто описание, «Where=» указывает на папку, которую SystemD будет мониторить в ожидании обращения к ней, чтобы автоматически смонтировать файловую систему, описанную в соответствующем unit-файле, а вот «WantedBy=remote-fs.target» в секции указывает на то, что unit-файл типа .automount будет активирован в момент времени, когда система будет готова к монтированию сетевых файловых систем, а именно после того, как будут сконфигурированы сетевые интерфейсы, так как цель «remote-fs.target» зависит от цели «network.target»
Всё. Не забудьте перечитать конфигурацию SystemD и активировать ваш automount unit-файл командами
systemctl daemon-reload
systemctl enable mnt-winshare.automount
Если не хотите перезагружаться, можно активировать unit вручную
systemctl start mnt-winshare.automount
Предоставление и отзыв прав суперпользователя
Каждому пользователю в Linux можно предоставить root-права, добавив его в соответствующую группу. Точно так же их можно и отнять, если вдруг это понадобится. Рассмотрю три варианта действий.
Создание нового пользователя с root
Допустим, что вы, единственный юзер в Linux, хотите создать еще одну учетную запись с правами суперпользователя. В таком случае алгоритм действий обретет следующий вид:
- Откройте Терминал и введите команду sudo adduser user (user замените на нужное имя пользователя).
- В консоли появятся инструкции по созданию нового пользователя. Присвойте пароль и подтвердите действие, чтобы завершить создание.
- Добавьте новую учетную запись в группу sudo, введя sudo usermod -aG sudo user (user здесь тоже понадобится заменить).
- Проверьте выполненные действия, переключившись на новую учетную запись через su testuser. Для подтверждения введите пароль (при вводе символы не отображаются на экране).
- Выполните любую команду с sudo и убедитесь, что все прошло успешно.
Для существующей учетной записи
Если учетная запись уже добавлена, в консоли остается ввести только одну команду, чтобы добавить пользователя в группу sudo и разрешить ему получение рут-прав. Сама команда представлена ниже, вам остается только скопировать ее и поменять имя юзера.
sudo usermod -aG sudo user
Используйте предыдущую инструкцию для проверки внесенных изменений.
Откат прав суперпользователя
Если вдруг вы решили, что одна из учетных записей больше не должна состоять в группе sudo, отзовите права, введя команду:
sudo deluser user sudo
Измените user на необходимое имя. Можете переключиться на эту учетную запись и убедиться в том, что теперь команды с sudo она выполнять не может.
Это была вся основная информация о правах суперпользователя в Linux. Вы знаете, что дают такие привилегии, как их правильно использовать и управлять пользователями. В качестве рекомендации скажу, что всегда нужно читать текст ошибок, появляющихся в Терминале, если что-то пошло не так. Это позволит вам быстрее решить проблему без траты времени на поиски в Google.
9 ответов
11
Каталог должен быть монтией FUSE, обработанной . Если каталог окажется пустым, это означает, что не запускается правильно.
Вы можете попробовать запустить его вручную с помощью следующей команды:
Если это не удается, вы можете попробовать проверить, монтируется ли там что-либо еще, или даже сначала удалить и воссоздать каталог ~ /.gvfs. Если все еще не удается, вы можете обновить свой вопрос и предоставить любые сообщения об ошибках, напечатанные ?
** В 14.04 демона называется и его можно найти в
19
Решена проблема (вид).
В Ubuntu 12.10 точка монтирования отображается в .
Надеюсь, что поможет
4
В новых версиях Ubuntu gvfs по умолчанию устанавливается на .
Вы можете проверить себя, где находится точка монтирования по умолчанию, ища линию gvfsd-fuse вашего пользователя в .
3
В Ubuntu 12.10 пути были изменены:
3
В Debian 6.0 wheezy, с lxde и nautilus.
Я также нашел каталог ~ /.gvfs. Я попытался запустить
Но он сказал мне: /dev /fuse: Permission Denied.
Я думал, что, возможно, это потому, что я не в группе плавких предохранителей, а затем добавил свою учетную запись в эту группу.
После перезагрузки gvfs mount отображается в ~ /.gvfs правильно.
3
У меня аналогичная проблема с моей системой 12.04 Precise.
Диски, которые появляются в Nautilus, не отображаются в , особенно после цикла приостановки /возобновления. , но его убить и перезапустить не исправить проблему.
Я обнаружил, что перезапуск Nautilus после вызывает и Nautilus для совместной работы — снова появятся точки монтирования.
2
I задал соответствующий вопрос для моей системы Debian и :
Затем перезагрузитесь. После монтирования GVFS (через Nautilus) каталог share будет находиться в одном из двух мест, в зависимости от того, какая версия Debian или Ubuntu у вас есть:
Когда я хочу получить доступ к файлам, общим с компьютера Windows, напрямую (не просматривая Nautilus), я монтирую общий ресурс в папке в моем домашнем каталоге.
Например. Там, где есть Windows-машина с IP-адресом в домене , у которого есть папка, разделенная как , и у меня есть каталог в моем домашнем каталоге под названием , я могу установить общий ресурс на и получить доступ к нему как если бы он находился в моем домашнем каталоге:
, где содержатся учетные данные:
Теперь я могу использовать , чтобы перечислить файлы и каталоги в общем каталоге on и получить доступ к любому файлу в этой точке монтирования, так как я бы сделал файл на моем локальном жестком диске диск.
Вы можете получить дополнительную информацию о монтировании акций SMB с помощью:
На данный момент …
Безопасность использования прав суперпользователя
Если с предназначением root-прав в Linux все понятно, то вот к безопасности их использования есть вопросы. В основном, относится это к серверным машинам, поскольку риск взлома домашнего компьютера очень мал, да и кому нужны файлы обычного пользователя, чтобы ради этого затевать процедуру взлома. Если вы используете Linux как обычную операционную систему, работаете с документами и стандартными программами, используйте root для установки приложений и защиты системы от случайных изменений, которые могут внести другие пользователи компьютера.
С серверной частью все гораздо сложнее, поскольку рут как таковой не предоставляет полной защиты. Часто используемые пароли взламываются путем перебора или поиском бэкдора. Поэтому не стоит полагаться исключительно на защиту паролем, если вы владеете файлами сайтов или используете сервер для других целей. Займитесь настройкой файрвола, если это повысит уровень защиты.
SystemD Mount
Рассмотрим синтаксис unit-файлов типа «.mount»
Description=
What=
Where=
Type=
Options=
В секции «» одна единственная дирректива «Description=» не делает ничего, просто оставляет комментарий. Гораздо интересенее секция — в ней диррективы «What=» указывает на то, что будем монтировать, «Where=» указывает на то, куда будем монтировать, «Type=» описывает на тип файловой системы и «Options=» указывает какие параметры монтирования следует применить. Пользуясь примером из статьи Как подключить сетевой диск Windows в Linux напишем unit-файл типа .mount для сетевого SMB ресурса MS Windows
Description=Mount point for cifs
What=//SERVER_IP/SHARE_NAME
Where=/mnt/winshare
Type=cifs
Options=user=WIN_USER_NAME,password=WIN_USER_PASSWORD
Дадим ему имя «mnt-winshare.mount» и положим в /lib/systemd/system
Перед тем, как приступить к созданию unit-файла типа .automount, желательно убедиться, что уже на этом этапе всё работает хорошо. Это можно сделать тремя командами
systemctl daemon-reload
systemctl start mnt-winshare.mount
ls /mnt/winshare
Первая команда говорит о том, что SystemD следует перечитать свою конфигурацию, так мы там что-то поменяли, вторая запускает то, что описано в unit-файле mnt-winshare.mount, и третья отображает содержимое свежепримонтированного ресурса. Если вы допустили ошибку в написании unit-файла, при его запуске SystemD может выругаться, и никакого содержимого папки мы уже не увидим. Помочь понять, что же произошло может команда
systemctl status mnt-share.mount
Она кроме всего прочего выведет последнии сообщения журнала этой службы, которые помогут понять природу ошибки. Например можно получить сообщение вида «mount error(13): Permission denied», которое указывает на неверно заданные имя пользователя и пароль к сетевому ресурсу. Ошибок бывает много и разных — внимательно читайте журнал сообщений.
Решение проблем
Контрольный список
Для начала, прочитайте следующую страницу вики . Пункты, которые следует проверить:
1. Получает ли ваш логин SSH дополнительную информацию от сервера, например, файл ? Это может запутать SSHFS. Вам следует временно отключить серверный файл :
$ mv /etc/issue /etc/issue.orig
2. Имейте в виду, что большинство статей по устранению неполадок, связанных с SSH, не связаны с Systemd. Часто определения в ошибочно начинаются с вместо того, чтобы использовать следующий синтаксис .
3. Убедитесь в том, что владелец исходной папки и ее содержимого на сервере владеет соответствующий пользователь:
$ chown -R USER_S: /mnt/servers/folder
4. Серверный идентификатор пользователя может отличаться от соответствующего клиентского. Очевидно, что имена пользователей будут одинаковыми. Вам просто нужно позаботиться о клиентском идентификаторе. SSHFS будет преобразовывать идентификатор пользователя посредством следующего параметра:
uid=USER_C_ID,gid=GROUP_C_ID
5. Проверьте, чтобы клиент имел права на целевую точку монтирования (каталог). Данная директория должна иметь такой же идентификатор, как в настройках монтирования SSHFS.
$ chown -R USER_C: /mnt/client/folder
6. Проверьте, что точка монтирования (папка) пуста. По умолчанию, вы не можете монтировать каталоги SSHFS в непустые директории.
Сброс соединения пиром
- Если вы пытаетесь получить доступ к удаленной машине, используя имя хоста, то попробуйте использовать ее адрес или доменной имя, смотря, что исправит проблему. Убедитесь в том, что вы изменили в соответствии со свойствами сервера.
- Если вы используете нестандартные имена ключей и передаете их как , то это не будет работать. Вам следует использовать с указанием полного пути к ключу.
- Добавление опции » (как в ») может помочь в решении проблемы.
- Если это не помогло выявить ничего полезного, то вы можете также попробовать добавить опцию »
- Если это случается только при загрузке, то возможно, что причиной является systemd, который пытается выполнить монтирование до того, как сеть станет доступна. Это можно исправить, включив ‘wait-online’-службу для вашего сетевого соединения (например, systemd-networkd-wait-online.service).
- Убедитесь, что ваш пользователь можешь зайти на сервер (особенно при использовании AllowUsers).
- Убедитесь в том, что включен в .
Примечание: Когда вы посылаете больше одного аргумента в sshfs, они должны разделяться запятыми. Например: »)
Удаленный хост отключен
Если это сообщение появляется непосредственно после попытки использовать sshfs:
- Сначала убедитесь, что на удаленном компьютере установлен sftp! Ничего не будет работать, пока пакет не будет установлен.
- Затем попробуйте проверить корректность пути к , указанного в на удаленной машине.
Проблемы с монтированием fstab
Для получения подробной отладочной информации, добавьте следующее в параметры монтирования:
ssh_command=ssh\040-vv,sshfs_debug,debug
Примечание: — пробел, используемый fstab для разделения полей.
Чтобы видеть отладочную информацию, запустив при этом , удалите следующее:
noauto,x-systemd.automount
Переключение на суперпользователя
Еще раз уточню, что команда sudo идеально подходит для получения необходимых привилегий без переключения учетной записи. Ее можно использовать как для выполнения одного действия, так и нескольких. Если вы желаете временно получить рут-права через эту команду, введите sudo -s или sudo -i. В первом случае домашний каталог остается текущим, а во втором меняется на /root.
Примерно так же работает и команда su, но она обладает дополнительными аргументами, которые следует уточнить:
- -c – позволяет выполнить команду;
- -g – устанавливает группу для пользователя;
- -G – дополнительные группы для юзера;
- -, -l, —login – один из режимов входа, при котором происходит переключение домашнего каталога;
- -p – сохранение переменных окружения;
- -s – выбор оболочки для выхода.
Есть вариант выполнить вход в оболочку под суперпользователем, но он имеет свои неудобства. Он заключается в переключении в доступную виртуальную консоль, что осуществляется комбинацией Ctrl + Alt + F1-F6. Там понадобится ввести логин и пароль root для получения доступа. Главный недостаток этого метода – потеря возможности взаимодействия с графическим интерфейсом операционной системы.
Второй вариант – ввод такого же логина и пароля при входе через графическую форму авторизации. Так вы сразу получите доступ ко всем файлам, даже не надо будет вводить sudo. Однако неопытным пользователям такой метод не подходит, поскольку возникает риск удаления или изменения системных файлов, что иногда приводит к поломке ОС.
Вы уже сами решайте, какой вариант хотите использовать, и готовы ли смириться со всеми ограничениями и недостатками, которые накладывает каждый из них.
Как зайти под root в Ubuntu Desktop GUI
Если вы хотите зайти в систему как пользователь root не в консоли, а на графическом рабочем столе Ubuntu, тогда вам нужно выполнить несколько дополнительных шагов после включения пользователя root:
Откройте фаил /etc/gdm3/custom.conf . Здесь Вам надо будет добавить AllowRoot = true в блоке . Вот так:
Затем откройте файл /etc/pam.d/gdm-password и найдите такую строку:
Закомментируйте её, поставив знак # перед ней:
Далее перезагрузите компьютер. Когда он перезапустится и появится экрану входа в систему — кликните на ссылку «Нет в списке?». Остаётся лишь ввести root в поле username и указать пароль для суперпользователя. Вот и всё!
Как вы знаете, Linux очень серьезно относится к управлению пользователями и предоставлению им прав на работу с системой. Обычный пользователь может записывать файлы только в свой каталог и каталог /tmp/. Также есть возможность читать некоторые файлы в корневой файловой системе. Но вы не можете устанавливать программы, ведь для этого нужно право на запись, не можете изменять атрибуты файлов, не можете запускать сервисы, не можете читать некоторые файлы логов и еще много чего не можете.
В Linux управлять корневой файловой системой и создавать там файлы имеет право только пользователь root.
В этой статье мы рассмотрим какие программы нужны для того, чтобы получить права root пользователя linux, как они работают, как выполнять программу с правами root от обычного пользователя и как запускать графические программы с правами root. А также выясним что такое sudo в чем разница su или sudo.