Существует одна вещь, которая смущает меня о Вашем вопросе. Монетный двор основан на Ubuntu, которая в свою очередь основана на Debian. Почему Вы смотрите на ошибки Redhat затем?
Если Вы хотите соединиться как гость, сказать mount
таким образом путем передачи опции guest
, т.е. mount -o guest ...
. Иначе это предположит, что учетные данные необходимы.
Если абсолютно необходимо дать пароль на командной строке, имейте в виду для выхода из любых специальных символов такой как \
или $
, потому что иначе Вы заканчиваете пароль, это отличается от того, что ожидает сервер.
Однако я не могу рекомендовать использовать подход, представленный в другом ответе по единственной причине: fstab
обычно читаемо миром. Поэтому Вы пропустили бы свои учетные данные. Лучший метод должен использовать следующий метод:
fstab
добавьте строку, которая содержит credentials=/etc/share-credentials.txt
в части опций. Например. //server/share /mnt/point cifs iocharset=utf8,rw,credentials=/etc/share-credentials.txt,file_mode=0660,dir_mode=0770 0 0
touch /etc/share-credentials.txt && chmod u=rw,g=r,o= /etc/share-credentials.txt
и затем отредактируйте его.password
и username
для доли.Формат для файла учетных данных похож на это:
username=johndoe
password=sekrit
domain=foobar
domain
значение является дополнительным.
Я раскрутил несколько свежих CentOS 6 и 7 vm's и смог воссоздать точное поведение, которое вы показывали. После некоторых раскопок выяснилось, что на самом деле это изменение в ядре относительно поведения по умолчанию по отношению к жестким и мягким ссылкам в целях безопасности. Следующие страницы указали мне правильное направление:
http://kernel.opensuse.org/cgit/kernel/commit/?id=561ec64ae67ef25cac8d72bb9c4bfc955edfd415
http://kernel.opensuse.org/cgit/kernel/commit/?id=800179c9b8a1
Если вы сделаете мир файлов доступным для записи, ваш пользователь-администратор сможет создать жесткую ссылку.
Для возврата к поведению CentOS 6 в масштабе всей системы были добавлены новые параметры ядра. Установите в файле /etc/sysctl.conf:
fs.protected_hardlinks = 0
fs.protected_symlinks = 0
затем запустите
sysctl -p
Что касается того, почему ваша программа предпочитает использовать ссылки вместо копирования файлов, зачем создавать точную копию файла, если вы можете просто создать запись, указывающую на исходные блоки? Это экономит дисковое пространство, а операция менее затратная с точки зрения процессора и ввода-вывода. Новая жесткая ссылка - это тот же самый файл, только с разными метаданными/входами. Если вы удалите исходный файл после создания жесткой ссылки, это не повлияет на ссылку. Файл "удаляется" только после удаления всех ссылок.