Мне предоставлен маршрутизатор ZTE ZXHN H267N
который позволяет экспортировать подключенное USB-устройство хранения данных в качестве ресурса Samba.
Как вы можете видеть на скриншоте ниже, вариантов конфигурации немного, и это довольно просто.
В Windows я могу открыть общий ресурс, просто открыв \\192.168.1.1
: я могу просматривать его, читать файлы, записывать / копировать в него файлы ... так что все, кажется, работает как положено.
Но из Linux я не могу смонтировать его в режиме чтения-записи. Я действительно могу смонтировать его, но я не могу ни читать, ни писать. Я пробовал любую логическую комбинацию вариантов монтирования безрезультатно.
root@host:/tmp# mount --verbose -t cifs -o rw,guest,file_mode=0777,dir_mode=0777 //192.168.1.1/samba ./asd
mount.cifs kernel mount options: ip=192.168.1.1,unc=\\192.168.1.1\samba,guest,file_mode=0777,dir_mode=0777,user=,prefixpath=,pass=********
root@host:/tmp# cd asd
root@host:/tmp/asd# LANG=C touch a
touch: cannot touch `a': Permission denied
root@host:/tmp/asd#
В приведенном выше примере общий ресурс смонтирован, а a
не существует. Кроме того, если я запускаю lsattr
для файла, который уже существует, я получаю следующее:
root@host:/tmp/asd# LANG=C lsattr existingfile
lsattr: Permission denied While reading flags on existingfile
Кажется, у меня нет прав на чтение и запись. Я пробовал другие варианты, такие как:
- Укажите
uid
иgid
, от1
до10000
. - Указание
sec
для любой доступной опции. - Указание
user
для локального пользователя. - Установка пользователя и пароля и попытка смонтировать его не как
guest
, но вместо этого указатьusername
иpassword
. - Некоторые другие варианты и комбинации вышеперечисленного.
Я не могу понять, какие другие параметры должны быть указаны для монтирования этого ресурса как rw
. В документации маршрутизатора ничего не сказано о том, какие параметры должны быть указаны для правильного подключения.
Кому-нибудь удалось смонтировать общий ресурс с этого или аналогичного роутера как R/W?
Любые советы также приветствуются.
--- РЕДАКТИРОВАТЬ 1 ---
По @gmelis
, я установил слушатель tcpdump
на машине перед подключением, чтобы посмотреть, что происходит. Фильтр, который я пробовал, был: -i eth0 -n host 192.168.1.1
, и результат:
17:19:54.175169 IP 192.168.1.200.40703 > 192.168.1.1.445: Flags [S], seq 1716673820, win 29200, options [mss 1460,sackOK,TS val 45819160 ecr 0,nop,wscale 6], length 0
17:19:54.182221 IP 192.168.1.1.445 > 192.168.1.200.40703: Flags [R.], seq 0, ack 1716673821, win 0, length 0
17:19:54.186283 IP 192.168.1.200.42696 > 192.168.1.1.139: Flags [S], seq 170856558, win 29200, options [mss 1460,sackOK,TS val 45819161 ecr 0,nop,wscale 6], length 0
17:19:54.194053 IP 192.168.1.1.139 > 192.168.1.200.42696: Flags [S.], seq 2811302286, ack 170856559, win 14480, options [mss 1460,sackOK,TS val 50456624 ecr 45819161,nop,wscale 3], length 0
17:19:54.194931 IP 192.168.1.200.42696 > 192.168.1.1.139: Flags [.], ack 1, win 457, options [nop,nop,TS val 45819162 ecr 50456624], length 0
17:19:54.196654 IP 192.168.1.200.42696 > 192.168.1.1.139: Flags [P.], seq 1:73, ack 1, win 457, options [nop,nop,TS val 45819162 ecr 50456624], length 72 NBT Session Packet: Session Request
17:19:54.202629 IP 192.168.1.1.139 > 192.168.1.200.42696: Flags [.], ack 73, win 1810, options [nop,nop,TS val 50456625 ecr 45819162], length 0
17:19:54.202992 IP 192.168.1.200.42696 > 192.168.1.1.139: Flags [P.], seq 73:155, ack 1, win 457, options [nop,nop,TS val 45819163 ecr 50456625], length 82 NBT Session Packet: Session Message
17:19:54.209332 IP 192.168.1.1.139 > 192.168.1.200.42696: Flags [.], ack 155, win 1810, options [nop,nop,TS val 50456626 ecr 45819163], length 0
17:19:54.209336 IP 192.168.1.1.139 > 192.168.1.200.42696: Flags [P.], seq 1:5, ack 155, win 1810, options [nop,nop,TS val 50456626 ecr 45819163], length 4 NBT Session Packet: Session Granted
17:19:54.212933 IP 192.168.1.200.42696 > 192.168.1.1.139: Flags [.], ack 5, win 457, options [nop,nop,TS val 45819164 ecr 50456626], length 0
17:19:54.217108 IP 192.168.1.1.139 > 192.168.1.200.42696: Flags [P.], seq 5:86, ack 155, win 1810, options [nop,nop,TS val 50456627 ecr 45819164], length 81 NBT Session Packet: Session Message
17:19:54.219993 IP 192.168.1.200.42696 > 192.168.1.1.139: Flags [.], ack 86, win 457, options [nop,nop,TS val 45819165 ecr 50456627], length 0
17:19:54.220637 IP 192.168.1.200.42696 > 192.168.1.1.139: Flags [P.], seq 155:409, ack 86, win 457, options [nop,nop,TS val 45819165 ecr 50456627], length 254 NBT Session Packet: Session Message
17:19:54.231137 IP 192.168.1.1.139 > 192.168.1.200.42696: Flags [P.], seq 86:162, ack 409, win 1944, options [nop,nop,TS val 50456628 ecr 45819165], length 76 NBT Session Packet: Session Message
17:19:54.232949 IP 192.168.1.200.42696 > 192.168.1.1.139: Flags [P.], seq 409:527, ack 162, win 457, options [nop,nop,TS val 45819166 ecr 50456628], length 118 NBT Session Packet: Session Message
17:19:54.259669 IP 192.168.1.1.139 > 192.168.1.200.42696: Flags [P.], seq 162:213, ack 527, win 1944, options [nop,nop,TS val 50456631 ecr 45819166], length 51 NBT Session Packet: Session Message
17:19:54.260757 IP 192.168.1.200.42696 > 192.168.1.1.139: Flags [P.], seq 527:599, ack 213, win 457, options [nop,nop,TS val 45819169 ecr 50456631], length 72 NBT Session Packet: Session Message
17:19:54.267619 IP 192.168.1.1.139 > 192.168.1.200.42696: Flags [P.], seq 213:281, ack 599, win 1944, options [nop,nop,TS val 50456632 ecr 45819169], length 68 NBT Session Packet: Session Message
17:19:54.268189 IP 192.168.1.200.42696 > 192.168.1.1.139: Flags [P.], seq 599:671, ack 281, win 457, options [nop,nop,TS val 45819169 ecr 50456632], length 72 NBT Session Packet: Session Message
17:19:54.273042 IP 192.168.1.1.139 > 192.168.1.200.42696: Flags [P.], seq 281:363, ack 671, win 1944, options [nop,nop,TS val 50456632 ecr 45819169], length 82 NBT Session Packet: Session Message
17:19:54.273609 IP 192.168.1.200.42696 > 192.168.1.1.139: Flags [P.], seq 671:763, ack 363, win 457, options [nop,nop,TS val 45819170 ecr 50456632], length 92 NBT Session Packet: Session Message
17:19:54.277267 IP 192.168.1.1.139 > 192.168.1.200.42696: Flags [P.], seq 363:402, ack 763, win 1944, options [nop,nop,TS val 50456633 ecr 45819170], length 39 NBT Session Packet: Session Message
17:19:54.278342 IP 192.168.1.200.42696 > 192.168.1.1.139: Flags [P.], seq 763:841, ack 402, win 457, options [nop,nop,TS val 45819170 ecr 50456633], length 78 NBT Session Packet: Session Message
17:19:54.282561 IP 192.168.1.1.139 > 192.168.1.200.42696: Flags [P.], seq 402:565, ack 841, win 1944, options [nop,nop,TS val 50456633 ecr 45819170], length 163 NBT Session Packet: Session Message
17:19:54.283691 IP 192.168.1.200.42696 > 192.168.1.1.139: Flags [P.], seq 841:919, ack 565, win 473, options [nop,nop,TS val 45819171 ecr 50456633], length 78 NBT Session Packet: Session Message
17:19:54.287372 IP 192.168.1.1.139 > 192.168.1.200.42696: Flags [P.], seq 565:728, ack 919, win 1944, options [nop,nop,TS val 50456634 ecr 45819171], length 163 NBT Session Packet: Session Message
17:19:54.287949 IP 192.168.1.200.42696 > 192.168.1.1.139: Flags [P.], seq 919:997, ack 728, win 490, options [nop,nop,TS val 45819171 ecr 50456634], length 78 NBT Session Packet: Session Message
17:19:54.292238 IP 192.168.1.1.139 > 192.168.1.200.42696: Flags [P.], seq 728:830, ack 997, win 1944, options [nop,nop,TS val 50456634 ecr 45819171], length 102 NBT Session Packet: Session Message
17:19:54.329627 IP 192.168.1.200.42696 > 192.168.1.1.139: Flags [.], ack 830, win 490, options [nop,nop,TS val 45819176 ecr 50456634], length 0
Исходя из этого вывода, я делаю вывод, что сначала делается попытка установить соединение через порт 445
который сбрасывается удаленным хостом, затем следующий пробный порт - 139
что, похоже, успешно.
Мне также удалось запустить команду ngrep
с эквивалентным фильтром, и в результате:
#
G 192.168.1.1 -> 224.0.0.1 17:100
..................
##
T 192.168.1.1:445 -> 192.168.1.200:40822 [AR]
......
####
T 192.168.1.200:42815 -> 192.168.1.1:139 [AP]
...D CKFDENECFDEFFCFGEFFCCACACACACACA. FCFAEJCOEEEFFGEFEMFDCOEFFDCACAAA.
##
T 192.168.1.200:42815 -> 192.168.1.1:139 [AP]
...N.SMBr......................~.....+..LM1.2X002..LANMAN2.1..NT LM 0.12..POSIX 2.
##
T 192.168.1.1:139 -> 192.168.1.200:42815 [AP]
....
##
T 192.168.1.1:139 -> 192.168.1.200:42815 [AP]
...M.SMBr......................~.....................Z...................N?...zTR
##
T 192.168.1.200:42815 -> 192.168.1.1:139 [AP]
.....SMBs......................~.........T@..........F............D...+.Pm..0.a\...........'E....Tb.....F........W.O.R.K.G.R.O.U.P........W.O.R.K.G.R.O.U.P...L.i.n.
u.x. .v.e.r.s.i.o.n. .4...1...1.9.+...C.I.F.S. .V.F.S. .C.l.i.e.n.t. .f.o.r. .L.i.n.u.x...
##
T 192.168.1.1:139 -> 192.168.1.200:42815 [AP]
...H.SMBs......................~d............Unix.Samba 1.9.16p10.WORKGROUP.
#
T 192.168.1.200:42815 -> 192.168.1.1:139 [AP]
...r.SMBu......................~d............G......?....{v....H...a....\.\.1.9.2...1.6.8...1...1.\.s.a.m.b.a...?????.
##
T 192.168.1.1:139 -> 192.168.1.200:42815 [AP]
.../.SMBu...................'..~d............A:....
#
T 192.168.1.200:42815 -> 192.168.1.1:139 [AP]
...D.SMB2...................'..~d........................B..............
##
T 192.168.1.1:139 -> 192.168.1.200:42815 [AP]
...@.SMB2.....A.............'..~d..................8................
#
T 192.168.1.200:42815 -> 192.168.1.1:139 [AP]
...D.SMB2...................'..~d........................B..............
#
T 192.168.1.1:139 -> 192.168.1.200:42815 [AP]
...N.SMB2.....A.............'..~d..................8.........@..........S.a.m.b.a.
#
T 192.168.1.200:42815 -> 192.168.1.1:139 [AP]
...X.SMBu......................~d............-..\.\.1.9.2...1.6.8...1...1.\.I.P.C.$...?????.
#
T 192.168.1.1:139 -> 192.168.1.200:42815 [AP]
...#.SMBu......................~d......
#
[...]
Попробовал дополнительные вещи:
- Я попытался установить точку как
uid=nobody
иgid=nogroup
, с теми же результатами. - Я запускаю
chmod -R 777
в точке монтирования, тоже ничего не изменилось. - Интересная вещь, которую я обнаружил: если я запускаю
touch
я получаю ошибку об отказе в разрешении, но если я пытаюсь запуститьmkdir
я всегда получаю сообщениеmkdir: cannot create directory
blah ': File существующие`, независимо от того, какое имя каталога я указываю и конечно, его не существует).
--- РЕДАКТИРОВАТЬ 2 ---
Я также попытался запустить smbclient -L //192.168.1.1
(без пользователя), и он запрашивает у меня пароль, которого у меня нет. Если я введу какое-либо значение в качестве пароля, будут показаны вышеуказанные ошибки (NT_STATUS_ACCESS_DENIED
).
Но я также попытался активировать защиту на панели маршрутизатора (установив для Anonymous
значение no
и установив имя пользователя и пароль), и вот что я обнаружил:
1) Если я просто запущу : smbclient -L //192.168.1.1
, меня попросят ввести пароль. Если я просто нажму Enter , я получу этот вывод:
# smbclient -L //192.168.1.1
Enter root's password:
Server does not support EXTENDED_SECURITY but 'client use spnego = yes and 'client ntlmv2 auth = yes'
Anonymous login successful
OS=[楮x慓扭⸱⸹㘱ㅰ0佗䭒則問P] Server=[]
Sharename Type Comment
--------- ---- -------
samba Disk samba share dir
IPC$ IPC IPC Service (Samba Server)
Server does not support EXTENDED_SECURITY but 'client use spnego = yes and 'client ntlmv2 auth = yes'
Anonymous login successful
OS=[楮x慓扭⸱⸹㘱ㅰ0佗䭒則問P] Server=[]
Server Comment
--------- -------
Workgroup Master
--------- -------
WORKGROUP SMBSHARE
2) Если я введу «правильные» учетные данные, я получу такой вывод:
# smbclient -L //192.168.1.1 -U smbshare
Enter smbshare's password:
Server does not support EXTENDED_SECURITY but 'client use spnego = yes and 'client ntlmv2 auth = yes'
session setup failed: SUCCESS - 0
Я начинаю думать, что это какая-то ошибка в маршрутизаторе, но странная вещь заключается в том, что монтирование общего ресурса samba работает на компьютерах с Windows без каких-либо проблем, где я также могу читать и писать в общий ресурс.