... но может быть кому-нибудь и понравится.
Дано:
1. Компьютер с двумя жёсткими дисками, на одном из которых установлена система (включая всё содержимое каталога /home), а на другом хранятся разнообразные нужные и ненужные в хозяйстве файлы: кино, музыка, фотографии, чтиво. У компьютера один пользователь (это важно).
2. Домашняя локальная сеть.
Задача:
Сделать так, чтобы диск с файлопомойкой был доступен всем желающим в локальной сети по первому требованию и без паролей.
В принципе все возможные способы правки конфигов и установки прав пользователя можно легко найти в интернете, в том числе на этом сайте. Но у них есть один недостаток: при переустановке системы все эти движения нужно проделывать заново. Пусть это приходится делать редко, но приходится же. И мозг способен сразу вспомнить далеко не все совершённые действия. А если они записаны в файлик и заботливо сохранены на одном из ЖД, то иногда можно забыть и о существовании самого файлика. Кроме того, существует опасность, что в дистрибутиве новой версии старый испытанный способ больше не будет действовать, потому что изменился адрес нужного конфига или изменилась его структура. Конечно, всё это решаемо, но не очень приятно.
Есть и ещё один фактор неустойчивости стандартных методов. Возможно такая лажа встречается очень редко (может быть вообще только у меня), но я пару раз обнаруживал совершенно неожиданно, что файлопомойка, с таким трудом расшаренная, вдруг снова отказывает в доступе, а при обращении к ней с собственного компьютера выкидывает информацию: «файловая система доступна только для чтения». И никак права доступа не изменить. Дважды приходилось из-за этого всё хранилище перегружать (слава Богу, было куда) и форматировать ЖД заново. Причину этой гадости обнаружил на третий раз: в момент загрузки большого торрента в файлопомойку в доме отключилось электричество. Когда включилось, файловая система снова была доступна только для чтения. Пошевелив памятью, я вспомнил, что и в прошлые разы было отключение электроэнергии в момент, когда на втором ЖД производились какие-то действия: то ли фильм смотрел, то ли музыку слушал. Приобретение UPS проблему не решало: комп включён круглые сутки, поэтому если, скажем, электричество закончится ночью, когда я буду спать, то двадцать минут работы от UPS ничего не изменят: машина всё равно будет выключена аварийно, и будет такая же чехарда с правами доступа.
Решение проблемы возникло случайно. То есть, конечно, были тяжкие раздумья, но всё оформилось в момент очередной переустановки системы. Перед переустановкой создал в юзерском каталоге папку Disk и при разметке пространства во время установки просто указал для /dev/sdb1 точку монтирования /home/user/Disk. Таким образом вся файлопомойка изначально получает принадлежность юзера и открывается по сети как обычная папка в юзерском каталоге. И также был выдержан тест на аварийное отключение питания: права доступа не изменились.
Возможно, у этого способа есть какой-нибудь фатальный недостаток (ну кроме того, что удобен он только если компьютер имеет одного-единственного пользователя, как в моём случае), но я пока ничего не обнаружил. Думаю, он имеет право на существование.
Комментарии (16)
А /home/user на отдельном разделе? Если да, то я не знал, что можно монтировать в уже монтированный каталог. Как по мне, красивее монтировать в папку /media, а в /home/user симссылку. Тогда можно легко менять по необходимости место и название файлопомойки в /home/user
/home на отдельном разделе. Вот я тоже не знал, а оказалось, что монтировать можно.
Да, ссылка это красиво, но она не решает проблему с потерей прав доступа. Я пробовал.
Ну не знаю, у меня тоже периодически вырубают электричество во время закачки торрентов… Но кроме порчи настроек торрент-клиента (и то не всегда), ничего больше не происходило. У меня ext4.
Ну вот а мне не везёт по-другому: с торрент-клиентом всё в порядке, а доступ к разделу улетает. Тоже на ext4.
Я помню, как ты, извращенец, /tmp в /media прикручивал... =)
Вот тебе задачка на засыпку:
mkdir /home/user/kot_mnt
mount /dev/sdb1 /home/user/kot_mnt
mkdir /home/user/kot_mnt/kot_mnt2
mount /dev/sdb2 /home/user/kot_mnt/kot_mnt2
mkdir /home/user/kot_mnt/kot_mnt2/kot_mnt3
mount /dev/sdc1 /home/user/kot_mnt/kot_mnt2/kot_mnt3
touch /home/user/kot_mnt/kot_mnt2/kot_mnt3/kot.txt
где
sdb1 на ext2
sdb2 на ext4
sdc1 на btrfs.
Вопрос:
1) на какой раздел физически скопируется бинарик командой:
cp /bin/bash /home/user/kot_mnt/kot_mnt2
2) что покажет команда la /home/user/kot_mnt ?
3) при каких условиях будет штатно работать каталог /home/user/kot_mnt/kot_mnt2/kot_mnt3?
4) как получить доступ к kot.txt, в случае смерти/изъятия sdb?
Флуди с котом, да знай меру! =)
Я понимаю что вопрос к коту, но букав много, а задачки простые, скорее на внимаетльность. Последняя например:
1. mkdir /tmp/kot_mnt
sudo mount /dev/sdc1 /tmp/kot_mnt
cat /tmp/kot_mnt/kot.txt
2. или зайти с лайфсиди, ткнуть на диск, ткнуть на файл.
Да в плане сложности это и не задачи вовсе, а способ развеять сомнения в плане "что можно монтировать в уже монтированный каталог".
Столько текста ниочем. Это-ж уметь надо ...
а еще откройте для себя bind , это когда вы можете любой каталог примонтировать к любому другому, т.е в данном случае sdb диск можно было смонтировать какнадовски куда-нибудь в mnt например в каталог disk-2Tb, создать там каталог например Share и забаиндить в дом каталог ( и заодно не станет видно lost+found ) например в Файлопомойка (кирилица пройдет тоже).
Для этого создаем в fstab такие строки:
# монтируем sdb в /mnt/disk-2Tb с умолчаниями (конечно лучше бы по UUID чтобы не потерялся при смене SATA порта):
/dev/sdb1 /mnt/disk-2Tb ext4 defaults 0 2
# теперь монтируем каталог с примонтированного sdb в дом-каталог с правами дефолтного пользователя и его группы:
/mnt/disk-2Tb/Share /home/user/Файлопомойка none bind,uid=1000,gid=1000 0 0
естественно все каталоги должны быть заранее созданы. И в данном случае через каталог Файлопомойка вы попадаете сразу внутрь каталога /mnt/disk-2Tb/Share
Можно не задавать gid uid , а отдать Share пользователю:
sudo chown -R 1000:1000 /mnt/disk-2Tb/Share
И таких баиндов вы можете создать столько , сколько вам необходимо. НО, будьте затем внимательны, удалив например каталог Файлопомойка вы грохнете все содержимое Share. Как если бы они лежали внутри этого каталога. Баинд это как телепорт внутри вашего компа между каталогами.
Ну и дальше копируем fstab куда нибудь в облако, гугледиск или яндексдиск или еще куда. Можно еще и .bash_history в облако закинуть, в нем всегда можно в будущем найти кучу интересного.
Вот поэтому гораздо лучше использовать симссылки. Безопаснее, а в остальном какая разница?
Разница в возможности присвоения прав при монтировании например, и уж точно вы не сможете расшарить содержимое по символьной ссылке. Каталог можно удалить и обычный с содержимым, безопасность тут не причем. Статус "Осторожно" я присвоил потому что однажды забаиндил так каталог с музычкой во временный каталог внутри каталога Загрузки, а потом "почистил" внутри него rm -rf Загрузки/* и музычки как не бывало.
Я как-то давно интересовался присвоением прав при монтировании, но мне сказали, что так нельзя…
не совсем понял почему Вы мне это предлагаете... Я какбэ в курсе ...
ЗЫ
Самое смешное в этом топике то, что ТС считает что термин "расшарить" абсолютно однозначен. Что собственно меня и развеселило. Столько текста, а способ расшарки за скобками :)
Как-бе не Вам и предназначалось, извиняйте если невольно задел, а автору поста и коту, ну может кому еще прогодится. Писал в конец обсуждения просто, постоянно путаюсь в этих кнопках, а неверное сообщение удалить невозможно, даже свежее.
И по поводу расшаривания согласен, у автора ни слова как. У меня например NFS везде, автор же вероятно использовал самбу дефолтовую (с трудом расшаренную), в которой надо было внести изменения на предмет от чьего имени раздавать шаро-монтирование.
Отправить комментарий