スクリプト内でsudo hogeしようとするとPermission deniedで拒否される


tcpdumpを実施するシェルを書いたところ、Permission deniedで拒否されました。

[code]

    #!/bin/bash -v
    TEST_DIR="/Users/"
    sudo tcpdump -Ini en0 -w ${TEST_DIR}/test1.pcap -W1 -G40 &
    pid=$!
    
    tcpdump: /Users/test1.pcap: Permission denied
    
[/code]

事前に

[code]

    sudo chmod 644 /dev/bpf*
    
[/code]

も実行してあり

[code]

    visudo
    UserHoge ALL=(ALL) NOPASSWD:ALL
    
[/code]

ともしてあります。



[code]

    sudo tcpdump -Ini en0 -w ${TEST_DIR}/test1.pcap -W1 -G40 -Z root
    
[/code]

-Z オプションで書き込み権限を指定する。root もしくは sudo できるユーザを指定することで、エラー無く実行が出来ました。



[code]

    sudo tcpdump -Ini en0 -w ${TEST_DIR}/test1.pcap -W1 -G40 -Z root
    
[/code]

-Z オプションで書き込み権限を指定する。root もしくは sudo できるユーザを指定することで、エラー無く実行が出来ました。

