ojixiiさんの助け合いフォーラム投稿一覧
すみません、どの問題の事を仰ってるのかよくわからなかったのですが、
xz -cd と unxz -c は同じように動作するのか? という意図のご質問でしたら、その通りだと思います。。
おかしな回答してたらすみません。
mrproperについてはご認識の通りかと思いますが、引っかかってるのはたぶん解説のここのところですかね。
この問題では「現在のカーネル設定を引き継」いで使うとのことなので、現在のカーネルをビルドしたときの設定を .config として現在のディレクトリにコピーしておき、make oldconfig を実行します。
mrproperで初期化してから、必要な設定(現在のカーネルの.config)を持ってきてoldconfigなどを実行していけば、現在の設定を引き継いだカーネルをビルドできるということなのかなと思います。
man 見ても特に説明はありませんでしたので、お考えの通り
edit の -e、list の -l、remove の -r だよ、という補足と捉えてよいかと思います。
200 でも問題はないかもしれませんが、
「書き込みだけ許可」というパーミッションは一般のファイルではまず設定しないはずです。
(この問題が4択であれば選ぶかもしれませんが、だいぶ悩ましいです)
ちなみに /proc/sysrq-trigger というファイル(カーネルパニックを起こさせるファイル)は
確か書き込みのみだったはずですが、これも特殊な例だと思います。
NTPサーバへアクセスして現在時刻を取得するソフトウェア(コマンド)ですので、「コマンドでありクライアントである」の理解でいいのではないかなと思います。
参考までに、NTPクライアントの定義は以下のようになってるようです。
https://e-words.jp/w/NTP%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88.html
Q1 について、厳密に詳しくはないのですが
ジョブはプロセスの集合(シェルから見た実行単位)の認識だったので概ね同じ意味で受け取っていいのではと思います。
ターミナル上で「sleep 10」とか実行しても、フォアグラウンドのジョブ1つともいえるしプロセス1つともいえますよね。
Q2 はジョブを実行しているターミナルとは異なるターミナルからであれば、kill/killall コマンドを実行することができると思います。
server.confやclient.confはデフォルトで存在するファイルではなくて、
基本的には同梱されているサンプルを/etc/openvpnディレクトリ配下にコピーして利用する運用ですね。
systemdの起動ファイルが/etc/openvpn 直下に置かれている *.conf を読み込んで動作するという動きをしてます。
少し古くて恐縮ですが、openvpn-2.4.8-1.el7.x86_64 の /usr/lib/systemd/system/openvpn@.service から抜粋します。
[Service]
Type=notify
PrivateTmp=true
ExecStart=/usr/sbin/openvpn --cd /etc/openvpn/ --config %i.conf ★★
一応こちらにも「/etc/openvpn/server.conf」として例が挙がっています。
https://atmarkit.itmedia.co.jp/ait/articles/1603/18/news009_3.html
https://www.server-memo.net/server-setting/openvpn/openvpn_2_4-tun.html#toc20
% はあってもなくてもいいみたいです。
https://atmarkit.itmedia.co.jp/ait/articles/1707/21/news001_2.html
プロンプトで「fg %1」または「fg 1」を実行すると、ジョブ番号[1]で実行中のジョブ(略)がフォアグラウンドになります
・①は②の一部であり、②に含まれる(①は②のサブセットである)
①と②は異なる機能だと思います。一部でもないです。
・①=②ではない
YESです。
・setは②の全てを表示し、その中に①が含まれる(setの表示は、①以外の部分が存在する)
setコマンド(オプションなし)は ①シェル変数 に加えて環境変数などを表示します。
オプション名を指定しない「set -o(または set +o)」コマンドは、②のすべて? というか設定状況を表示します。
①シェル変数は、シェルの中でのみ有効な変数です。変数名も値も任意です。
$ aaa=100
とすると、シェル変数 aaa には 100 という値が設定されていることになります。
シェル変数をどのように定義してどう使うかはユーザーが決めることです。
②シェルのオプションは、こちらの問題にあるとおり allexport とか emacs とか、名前も機能も決まってます。
有効/無効を切り替えることで、シェルを使う上で便利になったりシェルの動作を自分好みの操作感にできます。
機能を有効にするかどうかはユーザーが決められます。
ご質問の意図を読み違えてたらすみません。
「元のリクエストヘッダに192.168.1.10を教える」というのがちょっとよくわからなかったのですが、
ここで言ってるのは、
・デフォルトでは、Hostフィールドには クライアントからのHostフィールドが含まれてない
(その代わりに プロキシサーバのホスト名(例の場合は 192.168.1.10)が送られる)
・クライアントからのHostフィールドをプロキシ先のサーバへ送りたいような場合には
「proxy_set_header」と変数$hostを使って、「proxy_set_header Host $host;」のようにする
ということなんじゃないかなあと思います。。
あまり詳しくはわかりませんが、/etc/inittab は Upstart でも使用可能だけど非推奨 というスタンスのようです。
以下 RHEL6 のマニュアルですが参考に。
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/migration_planning_guide/ch04s02s03
なので、Upstart が inittab の機能のどこまで使えるか使えないか というよりは、基本的には使わないもの。
ということから「/etc/inittab」を設定ファイルとして使用しないinitプログラムは「Upstart」~」と理解していいのではないかと思います。
rpc.mountd は、自分の中のざっくりな理解では「NFSを使うにあたってバージョン問わずサーバ側で必要なもの」だったので
興味持って調べてみたのですが、「NFSv4では要らん」と書かれた資料が見つかりませんでした。。
もし文献等ありましたら教えていただきたいです。
一応、参考URLの先には以下のようにあったので、NFSv4 でも必要だと思っていました。
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/storage_administration_guide/ch-nfs
rpc.mountd デーモンは、エクスポートを設定するために NFS サーバーで引き続き必要ですが、ネットワーク上の操作には関与しません。
あとはこちらにも NFS 2,3 および 4 で使用されるとありました。
https://docs.oracle.com/cd/E39368_01/admin/ol_about_nfs.html
リクエストされたNFS共有をNFSサーバーがエクスポートし、クライアントがその共有にアクセス可能であることを確認することにより、NFSv2およびNFSv3クライアントからのマウント・リクエストを処理します。
NFSv4の場合、このサービスはエクスポートを設定する場合のみ必要です。
NFSv4で役割は変わっているものの、いずれにせよ必要なように思えますが、いかがでしょうか。
LinuC ですが正にほぼ同じ箇所を学習していました。
1行ずつ読み取るとこうですかね。
olcAccess: to * → 全てのエントリに対して
by anonymous read → 認証前のユーザは参照できます
by * none → それ以外のユーザはアクセスできません
が、これ2行目の条件によって全ユーザ(未認証ユーザ含む)がマッチしますので、3行目が評価されることはありません。
もう少し丁寧に説明すると、
by anonymous read
の anonymous は認証される前のユーザ(匿名ユーザではないです)であり、認証可能なユーザを含む全ユーザを意味します。
参考に以下のようにあります。
「by anonymous auth」の記述があるのは、LDAPサーバにアクセスする際は必ず認証を行う必要があるためです。認証される前のユーザの為に、anonymousを指定します。この記述がないとそもそも認証ができなくなりますので、注意が必要です。
よって、2行目で「全てのエントリを全てのユーザが参照できる」ということになります。
さらに、3行目「by * none」は以下の理由により評価されません。
by以降に記述されている条件は順番に処理され、条件にマッチするとそれ以降の条件は処理されません。記述する順番には注意が必要です。
2行目の条件により「全ユーザ」がマッチしますので、3行目は評価されないんですね。
よって、「アクセス制御の設定をしていない条件と同じ定義」となります。
うーん、確かにあまり良問ではないのかもしれませんが、誤りが明確ですので消去法で解けるかと思います。
mail, weekly, include は、解説にある表から誤った説明がされていることがわかります。
mail :ログ切り替え失敗時に指定されたアドレスにメールする
→回答時はよくわかってなかったけど、mailのみの記載でもサーバ管理人に送られると思って×
「ログ切り替え失敗時にメールするメールアドレス」が×
mail に設定するのは、「ログ切り替えによって削除されるログを送付するメールアドレス」です。
weekly:1週間ごとにログを削除する
→一週間ごとと決まってるので×
「ログを削除する」が×
weeklyやdaily などは「切り替えのタイミング」を指定するものです。
include:ログ切り替え後に実行するスクリプト
→スクリプトを記載する必要があるので〇
(実際にはスクリプトの記載ではなく、ディレクトリ名の指定だったようですが。)
→ 「切り替え後に実行するスクリプト」が×
includeは「設定ファイルが置かれたディレクトリ」を指定するものです。
rotate の説明は正しいものですから○で、
compress についてはおっしゃる通り値を取らない設定項目ですから 設定項目の意味を問うものになっていますが(weekly も同様ですね)、
ほかに正しいものがないので ○ ... と考えてよいのではないかなと思いました。
未起動の ジョブ を自動実行できる ですね。
解説の「実行履歴を管理しており、未実行のジョブを検出できる」の部分が該当するかと思います。
実際にどのようになってるかについては、参考の中盤あたりにある0anacronの中身と
「1時間おきに実行する 0anacron では、「毎日実行するジョブの実行状況の確認」を行い、未実行の場合 anacron を実行します。」
の部分が該当するかなと思います。
カレントディレクトリに展開せずに ですね。
展開しないと内容を参照することはできませんが、標準出力に展開すればカレントディレクトリには展開されずに済みます。
こちら LinuC でのお話でしたが参考になるかと思います。
https://mondai.ping-t.com/g/posts/647
man 5 slapd.conf には以下のようにありますね。
allow
:(省略)
bind_anon_cred allows anonymous bind when credentials are not empty (e.g. when DN is empty).
bind_anon_dn allows unauthenticated (anonymous) bind when DN is not empty.
bind_anon_cred は、認証情報が空でないとき (たとえば DN が空のとき) に anonymous bind(匿名バインド)を許可する。
bind_anon_dn は、DN が空ではないときに非認証(anonymous)バインドを許可する。
(どっちの説明にも「anonymous」入っててややこしいですけど、
bind_anon_dn の方は「unauthenticated bind」とあるので「非認証バインド」としてよいと思います)
一応manの通りで間違ってなさそうだなあと思いつつ、勉強がてら実機で検証してみました。
結論からいうと
bind_anon_cred → 匿名バインドが許可される
bind_anon_dn → 非認証バインドが許可される
という動作でした。つまりmanおよび今の27550での説明が正しいということになります。
非認証バインド(=DNの指定のみ、パスワード指定なし)を allow bind_anon_cred の環境下で実行すると、以下のようになりました。
# ldapsearch -x -D 'uid=bbb,ou=aaa,dc=example,dc=com' -b 'dc=example,dc=com' '(objectClass=*)'
ldap_bind: Server is unwilling to perform (53)
additional info: unauthenticated bind (DN with no password) disallowed
「unauthenticated bind (DN with no password) disallowed(非認証バインドは許可されてません)」
というエラーが出ることから、allow bind_anon_cred では非認証バインドは許可されてないということです。
一方、同じコマンドを allow bind_anon_dn で実行すると、検索が行われて結果が返りました。
てことで、教科書を持ってないし他のWebサイトの真偽もよくわかりませんが、実際の挙動に則った説明にはなっているようです。
ポイントはdropの戻りですかね?
firewalldの設定ファイル(/usr/lib/firewalld/zones/drop.xml)のdescriptionの2文目を読む限り
仕様としては「戻りは許可」になっていそうです。
<?xml version="1.0" encoding="utf-8"?>
<zone target="DROP">
<short>Drop</short>
<description>Unsolicited incoming network packets are dropped.
Incoming packets that are related to outgoing network connections are accepted.
Outgoing network connections are allowed.</description>
</zone>
このあたりでも戻りは許可と言われてます。
https://atmarkit.itmedia.co.jp/ait/articles/1602/18/news019_2.html
確かに「戻りも不可」=実質的に通信不可 とうたっているサイトも散見されたので
一応簡単に試してみましたが、dropに指定したIPアドレスへのpingも返りましたし、
送信および戻りに関しては遮断されてる感じはしなかったです。
あんまり有識でもないんですが、調べてて勉強になったので共有させてもらいますね。
GRUB でどのカーネルを使って起動するようにするのかは、
/etc/default/grubの中の"GRUB_DEFAULT"という項目で定義してます。
で、ちょっと見てみたんですが、この項目の既定値が統一されていないみたいなんですね。
(異なる要因が GRUB と GRUB2 なのか、ディストリビューションなのかまではわからないのですが)
手元の Ubuntu 19.04 では「GRUB_DEFAULT=0(menuentryの0番目)」、
CentOS 7.9では「GRUB_DEFAULT=saved(前回起動時と同じものを使う)」となってました。
新しいカーネルをインストールすると0番目のエントリに追加されるので、
GRUB_DEFAULT=0となっているシステムでは新しいカーネルで起動するようになる、
そうでないシステムでは手動で設定する必要がある、
ということなのかなあと思います。
「rm してから ln を実行する」で合っていると思います。
ちなみにシンボリックリンクがある状態で(rmを実行せず)ln 実行したら、ちゃんと怒られました。
# ls /etc/systemd/system/default.target
/etc/systemd/system/default.target
# ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target
ln: failed to create symbolic link '/etc/systemd/system/default.target': File exists
パッケージ名を指定するのは -i または --install の時だけですね。
インストールする前に指定する場合は パッケージファイル名
インストールした後に指定する場合は パッケージ名
と覚えるといいと思います。
インストールのときは、インストールするためのパッケージファイルを
インターネット等から入手してインストールしますので、
"パッケージファイル"としての名前が必要です。
(パッケージ名だけだと「そんなファイルはない」と怒られます)
# dpkg -i sl
dpkg: error: cannot access archive 'sl': No such file or directory
-r や -L などの時は、既にインストールした後なのでパッケージの名称を指定します。
インストール後は「パッケージファイル名」で認識されていませんので、
そんなパッケージはインストールされてないぞと怒られます。
# dpkg -L sl_5.02-1_amd64.deb
dpkg-query: package 'sl_5.02-1_amd64.deb' is not installed