Как я смонтировал бы совместно используемую папку Linux в другой системе Linux?

Я соглашаюсь, что это не имеет большой смысл при размышлении о символьной ссылке как о символьной ссылке.

Но если Вы думаете о символьной ссылке как о том, чтобы быть похожем на жесткую ссылку, оно имеет больше смысла.

Первая строка man 7 symlink говорит точно это

Symbolic links are files that act as pointers to other files. 
To understand their behavior, you must first understand how hard links work.

A hard link to a file is indistinguishable from the original file because
it is a reference to the object underlying the original filename.
[...]
Changes to a file are independent of the name used to reference the file. 

Так, с жесткой ссылкой при изменении полномочий на файле через любое имя базовые полномочия изменяются для всех имен.

Большинство инструментов пытается следовать за символьными ссылками, так, чтобы можно было притвориться, что это - действительно жесткая ссылка.

Except as noted below, commands follow symbolic links named as
command-line arguments.

The mv(1) and rm(1) commands do not follow symbolic links named as
arguments, but respectively attempt to rename and delete them. 

Commands traversing a file tree [...]

Создание символьных ссылок (или жесткие ссылки) к двоичным файлам иногда полезно, но поскольку Вы просто обнаружили, оно действительно создает некоторые угловые случаи, которые могли вызвать проблемы.

Тем не менее я думаю, что большая проблема здесь использовала sudo когда это было не нужно.

Если у другого пользователя, как предполагалось, был доступ для чтения к Вашему ~/bin, затем sudo было абсолютно ненужным.

Или если у них не было доступа, Вы, возможно, предоставили его (например, использование chmod g+rx $HOME/bin), или предоставил им tarball.

Если Вы все еще думаете с помощью sudo хорошая идея, вот несколько альтернатив:

sudo chown -h $USER $HOME/bin/*
chmod 755 $HOME/bin/*

-h говорит chown не следовать за символьными ссылками

chmod -R 755 $HOME/bin/*

-R говорит chmod "пересекать дерево файла", которое заставляет его проигнорировать символьные ссылки, как намекнули выше в man 7 symlink.

sudo find $HOME/bin/ -type f -exec chmod 755 {} +

-type f говорит find не выполнять исполнительную команду (в этом случае chmod) на символьных ссылках.

# as user 2
cd ~user2/bin
sudo tar -C ~user1/bin -cf - . | tar -xf -

выполнения tar -cf как базируются, таким образом, Вы видите любые файлы, но выполнения tar -xf как user2, который заставляет извлеченные файлы принадлежать user2.

1
11.06.2013, 23:53
2 ответа

Если Вы ищете что-то легкое, и легкое для установки sshfs является безусловно самым легким настроить. Sshfs монтирует удаленные каталоги через ssh и представляет их как локально смонтированные каталоги и файлы. Это звучит более сложным, чем это на самом деле удается, чтобы быть.

Сначала удостоверьтесь, что у Вас есть sshfs, установленный в системе, где Вы будете желать создать, монтируется. Например, скажите, что у меня есть свой ноутбук и удаленный сервер. Я установил бы sshfs на моем ноутбуке так, чтобы я мог смонтировать каталоги локально на нем от удаленного сервера.

Пример

$ sshfs sam@skinner:/home/sam/docs ~/far_projects

$ ls -l ~/far_projects/
total 1260
drwxr-x--- 1 5060 users   4096 Mar 30  2004 acronyms
drwxr-xr-x 1 5060 users   4096 Nov 16  2008 articles
drwxr-xr-x 1 5060 users   4096 Nov 16  2008 bookmark_repository
drwxr-xr-x 1 5060 users   4096 Oct 14  2009 books
drwxr-xr-x 1 5060 users   4096 Nov 15  2008 cheatsheets
-rw-r--r-- 1 5060 users   6855 Feb 19  2009 cheatsheet.txt

Когда Вы сделаны с монтированием, можно использовать команду fusermount размонтировать его.

$ fusermount -u ~/far_projects
$ ls ~/far_projects/
$ 

В эти типы монтирования можно даже интегрировать /etc/fstab.

4
27.01.2020, 23:21

Можно использовать экспорт NFS для совместного использования папки

На Вашем Server_1 Linux, где Вы хотите совместно использовать папку, делают следующее:

   echo /shared_folder *(rw,sync) >> /etc/exports

   /etc/init.d/nfs restart

Сделайте следование Вашего Linux server_2, где необходимо смонтировать совместно используемую папку от server_1:

   mkdir /shared_folder

   mount -t nfs Server_1:/shared_folder /shared_folder
0
27.01.2020, 23:21

Теги

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