Как решить TFTP: Код ошибки 2: Нарушение прав доступа [dубликат]

Я применил @mpapis к простому «переключению sink0 или sink1» при запуске:

#!/bin/bash
SINK_INDEX1=0
SINK_INDEX2=1
ACTIVE_SINK=$(pacmd list-sinks | grep '* index:' | grep -o '[0-9]*')
if [ "$ACTIVE_SINK" = $SINK_INDEX1 ] ; then
    pacmd set-default-sink $SINK_INDEX2
    pacmd list-sink-inputs | awk '/index:/{print $2}' | xargs -r -I{} pacmd move-sink-input {} $SINK_INDEX2
else 
    pacmd set-default-sink $SINK_INDEX1
    pacmd list-sink-inputs | awk '/index:/{print $2}' | xargs -r -I{} pacmd move-sink-input {} $SINK_INDEX1
fi
3
задан 10 August 2017 в 14:12

8 ответов

Как упоминается leondgarse, вы не можете загружать новые файлы напрямую с помощью своих настроек. Но вы можете добавить «-c» в server_args, например:

service tftp { protocol = udp port = 69 socket_type = dgram wait = yes user = nobody server = /usr/sbin/in.tftpd server_args = -c -s /tftpboot disable = no }

Для получения подробной информации вы можете увидеть man-страницу «in.tftpd»:

--create, -c Allow new files to be created. By default, tftpd will only allow upload of files that already exist. Files are created with default permissions allow‐ ing anyone to read or write them, unless the --permissive or --umask options are specified.
1
ответ дан 18 July 2018 в 08:23

Это может быть потому, что 14.04 имеет параметр сервера tftp в /etc/inetd.conf:

#BOOT: TFTP service is provided primarily for booting. Most sites # run this only on machines acting as "boot servers." tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp

, вы можете прокомментировать эту строку и повторите попытку.

Я получил это отсюда: http://www.beer.org/blog/tftpd-and-xinetd-on-ubuntu.html

2
ответ дан 18 July 2018 в 08:23

Не уверен, что это что-то с дизайном TFTP, но при выполнении этого он не позволяет вам создавать файл.

Решение:

Создайте файл перед рукой и дают 777 прав. Запустите передачу снова, и он должен работать.

0
ответ дан 18 July 2018 в 08:23

Пожалуйста, проверьте бит режима файла.

В моем случае корневой каталог tftp является /opt/tftpboot/

Используя команду ls -l, я мог видеть, что режим файла был 600 , поэтому, когда я пытаюсь получить доступ к tftp, чтобы получить этот файл с анонимным, он сообщает о нарушении доступа.

Это может быть причиной этой ошибки. Но для этого может быть и другая причина.

0
ответ дан 18 July 2018 в 08:23

Как упоминается leondgarse, вы не можете загружать новые файлы напрямую с помощью своих настроек. Но вы можете добавить «-c» в server_args, например:

service tftp { protocol = udp port = 69 socket_type = dgram wait = yes user = nobody server = /usr/sbin/in.tftpd server_args = -c -s /tftpboot disable = no }

Для получения подробной информации вы можете увидеть man-страницу «in.tftpd»:

--create, -c Allow new files to be created. By default, tftpd will only allow upload of files that already exist. Files are created with default permissions allow‐ ing anyone to read or write them, unless the --permissive or --umask options are specified.
1
ответ дан 24 July 2018 в 19:05
  • 1
    Используя xinetd, я получаю неизвестный параметр -? & Quot; сообщение в syslog. Это решение только для tftp-hba? – Noel 17 March 2018 в 17:09
  • 2
    @Noel, да, не вся реализация tftpd поддерживает '-c' – alfred 22 March 2018 в 19:01

Это может быть потому, что 14.04 имеет параметр сервера tftp в /etc/inetd.conf:

#BOOT: TFTP service is provided primarily for booting. Most sites # run this only on machines acting as "boot servers." tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp

, вы можете прокомментировать эту строку и повторите попытку.

Я получил это отсюда: http://www.beer.org/blog/tftpd-and-xinetd-on-ubuntu.html

2
ответ дан 24 July 2018 в 19:05

Не уверен, что это что-то с дизайном TFTP, но при выполнении этого он не позволяет вам создавать файл.

Решение:

Создайте файл перед рукой и дают 777 прав. Запустите передачу снова, и он должен работать.

0
ответ дан 24 July 2018 в 19:05

Пожалуйста, проверьте бит режима файла.

В моем случае корневой каталог tftp является /opt/tftpboot/

Используя команду ls -l, я мог видеть, что режим файла был 600 , поэтому, когда я пытаюсь получить доступ к tftp, чтобы получить этот файл с анонимным, он сообщает о нарушении доступа.

Это может быть причиной этой ошибки. Но для этого может быть и другая причина.

0
ответ дан 24 July 2018 в 19:05
  • 1
    Ваш ответ помог мне решить эту проблему. Но я решил это, изменив /etc/inetd.conf – BЈовић 21 July 2016 в 11:55
  • 2
    Использовать & quot; -c & quot; аргумент для поддержки создания нового файла, если вы используете tftpd-hpa – alfred 19 December 2017 в 17:55

Другие вопросы по тегам:

Похожие вопросы: