cd /serv
screen -R node
{in the screen}
node test.js
C^a d
早い、
ls -l /dev/pts
total 0
crw--w---- 1 tick-tock tty 136, 0 2011-04-19 16:41 0
crw--w---- 1 tick-tock tty 136, 1 2011-04-19 16:41 1
しかし、ほんの数秒後
ls -l /dev/pts
total 0
crw--w---- 1 tick-tock tty 136, 0 2011-04-19 16:47 0
crw--w---- 1 root tty 136, 1 2011-02-21 20:00 1
スクリーン端末からルートに切り替えるには?これは、ノードサーバーが実際にroot権限で実行されていることを意味しますか?適度ではない、不適切。問題になる可能性のある唯一のことは、iptablesがポート80をノードサーバーがリッスンするポート8000に転送するため、ルートとして実行する必要がないことです。間違った場所ならお詫び申し上げます。 Node.jsコミュニティに連絡する必要がありますか?
また、あらかじめsuルートを実行したり、sudoコマンドを実行したりしませんでした。
答え1
システムでジョブを処理する方法を正しく理解したら、システムが切断されるscreen
とシステムが破壊され、pts
何らかの理由で再生成されます。udev
udev
動的に生成されるファイルシステムである/ devでデバイスの生成と破壊を制御するサブシステムです。生成/破壊は、疑似端末マスター/スレーブペアを生成するために使用されるpts
ことによって処理されます。対応するスレーブまたは擬似端末ホストです。したがって、表示されるすべての権限の変更は、対応するデバイスノードを破壊して作成した直接の結果です。ptmx
pts/*
PTM
改訂する。ファイル日付の場合、デバイスノードはレプリカであるため、これらのノードを作成するために使用された元のデバイスの作成日が出力に表示される日付である可能性が高くなりますls
。
man ptmx
- ptmxが新しいpts疑似端末デバイスノードを作成する方法を説明します。
私が理解していないのは、あなたのシステムが私のシステムと同じように機能する理由です/dev/pts/
。認識されたデバイス権限の変更が発生しなかったり、完全に消えたり(これは必要です)、私の操作に関係なく権限は変更されません。 .が変更されます(画面が切り離され、デバイスはそのまま残り、破壊/再生されません)。それだけでなく、新しく作成されたデバイスにpts/*
関連する日付も現在の日付です。
1つの可能性は、使用しているVPSがこの動作に関連していることです。たとえば、VPSで分散アップグレードを実行できませんでした。使用中のシステムは、クラックしてインストールしたカーネルのバージョンを1つしか許可していないためです。自分のカーネルを更新できないという制限は、他のサブシステムの機能にも影響を与える可能性があります。これは推測だけですが、意味があります。
udevが異なるように設定されている可能性があります。
Gillesの大きな助けを借りて3枚が出ました。 ;)
答え2
Screenにはいくつかのコンパイル時間オプションがあり、そのうちの1つはマルチユーザーモードです。このモードでインストールすると、画面は通常 suid ルートを使用してインストールされます。バラよりマルチユーザーモード文書。あなたの製品もこのようにインストールされていますか?の出力は何ですかls -l /usr/bin/screen
?