Unix & Linux

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

1
LXCコンテナーの内外のユーザー許可
サーバー上のDocker LXCコンテナー内でいくつかのサービスを実行しており、実際にそれらのサービスで深刻なことを始めています。 私が明確にしていないことの1つは、コンテナの内外でユーザーのアクセス許可がどのように機能するかです。たとえば、MySQLをコンテナで実行し、そのデータディレクトリを/dataDockerボリュームであるに設定している場合、コンテナ内外のアクセス許可はアクセスポリシーにどのように影響しますか? 明らかに、MySQLをコンテナ内で独自のユーザー(つまりmysql:mysql)として実行し、そのディレクトリに対する読み取り権と書き込み権を付与することです。これはかなり簡単でchmod、ディレクトリなどを入力するだけだと思います。しかし、これはコンテナの外でどのように機能しますか?「データ」と呼ばれるこのDocker共有ボリュームがあるので、アクセス制御をどのように管理しますか? 私は、MySQL共有ボリュームに定期的にアクセスしてデータをバックアップするDockerコンテナの外部で、権限のないユーザーを実行できることを特に探しています。 ホスト上の特定のユーザーがDocker共有ボリュームのファイルとフォルダーを読み書きできるように、アクセス許可、ユーザー、およびグループを設定するにはどうすればよいですか?

3
blkidのUUIDとmdadmの違いは?
blkidとで報告されたUUIDの違いを誰かが説明できますかmdadm?CentOSシステムの1つで、たとえば: [root@server ~]# blkid | grep /dev/md1 /dev/md1: UUID="32cb0a6e-8148-44e9-909d-5b23df045bd1" TYPE="ext4" [root@server ~]# mdadm --detail /dev/md1 | grep UUID UUID : f204c558:babf732d:85bd7296:bbfebeea なぜ異なるのmdadmですか?また、使用するUUIDをどのように変更しますか? tune2fsパーティションのUUIDを変更するために使用することを理解しています(これにより、返されるものが変更されますblkid)が、mdadm使用するものを変更する方法がわかりません。
26 linux  mdadm  uuid 


4
ln -s(pwdに相対的なパスを含む)
たくさんのシンボリックリンクを作成しようとしていますが、なぜこれが機能しているのかわかりません ln -s /Users/niels/something/foo ~/bin/foo_link これながら cd /Users/niels/something ln -s foo ~/bin/foo_link ではありません。 私はそれが代わりfoo_linkにfooにリンクすることに関係があると信じています/Users/niels/bin/Users/niels/something 質問は、実際に入力せずに絶対パスを指すシンボリックリンクを作成するにはどうすればよいかということです。 参考のため、Mac OS X 10.9およびZshを使用しています。
26 bash  shell  symlink  ln 

5
なしで現在のシェルでスクリプトを実行します。コマンドの前
スクリプトを現在のシェルで実行する必要がある場合は、コマンドの前にドットを追加することで実現できます。 . ./somescript.sh 毎回ドットを入力せずにこれを行う方法はありますか?たとえば、スクリプト自体から親シェルに変更するコマンドはありますか?
26 shell 

5
updatedbを無効にすることはできますか?
あるupdatedbすべての必要な?私は決して使用せlocateず、サーバーには数十億のファイルがあり、通常、updatedbを長時間実行し、MySQLや他のソフトウェアに必要なI / Oを消費します。 cronから削除してすべてが機能することを期待できますか?(サーバー上で見られる通常のソフトウェアをすべて意味する:linux、cpanel、mysql、apache、phpなど)。

7
sudoを必要とするスクリプトがなければ、sudoを使用してプロンプトを表示する必要がありますか?
バックライトの明るさをきめ細かく制御できるスクリプトがありsudo、実行する必要があります。基本的にこれです: backlight="/sys/class/backlight/acpi_video0/brightness" echo $1 | tee $backlight とに住んでい~/bin/backlight-adjustます。特権のある場所に書き込むsudoため、スクリプトには特権が必要tee $backlightです。したがって、で実行しないと失敗しますsudo。 このアプローチには問題があります。なぜなら、私はただ実行するsudo backlight-adjustこと~/binはできないからです。なぜなら$PATH、sudo環境の中ではなく、自分の環境の中だけにいるからです。だから私は走らなければならないsudo env "PATH=$PATH" backlight-adjustか、何か似たようなものが必要だ。 あるいは、次のように書くこともできます。 backlight="/sys/class/backlight/acpi_video0/brightness" echo $1 | sudo tee $backlight パスワードの入力を求められます。 2番目のアプローチは、sudoと入力することを覚えておく必要がないため、私にとってはうまく機能します。プロンプトが表示されます。そして、私はそのままにしておくことができ$PATHます。これは全体的に便利ですが、2番目の方法でこれを行うべきではない理由はありますか? (Xubuntu 14.04を実行していますが、シェルがGNU bash 4.2.45である場合、違いが生じます。)

9
ルートアクセスとsshキーベースの認証にsudoを必要とするシステムでSFTPを使用する方法は?
ルート許可が必要なファイルを編集するためにSFTPを使用できるようにしたい。 SSHキーベースの認証-スマートカードのrsaキーを使用しています。 システムがルートレベルのコマンドを実行するためにsudoを必要とする場合、これを回避するにはどうすればよいですか? SFTPのみに対してsudoをバイパスする方法を作成できますか? sudoおよびキー認証を保持する方法はありますか。 Windowsを使用してUbuntuに接続しています。Ubuntuに接続するMacでも同様に機能するために必要です。 システムサービスを管理するためにSSHトンネリングを行う方法を理解しています。現在、rootユーザーログインを直接使用していますが、パスワードログインは無効になっています。sudoとSFTPを同時に使用する方法がわかりませんでした。ログには各コマンドの昇格された権限が付与されたことが記録されるため、非rootユーザーとしてログインし、sudoを使用する必要があるのがベストプラクティスのようです。 キーベースの認証を使用する場合、これに気を付ける必要がありますか、これはセキュリティ/ロギングの些細な違いですか?キーベースの認証はユーザーのシリアル番号をログに記録するようで、ルートユーザーが各ユーザーを識別するために複数のキーを持つことができます。これは、sudoを使用するのと同じ効果のようです。私が間違っている?
26 ssh  sftp 


5
ファイルをメモリに読み込んで2回計算するよりも、2回高速にファイルを繰り返し処理するのはなぜですか?
私は以下を比較しています tail -n 1000000 stdout.log | grep -c '"success": true' tail -n 1000000 stdout.log | grep -c '"success": false' 次の log=$(tail -n 1000000 stdout.log) echo "$log" | grep -c '"success": true' echo "$log" | grep -c '"success": false' 驚いたことに、2番目は最初の2倍近くかかります。それはもっと速いはずですよね?
26 bash  performance  io 

2
Linux bashの日時[終了]
閉じた。この質問には、詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 6年前に閉鎖されました。 の形式で日付時刻を表示しようとしています 07/08/2013 16:52:13 bashスクリプトでコマンドを使用して: dt=`date '+%d/%m/%Y_%H:%M:%S'` どの変数を使用してCSVファイルを作成します。 受け入れられる文字は、日付と時刻の間にある「_」(アンダースコア)または「-」のみです。出力は 07/08 / 2013_16:52:13 日付と時刻の間にスペースを入れるにはどうすればよいですか?私はほとんどすべてを試しました(願っています)。
26 date  time 

3
ps:完全なコマンドが長すぎます
良い一日! 「ps」を使用して、プロセスを開始するコマンドを確認します。問題は、コマンドが長すぎるため、「ps」で完全に表示されないことです。 例:コマンド 'ps -p 2755 | 少ない」と次の出力があります PID TTY STAT TIME COMMAND 2755 ? Sl 305:05 /usr/java/jdk1.6.0_37/bin/java -Xms64m -Xmx512m -Dflume.monitoring.type=GANGLIA -Dflume.monitoring.hosts=prod.hostname.ru:8649 -cp /etc/flume-ng/conf/acrs-event:/usr/lib/flume-ng/lib/*:/etc/hadoop/conf:/usr/lib/hadoop/lib/activation-1.1.jar:/usr/lib/hadoop/lib/asm-3.2.jar:/usr/lib/hadoop/lib/avro-1.7.4.jar:/usr/lib/hadoop/lib/commons-beanutils-1.7.0.jar:/usr/lib/hadoop/lib/commons-beanutils-core-1.8.0.jar:/usr/lib/hadoop/lib/commons-cli-1.2.jar:/usr/lib/hadoop/lib/commons-codec-1.4.jar:/usr/lib/hadoop/lib/commons-collections-3.2.1.jar:/usr/lib/hadoop/lib/commons-compress-1.4.1.jar:/usr/lib/hadoop/lib/commons-configuration-1.6.jar:/usr/lib/hadoop/lib/commons-digester-1.8.jar:/usr/lib/hadoop/lib/commons-el-1.0.jar:/usr/lib/hadoop/lib/commons-httpclient-3.1.jar:/usr/lib/hadoop/lib/commons-io-2.1.jar:/usr/lib/hadoop/lib/commons-lang-2.5.jar:/usr/lib/hadoop/lib/commons-logging-1.1.1.jar:/usr/lib/hadoop/lib/commons-math-2.1.jar:/usr/lib/hadoop/lib/commons-net-3.1.jar:/usr/lib/hadoop/lib/guava-11.0.2.jar:/usr/lib/hadoop/lib/jackson-core-asl-1.8.8.jar:/usr/lib/hadoop/lib/jackson-jaxrs-1.8.8.jar:/usr/lib/hadoop/lib/jackson-mapper-asl-1.8.8.jar:/usr/lib/hadoop/lib/jackson-xc-1.8.8.jar:/usr/lib/hadoop/lib/jasper-compiler-5.5.23.jar:/usr/lib/hadoop/lib/jasper-runtime-5.5.23.jar:/usr/lib/hadoop/lib/jaxb-api-2.2.2.jar:/usr/lib/hadoop/lib/jaxb-impl-2.2.3-1.jar:/usr/lib/hadoop/lib/jersey-core-1.8.jar:/usr/lib/hadoop/lib/jersey-json-1.8.jar:/usr/lib/hadoop/lib/jersey-server-1.8.jar:/usr/lib/hadoop/lib/jets3t-0.6.1.jar:/usr/lib/hadoop/lib/jettison-1.1.jar:/usr/lib/hadoop/lib/jetty-6.1.26.cloudera.2.jar:/usr/lib/hadoop/lib/jetty-util-6.1.26.cloudera.2.jar:/usr/lib/hadoop/lib/jline-0.9.94.jar:/usr/lib/hadoop/lib/jsch-0.1.42.jar:/usr/lib/hadoop/lib/jsp-api-2.1.jar:/usr/lib/hadoop/lib/jsr305-1.3.9.jar:/usr/lib/hadoop/lib/junit-4.8.2.jar:/usr/lib/hadoop/lib/kfs-0.3.jar:/usr/lib/hadoop/lib/log4j-1.2.17.jar:/usr/lib/hadoop/lib/mockito-all-1.8.5.jar:/usr/lib/hadoop/lib/native:/usr/lib/hadoop/lib/paranamer-2.3.jar:/usr/lib/hadoop/lib/protobuf-java-2.4.0a.jar:/usr/lib/hadoop/lib/servlet-api-2.5.jar:/usr/lib/hadoop/lib/snappy-java-1.0.4.1.jar:/usr/lib/hadoop/lib/stax-api-1.0.1.jar:/usr/lib/hadoop/lib/xmlenc-0.52.jar:/usr/lib/hadoop/lib/xz-1.0.jar:/usr/lib/hadoop/lib/zookeeper-3.4.5-cdh4.3.0.jar:/usr/lib/hadoop/.//bin:/usr/lib/hadoop/.//cloudera:/usr/lib/hadoop/.//etc:/usr/lib/hadoop/.//hadoop-annotations-2.0.0-cdh4.3.0.jar:/usr/lib/hadoop/.//hadoop-annotations.jar:/usr/lib/hadoop/.//hadoop-auth-2.0.0-cdh4.3.0.jar:/usr/lib/hadoop/.//hadoop-auth.jar:/usr/lib/hadoop/.//hadoop-common-2.0.0-cdh4.3.0.jar:/usr/lib/hadoop/.//hadoop-common-2.0.0-cdh4.3.0-tests.jar:/usr/lib/hadoop/.//hadoop-common.jar:/usr/lib/hadoop/.//lib:/usr/lib/hadoop/.//libexec:/usr/lib/hadoop/.//sbin:/usr/lib/hadoop-hdfs/./:/usr/lib/hadoop-hdfs/lib/asm-3.2.jar:/usr/lib/hadoop-hdfs/lib/commons-cli-1.2.jar:/usr/lib/hadoop-hdfs/lib/commons-codec-1.4.jar:/usr/lib/hadoop-hdfs/lib/commons-daemon-1.0.3.jar:/usr/lib/hadoop-hdfs/lib/commons-el-1.0.jar:/usr/lib/hadoop-hdfs/lib/commons-io-2.1.jar:/usr/lib/hadoop-hdfs/lib/commons-lang-2.5.jar:/usr/lib/hadoop-hdfs/lib/commons-logging-1.1.1.jar:/usr/lib/hadoop-hdfs/lib/guava-11.0.2.jar:/usr/lib/hadoop-hdfs/lib/jackson-core-asl-1.8.8.jar:/usr/lib/hadoop-hdfs/lib/jackson-mapper-asl-1.8.8.jar:/usr/lib/hadoop-hdfs/lib/jasper-runtime-5.5.23.jar:/usr/lib/hadoop-hdfs/lib/jersey-core-1.8.jar:/usr/lib/hadoop-hdfs/lib/jersey-server-1.8.jar:/usr/lib/hadoop-hdfs/lib/jetty-6.1.26.cloudera.2.jar:/usr/lib/hadoop-hdfs/lib/jetty-util-6.1.26.cloudera.2.jar:/usr/lib/hadoop-hdfs/lib/jline-0.9.94.jar:/usr/lib/hadoop-hdfs/lib/jsp-api-2.1.jar:/usr/lib/hadoop-hdfs/lib/jsr305-1.3.9.jar:/usr/lib/hadoop-hdfs/lib/log4j-1.2.17.jar:/usr/lib/hadoop-hdfs/lib/protobuf-java-2.4.0a.jar:/usr/lib/hadoop-hdfs/lib/servlet-api-2.5.jar:/usr/lib/hadoop-hdfs/lib/xmlenc-0.52.jar:/usr/lib/hadoop-hdfs/lib/zookeeper-3.4.5-cdh4.3.0.jar:/usr/lib/hadoop-hdfs/.//bin:/usr/lib/hadoop-hdfs/.//cloudera:/usr/lib/hadoop-hdfs/.//hadoop-hdfs-2.0.0-cdh4.3.0.jar:/usr/lib/hadoop-hdfs/.//hadoop-hdfs-2.0. そのため、コマンドラインが長すぎるため、コマンドは途中で停止します。どうすれば全体を見ることができますか?
26 linux  ps 

2
Bashが私のパス上にあるにもかかわらずプログラムを見つけられない
パスにプログラムがあります。プログラムは、フルパスを指定して実行すると実行されます。しかし、名前だけで実行するとプログラムが見つかりません。 基本的に、以下の出力がどのように可能か、そして絶対パスを指定せずに私のプログラムが実際に見つけられるようにそれを修正する方法を理解したい: root:/usr/local/bin# ./siege **************************************************** siege: could not open /usr/local/bin/etc/siegerc run 'siege.config' to generate a new .siegerc file **************************************************** root:/usr/local/bin# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games root:/usr/local/bin# siege bash: /usr/bin/siege: No such file or directory root:/usr/local/bin# wtf!?!? Ubuntu 12.04でbashを使用しています。また、siegeからの警告出力は、この質問の目的には関係ないことに注意してください。プログラムを見つけて呼び出すことができるかどうかだけに興味があるからです。
26 bash  path 


4
サーバーは、どのクライアントポートに送信するかをどのように見つけますか?
私が理解しているように、これはクライアントが接続要求を行ったときに起こることです: サーバーは特定のポート番号にバインドされます。ポート番号は常にリスニングプロセスにバインドされます。サーバーのみが着信接続をリッスンしているため、クライアント側でバインドする必要はありません。 サーバーはそのポート番号でlisteninigを継続します。 クライアントはconnect()リクエストを送信します。 サーバーはを使用してリクエストを受け入れますaccept()。サーバはクライアントの要求を受け入れるとすぐに、カーネルはさらに、サーバーのためのポート番号をランダムに割り当てとしてsend()およびreceive()サーバー上の同じポート番号を聞くだけでなく、送信するために使用することはできない、と以前のポートがまだあることから、新しい接続をリッスンする 以上のことを考えると、サーバーはクライアントが受信しているポートをどのようにして見つけるのでしょうか?クライアントが送信元ポートと宛先ポートを使用してTCPセグメントを送信することを知っているので、サーバーはそのセグメントの送信元ポートを宛先ポートとして使用しますが、サーバーはそのポートを見つけるためにどの関数を呼び出しますか?それはaccept()?
26 tcp  socket 

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