У меня есть каталог в моей домашней папке, к которой я хотел бы, чтобы другой пользователь смог получить доступ. Я создал группу для него, и мы присоединились к ней, и я сделал
sudo chgrp -R group folder/
Он все еще не может войти в каталог, получив отклоненное разрешение. Я также сделал
sudo chmod -R 777 folder/
Напрасно. Почему этот wokring не?Спасибо.
Откройте Nautilus и перейдите к папке, которую Вы хотите совместно использовать (в моем примере, папкой являются Видео).
Щелкните правой кнопкой по значку папки в Наутилусе и выберите Свойства.
Выберите вкладку 'Permissions' и установите Группу и права доступа согласно Вашим требованиям. Например, установите 'Доступ', выпадающий, чтобы 'Создать и удалить файлы'
Следующий шаг:
Выберите вкладку 'Local Network Share', и выбор 'Совместно используют эту папку'
Если Совместное использование Сервиса не будет установлено, то необходимо будет установить его на данном этапе.
Выбор 'Создает Долю'
Это позволит другим создавать и удалять файлы в Вашей выбранной папке.
Вы проверяли, что он имеет, выполняют разрешение к родительским каталогам ? Иначе это не будет работать.
Более точно вдоль пути пользователь берет для ссылки на объект файловой системы, весь промежуток каталогов должен иметь, выполняют набор полномочий для него. На практике часто будет лучше дать разрешение чтения также, начиная с предоставления, только выполнить разрешение работало бы, только если зарегистрированный пользователь прогрессирует до желаемого каталога не имея возможности для изучения тех промежуточных каталогов, который не является, как дела идут при использовании файлового менеджера или окружают завершение (вкладка), например.
Если Вы не возражаете против всех других имеющих read+exec доступ к родительским каталогам, можно быть довольны a chmod o+rx
на тех каталогах, или Вы будете иметь к chgrp
те каталоги также и chmod g+rx
.
Или... ИЛИ... можно использовать... POSIX ACLs !
Можно использовать setfacl
и getfacl
команды или использование Eiciel (apt install eiciel
), файл гнома редактор ACL, для установки тех ACLs. Среди прочего POSIX ACLs позволяет предоставить/отменить права определенным пользователям и группам, не имея необходимость придерживаться традиционного UNIX "ugo" модель разрешения. Больше в NTFS путь, если Вы не находите сравнение слишком непристойным.
man acl
может помочь Вам, но man setfacl
кажется более интересным, поскольку это покрывает определенные для Linux части, такие как так называемые ACLs по умолчанию, которые наследованы объектами файловой системы, созданными в каталоге.
Так, например, если Вы хотите дать пользователю, слегка ударьте "rwx" полномочия на каталоге "работа", со значением по умолчанию (наследованные) "r" полномочия, введите :
setfacl -m u:bob:rwx,d:u:bob:r work
Все еще необходимо дать бобу read+execute разрешение на любых каталогах, которые ему, вероятно, придется пересечь для достижения "работы", хотя (если он уже не имеет тех прав) :
setfacl -m u:bob:rx intermediate_directory
Как примечание стороны, POSIX ACLs не являются новыми. Я не забываю использовать их в Цифровой системе Unix больше чем двадцать лет назад. Однако система забыла сбрасывать те ACLs на выделении/освобождении TTY, только традиционные права, которые включили несколько использования в те прежние времена, когда файлы устройств были статически созданы...
РЕДАКТИРОВАНИЕ : Вместо того, чтобы иметь необходимость дать +rx права на промежуточных каталогах, можно повторно смонтировать целевой каталог где-то в другом месте в файловой системе. Давайте предположим, что у Вас есть каталог "работа", полный путь которой является/x/y/z/work, и Вы не хотите изменять права на x, y или z. Можно создать/shared/work каталог и повторно смонтировать/x/y/z/work там, с помощью :
mkdir -p /shared/work
mount --bind /x/y/z/work /shared/work
Это не выжило бы через перезагрузки, хотя, поэтому в случае, если Вы хотите, чтобы это сохранилось, добавляют следующую строку к/etc/fstab :
/x/y/z/work /shared/work none bind
Выполнение, которое сделает содержание рабочего каталога достижимым через/x/y/z/work и/shared/work также.
Но конечно, если Вы не возражаете перемещать/x/y/z/work в некоторое другое место :
mkdir /shared
mv /x/y/z/work /shared
самый простой и лучший способ.