Использование Crontab -e с нестандартным редактором с ограниченной оболочкой (не экспортировать переменную или запустить редактор)

У меня есть пользователь с очень ограниченными правами.

Хотя мне разрешено изменять свой crontab, редактор по умолчанию – nano , который может стать реальной проблемой, когда вы привыкли к vi и не хотите вставлять производственную среду.

Я не могу экспортировать переменную и не объявлять ее, поэтому export EDITOR='vi' или EDITOR=vi crontab -e просто не работает … и мне даже не разрешено запускать vi (или nano) напрямую, так что я понятия не имею, как я на самом деле справиться с этим.

Есть ли способ обойти эти ограничения?

Чтобы дать представление о моих ограничениях, сообщение для входа:

 You are in a limited shell. Type '?' or 'help' to get the list of allowed commands 

и результат "?" команда

 cd clear crontab exit help history lpath ls lsudo php pwd 

EDIT: Забыли, чтобы посмотреть мою версию ОС

/ proc / version говорит мне, что:
Linux версия 2.6.26-2-amd64 (Debian 2.6.26-29) (dannf@debian.org) (версия gcc 4.1.3 20080704 (предварительная версия) ( Debian 4.1.2-25 )) # 1 SMP Sun Mar 4 21 : 48: 06 UTC 2012

… и cat /etc/debian_version говорит мне 5.0.10 (What?!)

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

  • Что указывает период, когда переменная окружения задана как «VARIABLE_NAME =.»
  • Переменная среды для команды, вызванная через nice
  • Как запустить мою программу C из любой точки системы (Ubuntu 10.10)?
  • если инструкция в .bashrc работает неправильно
  • Переменная IFS игнорируется в системе ()
  • Отменить переменную среды для одной команды
  • Как восстановить clobbered LD_LIBRARY_PATH на Ubuntu Linux 16.04?
  • Эффект, если какая-либо из изменяющихся переменных среды LD_LIBRARY_PATH на шрифтах emacs?
  • 2 Solutions collect form web for “Использование Crontab -e с нестандартным редактором с ограниченной оболочкой (не экспортировать переменную или запустить редактор)”

    Судя по сообщению об использовании, вы используете lshell . Это не оболочка типа Bourne, как bash, ksh, zsh, BusyBox и другие. Это даже не ограниченная оболочка, как rksh или rbash. У него нет переменных, перенаправления или какой-либо другой функции, кроме выполнения фиксированного набора команд с некоторыми аргументами.

    Если вы можете запустить vi, это означает, что есть ошибка в lshell или она была неправильно настроена. Он предназначен для предотвращения запуска произвольных команд.

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

    Кронтаб обычно короткий, поэтому, если вы хотите отредактировать его с помощью другого редактора, откройте терминал, который достаточно большой, скопируйте все это на свой локальный компьютер через буфер обмена графического интерфейса пользователя, отредактируйте и скопируйте в другом направлении. В nano убедитесь, что автоматическая линейная упаковка отключена ( Alt + L для переключения), а также (но это не должно иметь значения для crontab) автоматический отступ ( Alt + I ).

    Если вы можете передавать файлы в систему и из нее, сделайте резервную копию текущего crontab:

     $ crontab -l >crontab.txt 

    Если вы не можете выполнять перенаправления, просто сделайте crontab -l и скопируйте и вставьте crontab (убедитесь, что все идентично).

    Затем, используя текстовый файл crontab в не-заблокированной системе, обновите его в редакторе.

    Перенесите файл и выполните

     $ crontab crontab.txt 

    Это должно быть надлежащим образом проверено на идентичном сервере разработки, включая правильность спецификаций задания, перед реализацией на производственном сервере. Обратите внимание, что загрузка crontab в crontab таким образом заменяет текущий crontab .

    Я не несу ответственности.

    Interesting Posts

    Разница между / usr / bin и / usr / local / bin

    Приложения GTK не получают тему значков, выбранную в KDE

    Что означает статус «активный (выходящий)» для (пользовательского) сервиса?

    Горячая точка и доступ в Интернет вместе – почему бы и нет?

    Procmail не продолжает обработку до завершения рецепта

    Невозможно установить кросс-компилятор gcc

    Невозможно установить расширенные атрибуты на ext4 на Fedora 22 – операция не поддерживается

    Как кэшировать блокирующие устройства (для устройства отображения карт)?

    Система сообщает, что почти нет свободного места, но итоговые значения не складываются

    Создание Linux-дистрибутива на базе Debian

    Изменить размер пантеона

    Как исправить несоответствие версии ядра / модулей Linux?

    Есть ли система репозитория сообщества Arch для Debian?

    «Запрос на распределение PTY не удалось на канале 0 stdin: не является tty», когда SSH'ing на сервер Debian

    Использование xkeybinds на безголовом узле для HUID USB Device I / O

    Linux и Unix - лучшая ОС в мире.