Решено: nfs permission denied

Knoppix

Модераторы: Warderer, Модераторы разделов

Logot
Сообщения: 58
ОС: Linux Mandrake 9.1

Решено: nfs permission denied

Сообщение Logot » 24.04.2010 16:22

Привет.
Бьюсь, который день. Весь инет облазил, кругом, по сути, пишут одно и то же. Не могу примонтировать директорию по nfs.

Итак, что у меня есть:
Сервер:
debian lenny с внешним ip (светится в сеть)
Клиент:
debian lenny - установлен в качестве гостевой системы на virtualbox

Пинг серверной машины на клиентской проходит успешно. Клиентская машина спокойно выходит в инет

Задача: примонтировать експортируемую директорию сервера на клиентской машине

Мои шаги:
На сервере установил nfs-kernel-server nfs-common portmap
На клиенте установил nfs-common portmap

конфиги:
/etc/hosts.deny
здесь все закомментировано

Код: Выделить всё

# /etc/hosts.deny: list of hosts that are _not_ allowed to access the system.
#                  See the manual pages hosts_access(5) and hosts_options(5).
#
# Example:    ALL: some.host.name, .some.domain
#             ALL EXCEPT in.fingerd: other.host.name, .other.domain
#
# If you're going to protect the portmapper use the name "portmap" for the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper, as well as for
# rpc.mountd (the NFS mount daemon). See portmap(8) and rpc.mountd(8)
# for further information.
#
# The PARANOID wildcard matches any host whose name does not match its
# address.

# You may wish to enable this to ensure any programs that don't
# validate looked up hostnames still leave understandable logs. In past
# versions of Debian this has been the default.
# ALL: PARANOID


/etc/hosts.allow

Код: Выделить всё

# /etc/hosts.allow: list of hosts that are allowed to access the system.
#                   See the manual pages hosts_access(5) and hosts_options(5).
#
# Example:    ALL: LOCAL @some_netgroup
#             ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you're going to protect the portmapper use the name "portmap" for the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper, as well as for
# rpc.mountd (the NFS mount daemon). See portmap(8) and rpc.mountd(8)
# for further information.
#
portmap:ALL
lockd:ALL
rquotad:ALL
mountd:ALL
statd:ALL


/etc/exports

Код: Выделить всё

# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#
/home/user/nfs *(ro,sync,no_root_squash,,subtree_check)

* - разрешить всем ip адресам
rw - чтение/запись
sync - синхронный доступ
subtree_check
no_root_squash - запрещен доступ под root'ом

перегружаю nfs демон

Код: Выделить всё

#/etc/init.d/nfs-kernel-server restart


вроде бы сервен настроен и экспортирует директорию /home/user/nfs

Теперь на клиенте пытаюсь примонтировать удаленную директорию
# mount server_ip:/home/user/nfs /home/user/server_dir
на это получаю:
mount.nfs: server_ip:/home/user/nfs failed, reason given by server: Permission denied
В инете встречал, что такая ошибка встречается, если экспортируемые директории не правильно настроены в файле /etc/exports
Вообщем, как правильно настроить???
Да, еще хотел сказать, что клиентская машина хочет получить доступ к расшаренной папке на сервере через интернет, может это есть причина ошибки монтирования?
Спасибо сказали:

Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Решено: nfs permission denied

Сообщение drBatty » 24.04.2010 16:33

вы добавку для гостевой ОС установили? (поставляется вместе с VirtualBox)
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:

watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Решено: nfs permission denied

Сообщение watashiwa_daredeska » 24.04.2010 21:00

drBatty писал(а):
24.04.2010 16:33
вы добавку для гостевой ОС установили?
Чтобы работать обычными сетевыми средствами с хостом по виртуальной сети добавки не нужны.
Спасибо сказали:

Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Решено: nfs permission denied

Сообщение Ленивая Бестолочь » 25.04.2010 10:29

Logot писал(а):
24.04.2010 16:22
/home/user/nfs *(ro,sync,no_root_squash,,subtree_check)

две запятые подрят уберите, чем чёрт не шутит :)

Logot писал(а):
24.04.2010 16:22
no_root_squash - запрещен доступ под root'ом

это как раз немного наоборот. рут подключаемого компьютера остается рутом при подключении.
без этой опции у него права nobody, или того, кого укажите.

portmap подёргайте.

Logot писал(а):
24.04.2010 16:22
Да, еще хотел сказать, что клиентская машина хочет получить доступ к расшаренной папке на сервере через интернет, может это есть причина ошибки монтирования?

почитайте man mount.nfs на предмет опций монтирование, определяющих сетевые месте. там много чего можно потюнинговать.
а провайдер ваш не против таких действий?
поставте на сервере
tcpdump -t any src <ip клиента>
и покажите, чего там происходит при монтировании.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:

Logot
Сообщения: 58
ОС: Linux Mandrake 9.1

Re: Решено: nfs permission denied

Сообщение Logot » 25.04.2010 22:49

Ленивая Бестолочь писал(а):
25.04.2010 10:29
Logot писал(а):
24.04.2010 16:22
/home/user/nfs *(ro,sync,no_root_squash,,subtree_check)

две запятые подрят уберите, чем чёрт не шутит :)

сорри, это я выкладывал сюда и нечаянно добавил две запятые

Logot писал(а):
24.04.2010 16:22
no_root_squash - запрещен доступ под root'ом

это как раз немного наоборот. рут подключаемого компьютера остается рутом при подключении.
без этой опции у него права nobody, или того, кого укажите.

да, согласен, это c root_squash запрещен доступ под root'ом

portmap подёргайте.

я его не трогал, только машину перегружал на всякий случай

Logot писал(а):
24.04.2010 16:22
Да, еще хотел сказать, что клиентская машина хочет получить доступ к расшаренной папке на сервере через интернет, может это есть причина ошибки монтирования?

почитайте man mount.nfs на предмет опций монтирование, определяющих сетевые месте. там много чего можно потюнинговать.
а провайдер ваш не против таких действий?

провайдер утверждает, что ни одного порта не закрывает, оставляя их на совести клиента

поставте на сервере
tcpdump -t any src <ip клиента>
и покажите, чего там происходит при монтировании.

ок, спасибо, поставлю и отпишусь
только уже не сегодня
Спасибо сказали:

Logot
Сообщения: 58
ОС: Linux Mandrake 9.1

Re: Решено: nfs permission denied

Сообщение Logot » 26.04.2010 15:38

проблему решил! как и думал - были неправильные настройки в файле /etc/exports
сейчас опции экспортируемой директории выглядит так:

Код: Выделить всё

/home/user/dir_to_shared/ *(ro,insecure,root_squash,subtree_check)

ro - права read only
insecure - вот здесь и была собака зарыта! Запросы будут проходить на порту выше, чем 1024. Порты, ниже 1024 резервируются системой (в винде точно также)
root_squash - доступ к шаре под правом пользователя nobody
subtree_check я так толком и не понял, нафиг эта опция, может кто-то объяснит

монтирую в /etc/fstab так:

Код: Выделить всё

server_ip:/home/user/dir_to_shared /mnt nfs hard,intr,rsize=1024,wsize=1024,proto=tcp 0 0
Спасибо сказали: