Unix & Linux

Linux、FreeBSDおよび他のUn * xのようなオペレーティングシステムのユーザーのためのQ&A

1
tputオプションの完全なリスト
カーソルを非表示にしたかったし、tputコマンドを知っていた。私はそのマニュアルページを検索しました。インターネットを検索したところ、 $ tput civis # to hide the cursor $ tput cnorm # to bring back the cursor これらは完全に機能しますが、これらのオプションはマニュアルページのどこにも記載されていません。 彼らはどこに公式に文書化されていますか?

1
「nohup ./my_script&」を実行しているターミナルを終了しています=>「実行中のジョブがあります」。終了してもよろしいですか?
端末を切断したときにジョブが強制終了しないように、リモートボックスで次のコマンドを実行するとします。 nohup ./my_script.sh & 端末を終了しようとすると、次の警告が表示されました。 zsh: you have running jobs 大丈夫だと思います。それはちょうど私がバックグラウンドで実行されているジョブ/プロセスを持っていることを私に伝えています。端末を切断しても、ジョブ/プロセスは引き続き実行されますか?

2
フィルターに一致しないプロセスのみを表示する方法
htopプロセスを対話的に監視するために使用しています。 ただし、いくつかのプロセスが「邪魔になる」ことがあり、それらを除外したい場合があります。 残念ながら、htopの組み込みフィルター(例:)F4では、正のフィルター(一致のみが表示されます)のみを定義でき、負のフィルター(一致以外のすべてが表示されます)は定義できないようです。 最後に、検索文字列の実際の構文に関するドキュメントは見つかりませんでした(正規表現は機能していないようです)。
12 filter  htop 

3
bashでユーザー入力のパスワードをプログラムの標準入力の一部にする最も安全で簡単な方法は何ですか?
ユーザーにbashシェルプロンプトでパスワードを入力させ、そのパスワードをプログラムのstdinの一部にするための(1)最も安全で(2)最も簡単な方法を探しています。 :これが見えるようにstdinを必要とするもので{"username":"myname","password":"<my-password>"}、<my-password>何をしているが、プロンプトシェルに入力されます。プログラムstdinを制御できれば、パスワードを安全に要求して設定できるようにプログラムを変更できますが、ダウンストリームは標準的な汎用コマンドです。 以下を使用するアプローチを検討し、拒否しました。 コマンドラインにパスワードを入力するユーザー:パスワードは画面に表示され、「ps」を介してすべてのユーザーに表示されます 外部プログラムへの引数へのシェル変数補間(例:)...$PASSWORD...:パスワードは引き続き "ps"を介してすべてのユーザーに表示されます 環境変数(環境に残っている場合):パスワードはすべての子プロセスに表示されます。信頼できるプロセスでさえ、診断の一部としてコアダンプまたは環境変数をダンプする場合、パスワードを公開する可能性があります 長期間ファイルに保存されたパスワード、たとえ権限が厳しいファイルでも:ユーザーが誤ってパスワードを公開し、rootユーザーが誤ってパスワードを表示する可能性があります 私は現在の解決策を以下の答えとして挙げますが、誰かがそれを思いついた場合、より良い答えを喜んで選択します。もっと単純なもの、または誰かが私が見逃したセキュリティ上の懸念を見つけたのではないかと思います。
12 bash  security  password  curl 

1
なぜ特権分離ではなくカーネルモード設定なのか?
カーネルのモード設定は、最初はLinuxに乗るのがちょっと大変でしたが、今ではとても素晴らしいです。つまり、Xはrootとして実行する必要はありませんか?高解像度ハードウェアアクセラレータコンソール?クール。 問題は、多くのUNIXプラットフォームにモード設定カーネルドライバーがないことです。したがって、KMSに依存するハードウェアは、現在Linuxに限定されています。 私の質問:なぜこれを実際にカーネルに実装するのですか? 画面解像度を設定するためにハードウェアアクセスが必要な場合は、別の特権デーモンまたは小さなsetuidバイナリを使用しないのはなぜですか。これにより、特権コードを分離し、表示サーバーを制限付きユーザーとして実行できるという利点が維持されます。特別なドライバ要件を取り除き、クロスUNIXサポートをより簡単にします。正しい?または私はここで重要な何かを見逃していますか?
12 kernel  xorg  drivers 

4
dm-crypt + LUKSコンテナーにラベルを設定するにはどうすればよいですか?
新しいUSBフラッシュドライブを受け取り、それに2つの暗号化パーティションを設定しました。私はからdm-crypt(LUKSモード)を使用しましたcryptsetup。暗号化されていないパーティションを追加すると、ドライブの構造は次のようになります。 /dev/sdb1、暗号化され、「パーティション1」というラベルの付いたext4ファイルシステムを非表示にします。 /dev/sdb2、暗号化され、「パーティション2」というラベルの付いた別のext4ファイルシステムを非表示にします。 /dev/sdb3「パーティション3」というラベルの付いた、明確で目に見えるext4ファイルシステム。 ラベルはext4ファイルシステムに添付されているため、パーティションが復号化されていない限り、最初の2つは完全に非表示のままです。つまり、当面の間、LUKSコンテナーにはラベルがありません。これは、GNOME(自動マウント)を使用する場合に特に煩わしいです。この場合、ロックを解除するまで、パーティションは「x GB暗号化」および「y GB暗号化」と表示されます。 これは実際にはブロッキングの問題ではありませんが、ラベルが本当に好きで、パーティションがまだ暗号化されている場合でもラベルが表示されるようにしたいので、非常に迷惑です。 したがって、ラベルをext4ファイルシステムに添付するのと同じように、dm-crypt + LUKSコンテナーにラベルを添付する方法はありますか?dm-crypt + LUKSヘッダーにはそのための余地がありますか?その場合、ラベルを設定するにはどうすればよいですか? 解読前にext4ラベルを公開したくないので注意してください。これはばかげています。コンテナーに他のラベルを追加したいのですが、ext4ラベルが非表示になっているときに表示される可能性があります。


1
CPU警告-abrt-watch-log
私が実行しているのRed Hat Enterprise Linux Serverリリース7.1(マイポを)にインテル(R)Xeon(R)CPU X5690 @ 3.47GHz でこのエラーが発生し続けますabrt-watch-log。 root 888 1 0 Aug03 ? 00:00:00 /usr/bin/abrt-watch-log -F BUG: WARNING: at WARNING: CPU: INFO: possible recursive locking detected ernel BUG at list_del corruption list_add corruption do_IRQ: stack overflow: ear stack overflow (cur: eneral protection fault nable to handle kernel ouble …

2
シャットダウンコマンドを送信した後、sshセッションが終了しない
Debianサーバーをオフにするか再起動するコマンドを送信すると、シェルはハングしたままになり、応答しなくなります(コマンドを入力できなくなります)。 Ubuntuで同じアクションを実行すると、セッションが正常に終了するため、拘束された端末がそこにぶら下がっていません。Debianでこれと同じ動作をさせるために、インストールする必要のあるパッケージや構成変更を行う必要はありますか?
12 debian  ssh  systemd  shutdown 

1
LinuxでのTCP RTO値の変更
接続のTCP RTO (再送信タイムアウト)値を変更したいのですが、読んだところ、これが可能であることが示唆されていますが、どこでどのように変更するかはわかりません。 私が見てきた/proc/sys/net/ipv4変数が、変数のいずれもRTOに関連していません。誰かがこの値を変更する方法を教えてもらえれば幸いです。

2
「エクスポート」コマンドの用途は何ですか?
1つのターミナルウィンドウで環境変数を作成し、それを別のターミナルウィンドウにエコーしようとしました。それは何も表示しませんでした。 $TEST=hello その後、私はそれをエクスポートechoし、別のターミナルウィンドウでもう一度試しました。結果は以前と同じでした。 export TEST しかし、ログイン時に同じコードを実行すると(コードを~/.profileファイルに追加)、変数は任意のターミナルウィンドウで使用できます。ここで何が起きてるの?端末でコードを実行することと、ログイン時に同じコードを実行することの違いは何ですか?

3
SSL暗号をカール形式に変換する方法は?
公式SSLのドキュメントには、カールがかかるとは異なる形式で暗号をリストします。たとえば、curlでTLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA暗号を使用する場合は、それを渡す必要がありcurl --ciphers ecdhe_rsa_3des_shaます。一部のマッピングは知っていますが、すべてではありません-たとえば、暗号化TLS_DHE_RSA_WITH_AES_128_GCM_SHA256を使用するには、curlに何を渡さなければなりませんか? ssl docsの暗号名がcurlが受け入れる暗号名にどのようにマッピングされるかを示すドキュメントを見つけることができる場所はありますか? 編集:私は最終的に私のカールがOpenSSLではなくNSSによって裏付けられていることを発見しました、そして問題はOpenSSLが同じ暗号を使用するために別の引数を必要とする一方で、NSS裏付けされたカールの使用に関する適切なドキュメントがないためです。だから私の質問はNSSに固有です。

7
ファイル記述子が有効かどうかのテスト
bashスクリプトに、ファイル記述子(FD)が開いているときに、3以上の追加情報を出力させたいと思います。FDが開いているかどうかをテストするために、次のトリックを考案しました。 if (printf '' 1>&3) 2>&-; then # File descriptor 3 is open else # File descriptor 3 is not open fi 私のニーズにはこれで十分ですが、FDが有効かどうかをテストするより慣用的な方法があるかどうかについて知りたいです。私は特にのマッピングが存在するか否かについての興味fcntl(1)(FDフラグの検索を可能にするシェルコマンドにシステムコールを、O_WRONLY及び O_RDWRFDが書き込み可能であるかどうかをテストし、O_RDONLY及び O_RDWRFDが読み取り可能であるかどうかをテストします)。

3
プロセスが特定のグループとして実行されている場合、Linuxアクセス許可はどのように機能しますか?
これは私が多くの情報を見つけることができなかったものですので、どんな助けでもいただければ幸いです。 私の理解はこうです。次のファイルを取ります: -rw-r----- 1 root adm 69524 May 21 17:31 debug.1 ユーザーphilはこのファイルにアクセスできません: phil@server:/var/log$ head -n 1 debug.1 cat: debug.1: Permission denied philがadmグループに追加された場合、次のことができます。 root@server:~# adduser phil adm Adding user `phil' to group `adm' ... Adding user phil to group adm Done. phil@server:/var/log$ head -n 1 debug.1 May 21 11:23:15 server kernel: …

4
プロセスが特定のデバイスを使用できるようにアクセス許可を設定する方法はありますか?
たとえば、ここで読むことができるように、systemdの一部であるlogindは、一部のデバイスにユーザーセッションのアクセス許可を設定できます。この種の動作が実際にどのように機能するかを示すvidもあります。簡単に言うと、開始して、たとえばamarokで曲を再生すると、ログインプロンプトしかない別のユーザーまたはTTYに切り替えるまで、音が聞こえます。これは、アクティブなセッションが非アクティブになったためです。 特定のグループ(この場合は「オーディオ」)にユーザーを1つまたは複数追加するだけで問題が解決することはわかっていますが、別の解決策があるかどうか疑問に思っています。私が本当に欲しいのは、すべてのユーザーがセッションをロックしている場合でも、プロセスが常にサウンドカードを使用できるように、プロセスにいくつかのアクセス許可を設定することです。 それは可能ですか?私は音楽をよく聞くので、ほとんどの場合モニターをオンにしておく必要はないので、画面をロックするだけでいいのでお願いします。しかし、画面をロックすると、アクティブなセッションが非アクティブになり、amarokが再生を停止します。そして、はい、画面は単にオフにするだけでなく、ロックする必要があります。 編集: systemdが搭載されている場合もまったく同じ問題になるので、どのディストリビューションを使用しているかは重要ではないと思います。とにかく、私はdebian sidを使用していますが、systemd、udev(およびいくつかの依存関係)などの一部のパッケージは実験的なブランチからのもので、現在は219-9バージョンです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.