2017-04-05 38 views
7

私はsudo crontab -eと入力したときに私のcronコマンドは表示されませんでしたが、私だけがcrontab -eを実行すると私のコマンドがあります。"sudo crontab -e"とちょうど "crontab -e"のLinuxの違い

2との間に違いはありますか?もしあれば、私は自分のcronコマンドをどこに置くべきですか?それはsudoにあるべきかsudoなしですべきですか?

ありがとうございます!

+0

これはプログラミングに関連していないので、http://unix.stackexchange.com/に属していると思います。 – Skynet

+0

@Skynetああ、私は参照してください。だからこそ、他の人たちの嫌悪感の理由は? :( – PinoyStackOverflower

+0

私は思います。しかし少しの研究の後、私はこの質問が実際にこの質問と重複していることを知りました:http://serverfault.com/questions/817499/when-to-use-sudo-with-crontab (それに偶然にもdownvoteがあります) – Skynet

答えて

8

2との間に違いはありますか?

はい、実際は異なります。 違いは、sudo crontab -eでは、コマンドはrootユーザーの資格情報でスケジュールされていることです。そのため、sudoのcronテーブルのコマンドはrootユーザーとして実行されます。

しかしcrontab -eと、コマンドがログインしている正規のユーザーで予定されている。私は私のcronコマンドを置く必要があり、それはsudoの中か、sudoをせずにする必要があります

これは、実行するコマンドの種類によって異なります。
コマンドにsudoアクセスが必要な場合は、sudo crontab -eを使用する必要があります。
これ以外の場合、cronコマンドに特別なアクセス権が必要ない場合は、crontab -eを使用します。


上記のコマンドは、特別許可(sudoを)必要とイーサネットネットワークインターフェースeth0無効にしたり、特定の時間に有効にする必要がありますが、あなたは、コマンド
ifconfig eth0 upまたはifconfig eth0 down
を使用する場合は、これらのコマンドはsudo's cronタブに追加されているはずです

からファイルを削除するなどの最小限の許可または許可を必要とするコマンド$ rm /tmp/somefileのようなディレクトリは、通常のユーザーのcrontabを使用します。

+1

非常に有益な回答ありがとう! – PinoyStackOverflower

+0

@PinoyStackOverflowerようこそ。 –