права root при работе через WinSCP

Что хотим

Поскольку хорошим тоном считается отключать доступ под root’ом в любой UNIX системе, то любители поработать с файлами через WinSCP могут испытать разочарование из-за отсутствия возможности проводить какие-либо операции с директориями и файлами, к которым у них нет доступа. Однако решение есть.

Даем права root при работе через WinSCP

Для Ubuntu

Для начала нужно найти файл sftp-server. Нам поможет утилита mlocate. Установим утилиту, если ее нет, обновим базу данных поиска и найдем путь установки sftp-server:

apt-get install mlocate
updatedb
locate sftp-server

В ответ терминал выдаст примерно что-то следующее:

/snap/core/11187/usr/lib/sftp-server
/snap/core/11187/usr/lib/openssh/sftp-server
/snap/core/11187/usr/share/doc/openssh-sftp-server
/snap/core/11316/usr/lib/sftp-server
/snap/core/11316/usr/lib/openssh/sftp-server
/snap/core/11316/usr/share/doc/openssh-sftp-server
/usr/lib/sftp-server
/usr/lib/openssh/sftp-server
/usr/share/doc/openssh-sftp-server
/usr/share/man/man8/sftp-server.8.gz
/var/lib/dpkg/info/openssh-sftp-server.list
/var/lib/dpkg/info/openssh-sftp-server.md5sums

Запоминаем путь /usr/lib/openssh/sftp-server (вместо него может быть другой, зависит от дистрибутива), и переходим к редактированию конфига /etc/sudoers:

sudo nano /etc/sudoers

В самом конце файла, с новой строки пишем:

ВАШЛОГИН ALL=NOPASSWD:/usr/lib/sftp-server

Где ВАШЛОГИН – это логин пользователя, который должен работать с рут правами, а /usr/lib/sftp-server – это путь, который мы узнали выше.

Получится что то типа:

root ALL=NOPASSWD:/usr/lib/sftp-server

Если нужно добавить больше, чем одного пользователя, то просто с новой строки повторяем написаное выше.

Теперь осталось дело за малым – отконфигурировать WinSCP. Открываем свойства соеденения, в пункте “Протокол передачи” обязательно выставляем SFTP.

winscproot1

Далее нажимаем кнопку “Еще”, и там уже, в панели слева, выбираем пункт “Среда – SFTP”. В самой верхней строчке под названием “Сервер SFTP” пишем следующее:

sudo /usr/lib/sftp-server
winscproot2

Сохраняем и пользуемся WinSCP с полным рут доступом ко всем файлам в системе.

Для CentOS

Для CentOS последовательность та же, но команды другие. Дополнительно придется поставить пакет mlocate:

yum install mlocate
updatedb
locate sftp-server

Путь будет немного отличаться, получим что-то типа:
# locate sftp-server
/usr/libexec/openssh/sftp-server
/usr/share/man/man8/sftp-server.8.gz

Открываем sudoers:

sudo nano /etc/sudoers

Добавляем в конец строку:

ВАШЛОГИН ALL=NOPASSWD:/usr/libexec/openssh/sftp-server

Также нужно убедиться что строка Default requiretty закомментирована

После этого редактируем свойства подключения:

Ссылки

https://sysadmin.ru/articles/poluchenie-root-prav-pri-rabote-v-winscp

https://stik.name/blog/tutorials/140-vypolnenie-sudo-s-pri-avtorizacii-winscp-v-debian78-i-centos-7/

Оставьте ответ

Ваш адрес email не будет опубликован.

81 ÷ 9 =