LoginSignup
9
9

More than 5 years have passed since last update.

PTYってなんぞ?

Posted at

Serverspec本読書メモ 3.5章〜3.12章までを書いた時に、PTYを良くわかっていなかったので別途メモ

わかっていること

  • serverspecは sudo パスワードを入力する場合PTYを要求する
  • sudo パスワードを入力しない場合でも
    • /etc/sudoers に Defaults requiretty が設定されている場合はPTYが必要

PTY : 擬似端末(ぎじたんまつ、pseudo terminal)

仮想コンソール、端末装置、シリアルポートハードウェアなどを使用しないテキスト端末のインターフェイスを提供する。これらのハードウェアの代わりに、擬似端末セッションの役割をソフトウェア(プロセス)が代用する。例えば、SSHなどでログインするとこの端末に接続される。

擬似端末 - Wikipedia

sudo パスワードを入力する場合、何故 PTY が必要?

  • 対話入力には、PTYが必要
    • serverspec等で非PTYの場合は、一方的にコマンドを送ってその結果を受け取るだけっぽい

Defaults requiretty が設定されている場合に、何故 PTYが必要?

  • CentOSでは標準で設定されているらしい
  • セキュリティ上の問題らしい
  • 例えばwebサーバのセキュリティホールを突かれて、任意のスクリプトを実行された時に、sudoできてしまうのを回避するため

参考

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9