2013-05-23 3 views
1

Я сопоставил с долей Windows, используя cifs/samba на CentOS. С помощью этой команды:chown on mapped Share CIFS не работает

sudo mount -t cifs -o username=Username //path/to/share /var/share 

Мой PHP приложение теперь должен иметь возможность создавать каталоги и загружать файлы в/вар/акция (которая теперь отображается CIFS доля). Все файлы там принадлежат root: root. Когда я пытаюсь сделать chown, чтобы изменить файлы на apache: apache, нет ошибок, брошенных Linux, но когда я делаю ls -l, он все еще показывает владельцам root: root.

Есть ли способ обойти это, чтобы мое приложение могло писать на общий ресурс?

+0

учетная запись, которую вы пытаетесь использовать, должна существовать на компьютере с Windows. «root» - это учетная запись unix и почти гарантированно имеет абсолютно ** NO **, означающий, что бы это ни было. –

+0

Я предполагаю, что вы корень, когда вы бегали. –

+1

Вы также можете установить владельца по умолчанию в настройках монтирования. См. Http://linux.die.net/man/8/mount.cifs. Я думаю, что вам нужен вариант 'uid'. Таким образом, вы можете сделать root.apache или что угодно в мире Linux. – lurker

ответ

3

Имя пользователя в вашей команде mount - это имя пользователя Windows, при этом аутентификация управляется Samba. По умолчанию экспортируемый том имеет все права root. Что вам нужно сделать, так это указать имена пользователей и групп * NIX в вашей команде mount. Вот что мне делать, чтобы смонтировать мой Mac на моей машине Ubuntu, используя реализацию CIFS от Apple:

sudo mount -t cifs //192.168.1.3/Shared /media/Shared -o username=mike,password=XXXX,uid=1000,gid=1000,nounix,sec=ntlmssp 

Вы можете использовать текстовые имена вместо номеров для UID и GID. «nounix, sec = ntlmssp» требуется для совместимости с последними версиями сервера Mac OS X CIFS.

+0

вы, сэр, это мужчина. Спасибо. – Freddie

+0

Рад быть полезным. –