Полномочия Unix: Включить доступ к файлам, неважно, пользователь?

Я использовал Linux в течение долгого времени, и я все еще полностью в неведении относительно того, как действительно работают полномочия файла. Имея это в виду, у кого-либо есть какие-либо книги или полные руководства, которые я мог прочитать для реального понимания вещей полностью? Я сделал свою справедливую долю sysadminning, таким образом, я знаю легкий материал как создание каталогов читаемый и перезаписываемый, делающий исполняемый файл файлов и изменение владельца файла, но при совместно использовании файлов через пользователей, я потерян.

Вот моя основная проблема. У меня есть много машин, через которые я намереваюсь синхронизировать свою музыкальную библиотеку. Я использовал Унисон некоторое время теперь, и это - большой выбор, поскольку я могу легко выполнить его по SSH в моей локальной сети, которую я просто настроил. Взаимовыгодный.

Вплоть до этой точки я синхронизировал компьютеры с помощью внешнего жесткого диска на 2 ТБ. (компьютер 1 унисон с HD, компьютер 2 унисона с HD, и т.д.) Это утомительно в лучшем случае тем более, что я зашифровал диск, делая его огромной стычкой, чтобы сцепить его до всех моих машин и синхронизировать его. Так или иначе диск выполняет ext4 (в TrueCrypt), таким образом, он поддерживает всю информацию о файловой системе Unix как владельцы и группы. Я просто настроил новую машину и просто Unison'd это для получения музыки на нем, и я понял, что теперь, все мои полномочия являются fubar. Я должен был выполнить Унисон как корень, так как это было единственным способом, которым я мог заставить файлы отрываться внешнего диска. По-видимому, так как я использую другое имя пользователя на этой машине, чем мой обычный "rfkrocktk" через все машины, это по существу бросает огромный ключ в механизмы.

Вот мой вариант использования. Этот ноутбук имеет двух эффективных пользователей, "leandra" и "rfkrocktk". Я хочу совместно использовать музыку между этими двумя пользователями, таким образом, я symlinked/home/rfkrocktk/Music для указания на/home/leandra/Music. Как делают я (a) позволяю обоим пользовательским доступам читать/писать/удалять файлы в этой папке и (b) сохраняю все приятно в синхронизации, не портя принадлежность файла?


Править

Я смог получить вещи вид работы, но не полностью все же. Я установил идентификатор группы своего музыкального каталога моей группе media-users и я добавил обоих своих основных пользователей rfkrocktk и общий пользователь mt-daapd группе. Теперь, rfkrocktk может получить доступ к файлам отлично, но mt-daapd ничего не видьте в каталоге. Вот мои идентификаторы:

$ id rfkrocktk
> uid=1000(rfkrocktk) gid=1000(rfkrocktk) groups=1000(rfkrocktk),4(adm),20(dialout),24(cdrom),29(audio),46(plugdev),104(lpadmin),115(admin),120(sambashare),124(vboxusers),1001(jupiter),2002(media-users)

$ id mt-daapd
> uid=123(mt-daapd) gid=65534(nogroup) groups=65534(nogroup),2002(media-users)

Я попытался установить mt-daapосновной идентификатор группы к media-users группа, но это ничего не изменяет.

Вот мои полномочия на /home/rfkrocktk/Music каталог:

drwxr-Sr-- 201 rfkrocktk media-users 12288 2011-01-13 12:26 Music

Выполнение sudo -i -u mt-daapd ls -l /home/rfkrocktk/Music урожаи ничто. Как я могу зафиксировать это?

3
задан 13.01.2011, 22:46

4 ответа

Я установил владельца файла, чтобы базироваться, и группа к чему-то как 'музыка', и затем сделать ее таким образом, что они - оба члены "музыкальной" группы. Затем сделайте музыкальный каталог setgid (который будет означать, что объекты, созданные в каталоге, наследуют владение группы самого каталога). Затем сделайте полномочия файла 0660, и Вы все установлены.

Полномочия файла являются пользователем, группой, миром, и часто показавшийся восьмеричным числом (например, 0660), где:

1 - должностное лицо 2 - пишет 4 - чтение

Они могут быть добавленными, так например, 0751 средство, что владелец файла может читать, пишет и выполняется; группа может читать и выполниться; все остальные могут только выполниться.

5
ответ дан 07.12.2019, 23:08

Имена не имеют значения. Файл Unix и владение группы хранятся в файловой системе и хранятся численно, не по имени. От Вашей исходной машины откройте терминал как своего обычного пользователя и скажите:

id -u

Это даст Вам числовой идентификатор Вашего пользователя там. При проверке на владение файлов сравнение сделано между идентификатором зарегистрированного пользователя и идентификатором в файловой системе. При отображении имени пользователя идентификатор преобразовывается в текст путем запросов passwd, приведения к локальному имени.

На Вашей новой машине выполняют тот же шаг как выше. Действительно ли идентификатор отличается? Если это отличается затем, "Вы" на новой машине не владелец файлов. На обеих машинах, точно так же если Вы говорите

id -G

Вы получите список идентификаторов группы, которым принадлежит Ваш пользователь. Группа каждого файла должна соответствовать одному из тех идентификаторов, или это не является, находящимся в собственности группы Вас. Можно получить фактического числового пользователя файла и группу с ls -nd file или stat file.

В большинстве случаев две различных системы не будут иметь тех же идентификаторов пользователей. Можно вручную синхронизировать их путем редактирования passwd, но затем необходимо тщательно обновить все файлы в системе для преобразования от любых старых идентификаторов до эквивалентных новых. Синхронизация идентификаторов между системами является сложной задачей, которой не беспокоится большинство домашних пользователей; это - домен LDAP, NIS и других решений как этот.

Для решения проблемы, Вы захотите сделать все файлы принадлежавшими идентификатору группы, который существует в обеих системах, затем удостоверьтесь, что пользователи в обеих системах являются членами группы, затем предоставляют доступ для чтения-записи (chmod g+rw) той группе.

3
ответ дан 07.12.2019, 23:08

Можно установить каталог Music (и все его файлы и подкаталоги), чтобы иметь 775 полномочий, так, чтобы владелец файлов, и любой в той же группе мог сделать что-либо, что они хотят в файлы. Затем следующий прием должен сделать новую группу с любым именем, которое Вы хотите (например, доля) и chgrp каталог Music (и все его файлы и подкаталоги) новой группе. Теперь просто необходимо удостовериться, что пользователи, что Вы для предоставления доступа для чтения-записи к совместно используемым файлам находитесь в группе "доли". Если необходимо сделать эту работу с другими компьютерами просто заботиться, что у группы доли есть тот же числовой идентификатор во всех компьютерах, и Вы будете в порядке.

1
ответ дан 07.12.2019, 23:08

Вот объяснение полномочий, которые я нашел полезным. Этот, также.

0
ответ дан 07.12.2019, 23:08

Теги

Похожие вопросы