OS Xのネットワーク設定はnetworksetupを使う[追記]
LinuxではIPアドレスなどのネットワークインターフェースの設定は、決められた場所に置かれている設定フィルifcfg.eth0などに直接エディターで修正します。その後は、ネットワークサービスの再起動のために、/etc/rc.d/init.d/network restartなどと実行します。
OS Xではこの手順が使えません。OS XはGUIでの設定を基本にしているのでこんな手法は必要ないとのことかもしれませんが、sshからログインして設定変更したいシーンというのもあるのではないでしょうか。
IPアドレスは、/Library/Preferences/SystemConfigurationにあるpreferences.plistに記述されています。XMLテキスト形式のここを直接書き換えてもすぐには変更が反映されません。rebootすればいいのかもしれませんが、それは避けたいところです。
いろいろ調べていると、RemoteDesktopに関連したツールがあることを知りました。RemoteDesktopは接続するクライアント側のソフトは有償ですが、接続される側(=監視される側)は、標準で必要なソフトウエアはインストール済みです。これは、
/System/Library/CoreServices/RemoteManagement/(※表記のために改行)
ARDAgent.app/Contents/Support
にあります。この中にある「networksetup」がコマンドラインから使えるバイナリファイルの本体です。厳密に言えば、これからディレクトリ内の別ファイルにシンボリックリンクされています。
コマンドラインから、「./networksetup -help」と実行するとどんなオプションがあるかわかります。またこちらのAppleサポートサイトでも概要が解説されています。主なオプションをまとめておきます。
- ./networksetup -listallnetworkservices・・・サービスのリストを表示
- ./networksetup -listallhardwareports・・・ハードウエアのリストを表示
- ./networksetup -getcomputername・・・コンピュータ名を表示
- ./networksetup -getinfo “Built-in Ethernet”・・・イーサネットポートの設定を表示
- ./networksetup -setmanual
・・・IPアドレスなどを設定する
- ./networksetup -getdnsservers・・・DNSサーバ設定を表示
- ./networksetup -setdhcp・・・DHCPを有効にする
などです。コマンド実行後にただちに修正が生かされるので、ネットワークサービスの再起動は不要です。
(追記)
場合によっては、networksetupが見つからないことがあるかもしれません。その場合には、システム環境設定>>共有>>サービスから「Apple Remote Desktop」をON/OFFします。これによって、シンボリックリンクが張られてnetworksetupが現れると思います。