У меня есть доступ к сетевому диску cifs. Когда я монтирую его на своей машине с OSX, я могу читать и писать с него и на него.
Когда я монтирую диск в Ubuntu, используя:
sudo mount -t cifs -o username=${USER},password=${PASSWORD} //server-address/folder /mount/path/on/ubuntu
Я не могу записать на сетевой диск, но я могу читать с него. Я проверил разрешения и владельца папки монтирования, они выглядят так:
4.0K drwxr-xr-x 4 root root 0 Nov 12 2010 Mounted_folder
Я не могу изменить владельца, потому что я получаю ошибку:
chown: changing ownership of `/Volumes/Mounted_folder': Not a directory
Когда я спускаюсь глубже в сетевой диск и меняю владельца там, я получаю сообщение об ошибке, что у меня нет разрешения на изменение владельца папки.
Что я должен сделать, чтобы активировать мое разрешение на запись?
noperm
монтирования, аналогично указанному в моем ответе на этот вопрос: unix.stackexchange.com/a/375523/16287 . Это даст всем пользователям доступ для чтения и записи к монтированию CIFS.Ответы:
Вы монтируете общий ресурс CIFS как root (потому что вы использовали
sudo
), поэтому вы не можете писать как обычный пользователь. Если ваш дистрибутив Linux и его ядро достаточно новы, чтобы вы могли смонтировать сетевой ресурс как обычный пользователь (но в папке, которой владеет пользователь), у вас будут надлежащие учетные данные для записи файла (например, смонтируйте общую папку где-нибудь под вашим Домашний каталог, как например$HOME/netshare/
. Очевидно, вам нужно будет создать папку перед монтированием).Альтернативой является указание идентификатора пользователя и группы, который должен использовать смонтированный сетевой ресурс, что позволит конкретному пользователю и потенциальной группе выполнять запись в общий ресурс. Добавьте следующие параметры к вашему монтированию :
uid=<user>,gid=<group>
и замените<user>
и<group>
соответственно вашим собственным пользователем и группой по умолчанию, которые вы можете автоматически найти с помощьюid
команды.Если сервер посылает информацию о праве собственности, вам может понадобиться добавить
forceuid
иforcegid
варианты.источник
domain
. Примерно так: наsudo mount -t cifs -o username=${USER},password=${PASSWORD},dom=${DOMAIN}, uid=<user>,gid=<group> //server-address/folder /mount/path/on/ubuntu
самом деле домен может идти в опции «username», но помните, что вы должны использовать/
вместо`, like
username = DOMAIN / user.name`.//192.168.1.7/public /colmustang cifs username=<uname>,password=<upassword>,uid=<myUserID> 0 0
username
- это удаленный вход для аутентификации. Этоuid
локальный идентификатор пользователя, на который вы хотите записать все файлы / папки. Таким образом, имя пользователя отделено от uid, имя пользователя - это логин удаленного пользователя, а uid - ваш локальный идентификатор пользователя. Обратите внимание, что это может быть то же самое, если ваш сервер Samba и вы используете LDAP или другую централизованную учетную запись как на клиенте, так и на сервере :-).Я успешно протестировал следующую команду:
источник
man mount.cifs