Использование 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, но я все еще немного удивлен.

  • Введение env --null
  • В чем разница между '.' и «источник» в оболочках?
  • Перепутал файл bash.bashrc, команды больше не работают
  • Косвенно развернуть переменные в оболочке
  • Почему $ SHELL не изменяется при запуске новой оболочки?
  • проверьте «ошибки» или «ORA-»
  • Значение переменной не распознается после использования gnu parallel?
  • Как вы делаете переменную DISPLAY неопределенной?
  • 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

    Различные взгляды на gnome classic в Debian 7 и Debian 8

    Использование соединения с двумя файлами выходит из строя при больших размерах файлов

    Как установить переменную среды?

    Когда происходят изменения в gsettings?

    Iptables и сканирование портов и последний модуль

    Расширенный логический том в LVM по-прежнему показывает старый размер

    Собирает ли busybox chmod 03755 любые записи ввода / вывода на диск, если права на каталоги уже установлены правильно?

    Как я могу переключить поведение прокрутки мыши, пока экран уже запущен?

    Восстановление файлов с поврежденного DVD

    Метод для быстрого поиска DNS-поиска во время wget

    Чтобы удалить \ n, но не \ n \ n

    Сообщение rsync «пропускать нерегулярный файл», когда не копируются ссылки

    Запуск удаленного демона оболочки как пользователя без root с завершением табуляции

    Почему Linux очищает кеш памяти, когда он почти заполнен?

    Неверная роль и тип при входе в систему

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