Смоленск 1.5 Работа с NFS3 сервером на базе QNX

Tacio

New member
Сообщения
24
#1
Имеется операционная система на базе QNX 6.5.0 с поднятым на ней NFS3 сервером с расшаренной на чтение корневой папкой. В качестве клиента выступает Astra Linux SE 1.5. Проблема заключается в том, то не удаётся получить доступ к папкам /dev и /proc NFS сервера, в то время как доступ к другим папкам - /etc, /tmp и т.д. - есть. Однако, если клиентом выступает, например, ubuntu, то доступ есть ко всем папкам. Или если Астра подключается к NFS серверу под управления ubuntu, то с доступом ко всем папкам тоже проблем нет. Получается, что проблема возникает только при использовании конкретно Astra Linux в качестве клиента и QNX в качестве сервера, все остальные конфигурации работают без проблем.

Используемые опции монтирования: vers=3,ro. Также пробовал (но не помогло): noexec,nodev,nolock,noacl. Может кто сталкивался с такой проблемой?
 

Tacio

New member
Сообщения
24
#2
Вывод dmesg:
Код:
[ 1267.998772] INFO: task ls:3677 blocked for more than 120 seconds.
[ 1267.998779]       Tainted: G           O    4.2.0-23-generic #28astra39
[ 1267.998781] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 1267.998784] ls              D ffff880079561240     0  3677   3646 0x00000004
[ 1267.998790]  ffff88007af8bb18 0000000000000086 ffff88007c883f00 ffff88007b30bf00
[ 1267.998794]  ffff88007b30bf00 ffff88007b30c868 ffff880079578140 ffff880034cd5e00
[ 1267.998798]  0000000000000005 ffff880079561240 ffff88007af8bb38 ffffffff81789267
[ 1267.998802] Call Trace:
[ 1267.998811]  [<ffffffff81789267>] schedule+0x37/0x80
[ 1267.998834]  [<ffffffffc05570b9>] nfs_block_sillyrename+0x59/0x90 [nfs]
[ 1267.998843]  [<ffffffffc01ce84e>] ? pdpml_permission+0x4e/0xd0 [parsec]
[ 1267.998849]  [<ffffffff810b4160>] ? finish_wait+0x80/0x80
[ 1267.998862]  [<ffffffffc0547d14>] nfs_lookup+0x104/0x2b0 [nfs]
[ 1267.998877]  [<ffffffffc055fd40>] ? nfs4_dentry_operations+0x80/0x80 [nfs]
[ 1267.998894]  [<ffffffff811f087d>] lookup_real+0x1d/0x60
[ 1267.998898]  [<ffffffff811f0da8>] __lookup_hash+0x38/0x50
[ 1267.998901]  [<ffffffff811f20f0>] lookup_one_len+0xc0/0x110
[ 1267.998910]  [<ffffffffc01c9009>] parsec_proxy_filldir+0x89/0x160 [parsec]
[ 1267.998922]  [<ffffffffc05470cf>] nfs_do_filldir+0xbf/0x150 [nfs]
[ 1267.998935]  [<ffffffffc0548af3>] nfs_readdir+0x273/0x590 [nfs]
[ 1267.998942]  [<ffffffffc059e800>] ? nfs3_xdr_dec_getattr3res+0x60/0x60 [nfsv3]
[ 1267.998950]  [<ffffffffc01c8998>] parsec_iterate_dir+0x38/0x50 [parsec]
[ 1267.998957]  [<ffffffffc01c8f80>] ? parsec_inode_permission+0x160/0x160 [parsec]
[ 1267.998962]  [<ffffffff81313ccf>] security_iterate_dir+0x3f/0x60
[ 1267.998966]  [<ffffffff811fa9fa>] iterate_dir+0xaa/0x130
[ 1267.998970]  [<ffffffff811fad94>] SyS_getdents+0xb4/0x180
[ 1267.998973]  [<ffffffff811fa840>] ? filldir64+0x110/0x110
[ 1267.998977]  [<ffffffff8178caf6>] entry_SYSCALL_64_fastpath+0x16/0x79
 

Tacio

New member
Сообщения
24
#3
Вывод dmesg после выполнения
Код:
rpcdebug -m rpc -s all
rpcdebug -m nfs -s all
и попытки выполнить
Код:
ls -l /mnt/dev
где /mnt - директория с примонтированным корнем QNX сервера.
 

Fd1501h

Moderator
Сообщения
666
#4
Имеется операционная система на базе QNX 6.5.0 с поднятым на ней NFS3 сервером с расшаренной на чтение корневой папкой. В качестве клиента выступает Astra Linux SE 1.5. Проблема заключается в том, то не удаётся получить доступ к папкам /dev и /proc NFS сервера, в то время как доступ к другим папкам - /etc, /tmp и т.д. - есть. Однако, если клиентом выступает, например, ubuntu, то доступ есть ко всем папкам. Или если Астра подключается к NFS серверу под управления ubuntu, то с доступом ко всем папкам тоже проблем нет. Получается, что проблема возникает только при использовании конкретно Astra Linux в качестве клиента и QNX в качестве сервера, все остальные конфигурации работают без проблем.

Используемые опции монтирования: vers=3,ro. Также пробовал (но не помогло): noexec,nodev,nolock,noacl. Может кто сталкивался с такой проблемой?
Правильно что вас туда система не пускает!!!
НИКОГДА не расшаривайте /
С точки зрения безопасности это полный П.....
 

Tacio

New member
Сообщения
24
#5
Я с вами абсолютно согласен, сам я тоже против такого решения. Но другого выхода нет. Проблема в том, что консоль при выполнении
ls -l /mnt/dev
просто зависает до тех пор, пока не выполнишь
sudo umount -r /mnt
вместо того, чтобы просто выдать, например, ошибку, что директория недоступна без зависания.
 

Fd1501h

Moderator
Сообщения
666
#6
Я с вами абсолютно согласен, сам я тоже против такого решения. Но другого выхода нет. Проблема в том, что консоль при выполнении
ls -l /mnt/dev
просто зависает до тех пор, пока не выполнишь
sudo umount -r /mnt
вместо того, чтобы просто выдать, например, ошибку, что директория недоступна без зависания.
Конечно она будет зависать, это особенность NFS. Экспортируйте только нужные вам каталоги, а не весь корень.
 

Tacio

New member
Сообщения
24
#7
Тут я с вами не согласен - не должна она зависать, тем более под ubuntu всё работает без проблем.
К сожалению требуется экспортировать весь корень.
 

Fd1501h

Moderator
Сообщения
666
#8
Тут я с вами не согласен - не должна она зависать, тем более под ubuntu всё работает без проблем.
Там явная проблема с правами, смотрите под каким пользователем работает клиент NFS в ubutnu и под каким в Астра.
Зависает, он так как не может получить список файлов, и ждёт ответа от сервера. NFS всегда "подвисает" когда NFS сервер падает или нет доступа.

Тем не менее, вы занимаетесь не тем, если вы конечно не хотите убить свой QNX.
 

Tacio

New member
Сообщения
24
#9
Насчёт пользователей проверю завтра. Убить наврятли выйдет, всё таки экспортируется только на чтение. Точно могу сказать, что сервер в этот момент не падает, так как клиент под убунтой в то же время нормально работает с сервером.
 

Fd1501h

Moderator
Сообщения
666
#10
Насчёт пользователей проверю завтра. Убить наврятли выйдет, всё таки экспортируется только на чтение. Точно могу сказать, что сервер в этот момент не падает, так как клиент под убунтой в то же время нормально работает с сервером.
Через чтение /proc можно получить полный список запущенных процессов, сетевые подключения. Посмотреть список пользователей, хеши паролей взять для перебора. Настройки служб.... Да через RO можно получить ОЧЕНЬ много-чего, а потом найти способы эксплуатации.

Я не говорю что у вас NFS подает, я описывал поведение NFS при недоступности файлов.
 

Tacio

New member
Сообщения
24
#11
Я с вами согласен, что выставлять корень в NFS пусть даже в RO, - это авантюра, но есть вышестоящее руководство, которое требует :)
Насчёт пользователей. С NFS сервером, что под астрой, что под убунтой, работает первый созданный в системе пользователь. Под астрой
sudo ls -l /mnt/dev
так же приводит к зависанию.
 

kostia

New member
Сообщения
185
#12
а UID и GID первых созданных пользователей в убунте и астре совпадают?
 

Tacio

New member
Сообщения
24
#13
Да, на обеих операционках UID и GID у этих пользователей равны 1000.
 

Tacio

New member
Сообщения
24
#14
Попробовал Astra Смоленск 1.3 - с ней такой проблемы не возникло и доступ был ко всем папкам.