Unix & Linux

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

4
ユーザーが引数(スペースを含む)を使用してコマンドを実行できるようにします
1人のユーザーに(sudoを介して)grepを実行させ、1つの特定のファイルの1つの特定の文字列に対してgrepを許可したい。このユーザーがすべてのファイルでgrepを実行できるようにしたくありません。ユーザーにはファイルへの読み取りアクセス権がないため、sudoを使用する必要があります。マシン上の別のサービスのログファイルを把握するnagiosチェックを作成しようとしています。 動作しませんが、sudoはパスワードを要求し続けます。 私のコマンドは次のとおりですsudo grep "string I want (" /var/log/thefilename.log(はい、そこに生で(、文字列の一部のスペースが、私はgrepをしたいです) /etc/sudoers.d/user-can-grep このコンテンツがあります: user ALL=(root) NOPASSWD: /bin/grep "string I want (" /var/log/thefilename.log このsudoersファイルは所有者root:rootであり、アクセス許可があります-r--r----- サーバーはUbuntu trusty 14.04.3 LTSです。 この作業を行うにはどうすればよいですか?
17 sudo 

1
Systemd:最初に失敗した場合に「ワンショット」サービスが再試行されることを保証する方法は?
systemdサービスのマンページを数回読んだことがありますが、基本的なsystemdパターンはまだわかりません。 起動時に1回(ドッカーコンテナーのように、またはドライブをフォーマットして)起動プロセスを1回実行し、正常に完了したい。しかし、そのためにType = oneshotを使用する場合、Restart = on-failureを使用できません。また、失敗した場合、ジョブを再試行しません。ここで明らかな何かを見逃していますか? また、Restart = on-failureでType = simpleを設定しようとしましたが、多くの場合、oneshotサービスが提供する次の動作(マンページから)が必要です。 ワンショットの動作は単純に似ています。ただし、systemdがフォローアップユニットを開始する前にプロセスを終了する必要があります。 更新: 関連するアップストリームsystemdバグ。 また、RemainAfterExitセマンティクスも必要です
17 systemd 

1
Arch Linux GRUBインストールエラー「airootfs」
私は公式のインストールチュートリアルに従っていました。ブートローダーセクションまではすべてスムーズでした。 エラーが発生しました /usr/bin/grub-probe: error: failed to get canonical path of 'airootfs'. コマンド実行中のこの質問と同じ: grub-mkconfig -o /boot/grub/grub.cfg 私はVirtualBoxにarchをインストールし、公式のwikiチュートリアルGRUBセクションを順を追って追っていました。 grubを正常に起動できますが、表示されるのはgrubシェルのみです。推論として、grub構成ファイルを生成するステップ以降、脱線したと思います。私の情報がお役に立てば幸いです。 ところで、実際には、前のステップでこのエラーが発生しました-GRUBをインストールする grub-install --target=i386-pc /dev/sda ルートディレクトリパラメータを追加しましたが、エラーは表示されませんでした。 grub-install --root-directory=/mnt /dev/sda これは、メインのLinuxパーティション/ dev / sda3を/ mntにマウントしたが、grub-mkconfigで使用するルートまたはブートディレクトリパラメーターがないためです。 fdiskユーティリティで表示されるパーティションテーブルは次のとおりです。 ありがとう。よろしく。

2
メモリ使用量が多いが、プロセスが使用していない
free -mHyper-Vで実行されているdebian VMで実行します。 total used free shared buffers cached Mem: 10017 9475 541 147 34 909 -/+ buffers/cache: 8531 1485 Swap: 1905 0 1905 したがって、10GBのメモリのうち、8.5GBが使用中であり、1500MBのみが無料です(キャッシュを除く)。 しかし、私はメモリを使用しているものを見つけるのに苦労しています。の出力はps aux | awk '{sum+=$6} END {print sum / 1024}'、RSS使用率を合計すると想定されています。 1005.2 つまり、私のプロセスは1GBのメモリしか使用しませんが、システム全体(キャッシュを除く)は8.5GBを使用します。 他の7.5GBを使用しているのは何ですか? ps:1200の使用済みメモリ(空きメモリ= 8.8GB)を示す同様の構成の別のサーバーがあり、psでのRSS使用量の合計は900で、これは予想に近いものです... 編集 cat /proc/meminfo マシン1(低メモリ): MemTotal: 10257656 kB MemFree: 395840 kB …
17 linux  debian  memory 

1
LUKSパスワードを変更するにはどうすればよいですか?
LUKSパスワードを変更したいのですが。古いパスワードを削除したいのですが、元のパスワードを削除する前に新しいパスワードを試してみたいと思います。私は明らかに古いパスワードを知っています。GUIではなくターミナルを使用したいと思います。 ドライブに機密データがあるので、バックアップを使用する必要がないため、安全な方法が必要です。

3
ゲストの追加「プログラムを見つけることができません」Kali Linux 2.0
問題: Kali linuxにゲスト追加をインストールしようとすると、次のエラーが発生します。 おっとっと!このソフトウェアの実行中に問題が発生しました。プログラムが見つかりません これは、Virtual Box 4.3.32にKali Linux 2.0を新規インストールした後に発生しました このエラーを取得するために取られたアクション: Virtualbox -> Devices -> Insert Guest Additions CD image その後、Kali Linux GUIからメッセージ 「VBOXADDITIONS_4.3.32_103443」には、自動的に起動することを目的としたソフトウェアが含まれています。実行しますか? 実行を選択するとエラーが発生します この問題を解決するには?原因は何ですか?

3
curlブレース構文で複数のファイルをダウンロードします
次の構文で2つのファイルをダウンロードしようとしています。 curl -O http://domain/path/to/{file1,file2} 問題は、最初のファイルのみが実際にローカルに保存され、2番目のファイルは単にstdoutに出力されることです。 私はそれを追加する-Oとうまくいくことに気付きました: curl -OO http://domain/path/to/{file1,file2} しかし、ファイルの数が増えすぎた場合、これは非実用的ではありませんか?例えば、 curl -O http://domain/path/to/file[1,100] 私の質問は、curl(正しい数を追加せずに-O)複数の個別のファイルを一度にダウンロードする方法は本当にないのですか?
17 curl 


3
引数をPythonスクリプトに渡すことは可能ですか?
引数をシェルスクリプトに渡す方法を知っています。これらの引数は、AWSデータパイプラインで宣言され、パススルーされます。これは、シェルスクリプトは次のようになります。 firstarg=$1 secondarg=$2 Pythonでこれを行うにはどうすればよいですか?まったく同じですか?
17 python 

4
ケース条件として変数を使用するにはどうすればよいですか?
ステートメントテスト|としてaで区切られた異なる文字列で構成される変数を使用しようとしていますcase。例えば: string="\"foo\"|\"bar\"" read choice case $choice in $string) echo "You chose $choice";; *) echo "Bad choice!";; esac ステートメントの最初の部分を入力fooまたはbar実行できるようにしcaseます。しかし、両方fooとbar第二に私を取ります: $ foo.sh foo Bad choice! $ foo.sh bar Bad choice! "$string"代わりに使用し$stringても違いはありません。どちらも使用しませんstring="foo|bar"。 私はこの方法でできることを知っています: case $choice in "foo"|"bar") echo "You chose $choice";; *) echo "Bad choice!";; esac さまざまな回避策を考えることができますがcase、bashの条件として変数を使用できるかどうかを知りたいです。それは可能ですか?


1
「grep」の反対は何ですか?
私はと、文字列の長いシリーズをプリントアウトの代わりにのみ(1つの用途行うには、「グレップ」)は、どのように私は特定のパターンを含む行を示すだと言う除外する特定のパターンを?
17 grep 


1
フィールドの値が3以下の行を削除します-sedまたはawk?
8番目のフィールド(列)の値が2以下のすべての行を削除する必要があります。 私のデータは次のようになります。 12-31 Airport 189 379 41 49.70946503 -124.91377258 2 2880 30.8 01-01 AlberniElementary 165 331 16 49.26100922 -124.80662537 4 5760 26.1 01-09 BamfieldMarine 161 323 23 48.83490372 -125.13572693 2 2875 27.4 01-10 BamfieldMarine 161 323 23 48.83490372 -125.13572693 3 3068 38.6 awkを使用すると、必要な値を取り除いて別のファイルに出力できること、そしてsedが現在のファイルを編集することを理解しています。どちらの場合でも、元のファイルを保持する必要があります。 注:ソリューションについて詳細な説明を提供してください。コマンドを記述するだけでは不十分です。提案に注釈を付けてください。 さらに注意:データにはヘッダー行があるため、ほとんどの場合、ソリューションには次のことが必要です。 awk 'FNR> 1' 私は考えます?
17 shell  shell-script  sed  awk  grep 

2
コアダンプファイルの場所(および名前)を設定する方法
私は、CentOS 6で、開発中のアプリケーションのコアダンプを有効にしようとしています。私は置きました: ulimit -H -c unlimited >/dev/null ulimit -S -c unlimited >/dev/null 私のbashプロファイルに入れましたが、コアダンプはまだ生成されませんでした(新しいターミナルで)。 また、すべてのユーザーのソフト制限がゼロになるように/etc/security/limits.confを変更しました。 出力するコアファイルの場所を設定するにはどうすればよいですか?ファイル名の一部として、場所を指定し、ダンプが生成された時間を追加したいですか?
17 linux  core-dump 

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