Cron по умолчанию отправляет почту пользователю с выходом команд, которые он запускает. Но, как говорится, MAT (Mail Transfer Agent) не установлен, поэтому cron не может отправлять почту и отбрасывает вывод команды. Вы можете перенаправить вывод самостоятельно, в файл или в void (/ dev / null), изменив линию cron на:
47 9,22 * * * cd Travel/lastsecond && scrapy crawl tours > outfile 2>&1
или
47 9,22 * * * cd Travel/lastsecond && scrapy crawl tours > /dev/null 2>&1
Второе возможно, установить MTA (sendmail, postfix или аналогичный) - и настроить его для обработки локальной почты.
Или вы можете убедиться, что ваш скрипт не генерирует никакого вывода.
Лично я не считаю его более безопасным, и большинство преимуществ (sudo) находятся в многопользовательской системе.
Преимущества (в определенном порядке):
sudo имеет превосходную регистрацию. sudo регистрирует каждую команду. sudo позволяет контролировать более мелкие зерна. Можно настроить sudo, чтобы предоставить root доступ к некоторым, но не ко всем командам. sudo использует пароль для входа. Это защищает от необходимости вводить пароль root (как и в случае su) и относится к вышеуказанной точке, касающейся более тонкого управления / доступа к корню. В Ubuntu по умолчанию учетная запись root заблокирована. Это сдерживает взломщики при входе в систему (удаленный через ssh), они должны угадать как имя пользователя, так и пароль. Если корневая учетная запись не заблокирована, как в случае с su, тогда им нужно только взломать пароль root. sudo -i, вероятно, лучший способ изолировать переменные среды root от вашего пользователя. Время от времени это происходит, но умеренно эзотерическое. См. Https://help.ubuntu.com/community/RootSudo#Special_notes_on_sudo_and_shells. Некоторые люди считают, что нужно вводить sudo перед каждой командой, которую они хотят запускать с правами root или имеющей время ожидания sudo, позволяет им останавливаться и мыслить более четко и уменьшать свои ошибки или выполнение ошибочных команд. Если это поможет вам, это тоже принесет пользу.Есть, вероятно, больше преимуществ, но это основные, IMHO.
См. также - https://help.ubuntu.com/community/RootSudo
Чтобы попытаться ответить на некоторые из ваших других соображений:
sudo имеет превосходную регистрацию. sudo регистрирует каждую команду. Crackers могут получить доступ к оболочке с помощью ряда методов. Когда вы видите «запустить произвольный код» в уведомлении о безопасности - https://usn.ubuntu.com/usn/ - это означает, что взломщик может запустить / bin / bash или любой другой код. Таким образом, взломщик с помощью различных эксплойтов может получить доступ к оболочке, не зная вашего имени пользователя или пароля. Ни sudo, ни su не помогает в этом. sudo обеспечивает более точное управление зерном. Можно настроить sudo, чтобы дать root доступ к некоторым, но не ко всем командам. Если взломщик имеет доступ к оболочке для учетной записи с правами доступа root, через su или sudo, взломщик может получить доступ root через ряд методов за пределами сфера охвата этого обсуждения. В этом отношении ни судо, ни су не превосходят.Итак, если вы наблюдаете проблемы или недостатки с помощью sudo, su имеет одинаковые уязвимости, и su не превосходит sudo в этих аспектах, IMHO
Лично я не считаю его более безопасным, и большинство преимуществ (sudo) находятся в многопользовательской системе.
Преимущества (в определенном порядке):
sudo имеет превосходную регистрацию. sudo регистрирует каждую команду. sudo позволяет контролировать более мелкие зерна. Можно настроить sudo, чтобы предоставить root доступ к некоторым, но не ко всем командам. sudo использует пароль для входа. Это защищает от необходимости вводить пароль root (как и в случае su) и относится к вышеуказанной точке, касающейся более тонкого управления / доступа к корню. В Ubuntu по умолчанию учетная запись root заблокирована. Это сдерживает взломщики при входе в систему (удаленный через ssh), они должны угадать как имя пользователя, так и пароль. Если корневая учетная запись не заблокирована, как в случае с su, тогда им нужно только взломать пароль root. sudo -i, вероятно, лучший способ изолировать переменные среды root от вашего пользователя. Время от времени это происходит, но умеренно эзотерическое. См. Https://help.ubuntu.com/community/RootSudo#Special_notes_on_sudo_and_shells. Некоторые люди считают, что нужно вводить sudo перед каждой командой, которую они хотят запускать с правами root или имеющей время ожидания sudo, позволяет им останавливаться и мыслить более четко и уменьшать свои ошибки или выполнение ошибочных команд. Если это поможет вам, это тоже принесет пользу.Есть, вероятно, больше преимуществ, но это основные, IMHO.
См. также - https://help.ubuntu.com/community/RootSudo
Чтобы попытаться ответить на некоторые из ваших других соображений:
sudo имеет превосходную регистрацию. sudo регистрирует каждую команду. Crackers могут получить доступ к оболочке с помощью ряда методов. Когда вы видите «запустить произвольный код» в уведомлении о безопасности - https://usn.ubuntu.com/usn/ - это означает, что взломщик может запустить / bin / bash или любой другой код. Таким образом, взломщик с помощью различных эксплойтов может получить доступ к оболочке, не зная вашего имени пользователя или пароля. Ни sudo, ни su не помогает в этом. sudo обеспечивает более точное управление зерном. Можно настроить sudo, чтобы дать root доступ к некоторым, но не ко всем командам. Если взломщик имеет доступ к оболочке для учетной записи с правами доступа root, через su или sudo, взломщик может получить доступ root через ряд методов за пределами сфера охвата этого обсуждения. В этом отношении ни судо, ни су не превосходят.Итак, если вы наблюдаете проблемы или недостатки с помощью sudo, su имеет одинаковые уязвимости, и su не превосходит sudo в этих аспектах, IMHO
Лично я не считаю его более безопасным, и большинство преимуществ (sudo) находятся в многопользовательской системе.
Преимущества (в определенном порядке):
sudo имеет превосходную регистрацию. sudo регистрирует каждую команду. sudo позволяет контролировать более мелкие зерна. Можно настроить sudo, чтобы предоставить root доступ к некоторым, но не ко всем командам. sudo использует пароль для входа. Это защищает от необходимости вводить пароль root (как и в случае su) и относится к вышеуказанной точке, касающейся более тонкого управления / доступа к корню. В Ubuntu по умолчанию учетная запись root заблокирована. Это сдерживает взломщики при входе в систему (удаленный через ssh), они должны угадать как имя пользователя, так и пароль. Если корневая учетная запись не заблокирована, как в случае с su, тогда им нужно только взломать пароль root. sudo -i, вероятно, лучший способ изолировать переменные среды root от вашего пользователя. Время от времени это происходит, но умеренно эзотерическое. См. Https://help.ubuntu.com/community/RootSudo#Special_notes_on_sudo_and_shells. Некоторые люди считают, что нужно вводить sudo перед каждой командой, которую они хотят запускать с правами root или имеющей время ожидания sudo, позволяет им останавливаться и мыслить более четко и уменьшать свои ошибки или выполнение ошибочных команд. Если это поможет вам, это тоже принесет пользу.Есть, вероятно, больше преимуществ, но это основные, IMHO.
См. также - https://help.ubuntu.com/community/RootSudo
Чтобы попытаться ответить на некоторые из ваших других соображений:
sudo имеет превосходную регистрацию. sudo регистрирует каждую команду. Crackers могут получить доступ к оболочке с помощью ряда методов. Когда вы видите «запустить произвольный код» в уведомлении о безопасности - https://usn.ubuntu.com/usn/ - это означает, что взломщик может запустить / bin / bash или любой другой код. Таким образом, взломщик с помощью различных эксплойтов может получить доступ к оболочке, не зная вашего имени пользователя или пароля. Ни sudo, ни su не помогает в этом. sudo обеспечивает более точное управление зерном. Можно настроить sudo, чтобы дать root доступ к некоторым, но не ко всем командам. Если взломщик имеет доступ к оболочке для учетной записи с правами доступа root, через su или sudo, взломщик может получить доступ root через ряд методов за пределами сфера охвата этого обсуждения. В этом отношении ни судо, ни су не превосходят.Итак, если вы наблюдаете проблемы или недостатки с помощью sudo, su имеет одинаковые уязвимости, и su не превосходит sudo в этих аспектах, IMHO
Представьте, что у вас есть 20 минут, чтобы сделать что-то сложное. Вы немного похмелье, и вам нужно спешить. «Давайте используем su», вы говорите. «Это сэкономит время» - это ваши рассуждения.
Вы случайно нажимаете
rm -rf /*
вместо
rm -rf ./*
Ваша система теперь сжимает себя, и у вас есть 10 минут до вашего крайнего срока.
Если вы явно выбираете, когда вам нужен root, вы можете свести к минимуму вероятность этого. Корень может не понадобиться для rm -r ./*, так зачем использовать его? Зачем рисковать?
Вот что означает «безопасность». Минимизация риска пользователей (всех пользователей, а не только начинающих), совершивших роковую ошибку.
Конечно, это экстремальный пример, который нельзя допускать в производственной среде (я гарантирую, что он произошло в среде prod).
Безопасность мудрая, есть кое-что, что sudo лучше для тоже. Как говорит @Panther - регистрация, ограничения, пароль root - SPOF и т. Д.)
Я хочу добавить немного исторической перспективы к другим ответам. К сожалению, у меня нет источников, кроме моих собственных воспоминаний об обсуждениях Usenet и журнальных статьях.
Некоторое время назад, в 1990-х годах, дистрибутивы упрощали установку Linux на ваше собственное оборудование, даже с небольшим количеством компьютерных знаний. Таким образом, Linux начал привлекать все больше и больше людей, которые на удивление ранее не были пробурены как системные администраторы на каком-то диалекте UN * X. Вместо этого многие были использованы для (одиночных пользователей) систем, таких как Windows 95/98. И они узнали, что большинство задач администрирования Linux потребовали работы под этой странной «корневой» учетной записью.
Таким образом, некоторые пользователи просто вошли в систему под именем root и использовали эту учетную запись для своей повседневной работы. Зачем им нужно снова вводить su и пароль root или входить в новый tty только для некоторых команд администратора? Но использование root для всего - это, конечно, не очень хорошая идея, так как вы могли бы нанести гораздо больший вред вашей системе с помощью некорректной команды в неправильном месте. Это даже привело к тому, что некоторые дистрибутивы (это SuSE?) Изменили фон рабочего стола для пользователя root, чтобы отобразить большое предупреждение о том, что вы должны использовать эту учетную запись только для задач администратора.
Итак, путь Ubuntu с [ f2] имеет некоторые преимущества (в дополнение к тем, которые уже перечислены Panther).
Вы не можете напрямую войти в учетную запись root.² :-) В процессе установки не будет запрашиваться (дополнительный) пароль root , вам нужен только один (ваш пользовательский) пароль. sudo кэширует ваши учетные данные, поэтому для нескольких команд администратора в последовательности вам нужно только ввести пароль один раз (в отличие от su). Это уменьшает желание просто открыть оболочку или новый терминал с привилегиями root. И это упрощает рассказывать пользователям онлайн и в документации, какие команды они должны вводить как admin, а какие нет .³¹ И для тех, кто не смеет это делать сам, были установлены партии. ² Но вы root используете команду, подобную sudo -i или sudo su - root, чтобы получить корневую оболочку после входа в систему как обычный пользователь. ³ Но вы знаете, конечно, что вы перечислены Пантером , верно?
В течение десятилетий можно было отключить регистрацию root через ssh. Способ Ubuntu отключить учетную запись root и заставить людей делать все это не что иное, как трюк. Просто «sudo -s», и у вас есть корневая оболочка. Отключите вход в систему через ssh и оставьте его там.
В зависимости от конфигурации sudo <game ending command> не обязательно будет работать. Конечно, если конфигурация sudoers читает «user ALL = (ALL) ALL», sudo не будет предлагать дополнительной защиты. Однако вы можете указать список привилегированных команд, которые вам нужно запускать часто, например, устанавливать новые пакеты, и оставлять опасные команды, такие как rm.
Таким образом, вы можете запускать все команды, если вы входите в систему как , но поскольку вам это потребуется только время от времени, риск запуска <game ending command> будет значительно уменьшен.
Это sudo позволяет вам разрешать только определенные команды - это не единственное преимущество sudo over su.
В большинстве магазинов это даже не самое важное преимущество.
С помощью sudo вы знаете, кто выполнил определенную команду.
Теперь, может быть, Это важно для вас. Например, вы можете быть единственным пользователем вашего компьютера. Если это так, то sudo, возможно, не лучше, чем su.
Но у большого количества хостов более одного администратора.
sudo тогда становится очень полезным, потому что если кто-то делает неправильную вещь , sudo позволяет узнать, кто это сделал.
Это позволяет вам понять, почему произошли ошибки, а также обучить людей предотвращать повторяющиеся ошибки или, при необходимости, удалять инструменты у кого-то.
В качестве бонуса, когда люди знают, что их действия записаны, они часто немного осторожны.
Судо не совершенен.
Если два человека одновременно выполняют «sudo sh», тогда может быть сложно присвоить команды одному или другому.
И вредоносный администратор всегда может удалять или редактировать журналов - хотя делать это чисто не всегда так просто, как думают люди, особенно если у вас есть централизованное ведение журнала.
sudo не обязательно останавливает глупое или злонамеренное действие по всем причинам, указанным в оригинале вопрос.
Но это дает вам гораздо больше шансов предотвратить повторение.
Это sudo позволяет вам разрешать только определенные команды - это не единственное преимущество sudo over su.
В большинстве магазинов это даже не самое важное преимущество.
С помощью sudo вы знаете, кто выполнил определенную команду.
Теперь, может быть, Это важно для вас. Например, вы можете быть единственным пользователем вашего компьютера. Если это так, то sudo, возможно, не лучше, чем su.
Но у большого количества хостов более одного администратора.
sudo тогда становится очень полезным, потому что если кто-то делает неправильную вещь , sudo позволяет узнать, кто это сделал.
Это позволяет вам понять, почему произошли ошибки, а также обучить людей предотвращать повторяющиеся ошибки или, при необходимости, удалять инструменты у кого-то.
В качестве бонуса, когда люди знают, что их действия записаны, они часто немного осторожны.
Судо не совершенен.
Если два человека одновременно выполняют «sudo sh», тогда может быть сложно присвоить команды одному или другому.
И вредоносный администратор всегда может удалять или редактировать журналов - хотя делать это чисто не всегда так просто, как думают люди, особенно если у вас есть централизованное ведение журнала.
sudo не обязательно останавливает глупое или злонамеренное действие по всем причинам, указанным в оригинале вопрос.
Но это дает вам гораздо больше шансов предотвратить повторение.
Представьте, что у вас есть 20 минут, чтобы сделать что-то сложное. Вы немного похмелье, и вам нужно спешить. «Давайте используем su», вы говорите. «Это сэкономит время» - это ваши рассуждения.
Вы случайно нажимаете
rm -rf /*
вместо
rm -rf ./*
Ваша система теперь сжимает себя, и у вас есть 10 минут до вашего крайнего срока.
Если вы явно выбираете, когда вам нужен root, вы можете свести к минимуму вероятность этого. Корень может не понадобиться для rm -r ./*, так зачем использовать его? Зачем рисковать?
Вот что означает «безопасность». Минимизация риска пользователей (всех пользователей, а не только начинающих), совершивших роковую ошибку.
Конечно, это экстремальный пример, который нельзя допускать в производственной среде (я гарантирую, что он произошло в среде prod).
Безопасность мудрая, есть кое-что, что sudo лучше для тоже. Как говорит @Panther - регистрация, ограничения, пароль root - SPOF и т. Д.)
В зависимости от конфигурации sudo <game ending command> не обязательно будет работать. Конечно, если конфигурация sudoers читает «user ALL = (ALL) ALL», sudo не будет предлагать дополнительной защиты. Однако вы можете указать список привилегированных команд, которые вам нужно запускать часто, например, устанавливать новые пакеты, и оставлять опасные команды, такие как rm.
Таким образом, вы можете запускать все команды, если вы входите в систему как root, но поскольку вам это потребуется только время от времени, риск запуска <game ending command> будет значительно уменьшен.
Я хочу добавить немного исторической перспективы к другим ответам. К сожалению, у меня нет источников, кроме моих собственных воспоминаний об обсуждениях Usenet и журнальных статьях.
Некоторое время назад, в 1990-х годах, дистрибутивы упрощали установку Linux на ваше собственное оборудование, даже с небольшим количеством компьютерных знаний. Таким образом, Linux начал привлекать все больше и больше людей, которые на удивление ранее не были пробурены как системные администраторы на каком-то диалекте UN * X. Вместо этого многие были использованы для (одиночных пользователей) систем, таких как Windows 95/98. И они узнали, что большинство задач администрирования Linux потребовали работы под этой странной «корневой» учетной записью.
Таким образом, некоторые пользователи просто вошли в систему под именем root и использовали эту учетную запись для своей повседневной работы. Зачем им нужно снова вводить su и пароль root или входить в новый tty только для некоторых команд администратора? Но использование root для всего - это, конечно, не очень хорошая идея, так как вы могли бы нанести гораздо больший вред вашей системе с помощью некорректной команды в неправильном месте. Это даже привело к тому, что некоторые дистрибутивы (это SuSE?) Изменили фон рабочего стола для пользователя root, чтобы отобразить большое предупреждение о том, что вы должны использовать эту учетную запись только для задач администратора.
Итак, путь Ubuntu с sudo имеет некоторые преимущества (в дополнение к тем, которые уже перечислены Panther).
Вы не можете напрямую войти в учетную запись root.² :-) В процессе установки не будет запрашиваться (дополнительный) пароль root , вам нужен только один (ваш пользовательский) пароль. sudo кэширует ваши учетные данные, поэтому для нескольких команд администратора в последовательности вам нужно только ввести пароль один раз (в отличие от su). Это уменьшает желание просто открыть оболочку или новый терминал с привилегиями root. И это упрощает рассказывать пользователям онлайн и в документации, какие команды они должны вводить как admin, а какие нет .³¹ И для тех, кто не смеет это делать сам, были установлены партии. ² Но вы root используете команду, подобную sudo -i или sudo su - root, чтобы получить корневую оболочку после входа в систему как обычный пользователь. ³ Но вы знаете, конечно, что вы перечислены Пантером , верно?
В течение десятилетий можно было отключить регистрацию root через ssh. Способ Ubuntu отключить учетную запись root и заставить людей делать все это не что иное, как трюк. Просто «sudo -s», и у вас есть корневая оболочка. Отключите вход в систему через ssh и оставьте его там.
Это sudo позволяет вам разрешать только определенные команды - это не единственное преимущество sudo over su.
В большинстве магазинов это даже не самое важное преимущество.
С помощью sudo вы знаете, кто выполнил определенную команду.
Теперь, может быть, Это важно для вас. Например, вы можете быть единственным пользователем вашего компьютера. Если это так, то sudo, возможно, не лучше, чем su.
Но у большого количества хостов более одного администратора.
sudo тогда становится очень полезным, потому что если кто-то делает неправильную вещь , sudo позволяет узнать, кто это сделал.
Это позволяет вам понять, почему произошли ошибки, а также обучить людей предотвращать повторяющиеся ошибки или, при необходимости, удалять инструменты у кого-то.
В качестве бонуса, когда люди знают, что их действия записаны, они часто немного осторожны.
Судо не совершенен.
Если два человека одновременно выполняют «sudo sh», тогда может быть сложно присвоить команды одному или другому.
И вредоносный администратор всегда может удалять или редактировать журналов - хотя делать это чисто не всегда так просто, как думают люди, особенно если у вас есть централизованное ведение журнала.
sudo не обязательно останавливает глупое или злонамеренное действие по всем причинам, указанным в оригинале вопрос.
Но это дает вам гораздо больше шансов предотвратить повторение.
Представьте, что у вас есть 20 минут, чтобы сделать что-то сложное. Вы немного похмелье, и вам нужно спешить. «Давайте используем su», вы говорите. «Это сэкономит время» - это ваши рассуждения.
Вы случайно нажимаете
rm -rf /*
вместо
rm -rf ./*
Ваша система теперь сжимает себя, и у вас есть 10 минут до вашего крайнего срока.
Если вы явно выбираете, когда вам нужен root, вы можете свести к минимуму вероятность этого. Корень может не понадобиться для rm -r ./*, так зачем использовать его? Зачем рисковать?
Вот что означает «безопасность». Минимизация риска пользователей (всех пользователей, а не только начинающих), совершивших роковую ошибку.
Конечно, это экстремальный пример, который нельзя допускать в производственной среде (я гарантирую, что он произошло в среде prod).
Безопасность мудрая, есть кое-что, что sudo лучше для тоже. Как говорит @Panther - регистрация, ограничения, пароль root - SPOF и т. Д.)
В зависимости от конфигурации sudo <game ending command> не обязательно будет работать. Конечно, если конфигурация sudoers читает «user ALL = (ALL) ALL», sudo не будет предлагать дополнительной защиты. Однако вы можете указать список привилегированных команд, которые вам нужно запускать часто, например, устанавливать новые пакеты, и оставлять опасные команды, такие как rm.
Таким образом, вы можете запускать все команды, если вы входите в систему как root, но поскольку вам это потребуется только время от времени, риск запуска <game ending command> будет значительно уменьшен.
Я хочу добавить немного исторической перспективы к другим ответам. К сожалению, у меня нет источников, кроме моих собственных воспоминаний об обсуждениях Usenet и журнальных статьях.
Некоторое время назад, в 1990-х годах, дистрибутивы упрощали установку Linux на ваше собственное оборудование, даже с небольшим количеством компьютерных знаний. Таким образом, Linux начал привлекать все больше и больше людей, которые на удивление ранее не были пробурены как системные администраторы на каком-то диалекте UN * X. Вместо этого многие были использованы для (одиночных пользователей) систем, таких как Windows 95/98. И они узнали, что большинство задач администрирования Linux потребовали работы под этой странной «корневой» учетной записью.
Таким образом, некоторые пользователи просто вошли в систему под именем root и использовали эту учетную запись для своей повседневной работы. Зачем им нужно снова вводить su и пароль root или входить в новый tty только для некоторых команд администратора? Но использование root для всего - это, конечно, не очень хорошая идея, так как вы могли бы нанести гораздо больший вред вашей системе с помощью некорректной команды в неправильном месте. Это даже привело к тому, что некоторые дистрибутивы (это SuSE?) Изменили фон рабочего стола для пользователя root, чтобы отобразить большое предупреждение о том, что вы должны использовать эту учетную запись только для задач администратора.
Итак, путь Ubuntu с sudo имеет некоторые преимущества (в дополнение к тем, которые уже перечислены Panther).
Вы не можете напрямую войти в учетную запись root.² :-) В процессе установки не будет запрашиваться (дополнительный) пароль root , вам нужен только один (ваш пользовательский) пароль. sudo кэширует ваши учетные данные, поэтому для нескольких команд администратора в последовательности вам нужно только ввести пароль один раз (в отличие от su). Это уменьшает желание просто открыть оболочку или новый терминал с привилегиями root. И это упрощает рассказывать пользователям онлайн и в документации, какие команды они должны вводить как admin, а какие нет .³¹ И для тех, кто не смеет это делать сам, были установлены партии. ² Но вы root используете команду, подобную sudo -i или sudo su - root, чтобы получить корневую оболочку после входа в систему как обычный пользователь. ³ Но вы знаете, конечно, что вы перечислены Пантером , верно?
В течение десятилетий можно было отключить регистрацию root через ssh. Способ Ubuntu отключить учетную запись root и заставить людей делать все это не что иное, как трюк. Просто «sudo -s», и у вас есть корневая оболочка. Отключите вход в систему через ssh и оставьте его там.