debian8@hwy:~$ sudo cat /etc/sudoers |grep debian8
debian8 ALL=(ALL:ALL) NOPASSWD:ALL
これは、debian8がスーパーユーザーとしてコマンドを実行できるユーザーであることを意味します。
ログファイルに何かを書きたいです。
debian8@hwy:~$ trafficlog="/var/log/traffic.log"
debian8@hwy:~$ sudo echo -n `date "+%Y-%m-%d %H:%M:%S"` >> $trafficlog
bash: /var/log/traffic.log: Permission denied
Debian8にはroot権限がありますが、なぜtrarricログに日付履歴を書き込めないのですか?
答え1
sudo
コマンドが終わるところでコマンドが終了するからです。
暗黙的な括弧を使用すると、これがまさにあなたがすることです(特に複雑な方法で実行していますが、それ以上であることを付け加えます)。
(sudo echo -n) ( date "+%Y-%m-%d %H:%M:%S"
) >> $trafficlog
ご覧のとおり、rootecho
としてコマンドを実行しますが、リダイレクトはdebian8で発生します。
何会議ジョブは次のとおりです。
echo -n date "+%Y-%m-%d %H:%M:%S"
| sudo tee --$trafficlog を追加