LPIC1-102-memo1
設定ファイル関連/etc/aliases:システム全体のエイリアス、newaliasesで反映~/.forward:ユーザ個別に転送設定LightDM全体の設定ファイル・/etc/lightdm/lightdm.confログイン画面に表示するユーザに関する設定ファイル・/etc/lightdm/users.confxorg.conf・ServerLayout:入出力デバイス・Files:RGBデータベースやフォントの格納場所設定・Module:組み込むモジュール・InputDevice:キーボード、マウスの設定・Monitor:モニタータイプの設定・Device:ビデオカードの設定・Screen:ディスプレイの表示数や画面サイズwやwhoコマンドで参照するバイナリファイル・/var/run/utmpシステムのタイムゾーンを日本(Asia/Tokyo)に設定タイムゾーンの設定方法の1つに環境変数TZを使用する方法がある・export TZ=Asia/Tokyo全ユーザ/etc/bash.bashrc :bash起動時に実行させたい処理(Debian系)/etc/bashrc :bash起動時に実行させたい処理(RedHat系)/etc/profile :環境変数、利用環境に関わるもの各ユーザ個別‾/.bash_profile :環境変数等、ユーザ環境に関わるもの‾/.bash_login :.bash_profileがないときに参照‾/.bash_profile :.bash_profileがないときに参照‾/.bashrc :bash起動時に実行させたい処理‾/.bash_logout :ログアウト時に実行させたい処理LightDM全体の設定ファイル・/etc/lightdm/lightdm.confログイン画面に表示するユーザに関する設定ファイル・/etc/lightdm/users.confネットワーク上にあるリモートホストにグラフィカルログインするプロトコル・XDMCPcronについて・定期的に自動でジョブを実行するにはcronを使用する・デーモン名は「crond」・cronには、ユーザ用と管理者が設定するシステム用の2種類の設定ファイル(crontabファイル)がある・ユーザ用のcrontabファイルは 「/var/spool/cron/ユーザ名」でテキストエディタでは直接編集できないので、cronの設定を行う際は「crontab」コマンドを使用する・システム用のcrontabファイル(/etc/crontab)はviなどのテキストエディタで直接編集できる。ユーザ用のcrontabファイルの書式と異なり、各コマンドの実行ユーザも指定する必要がある○cronとanacroncron・指定したスケジュール時間通りにジョブを実行する・1日に何回でもジョブを実行できる・ユーザごとにスケジュール登録が可能クーロン種別 設定ファイル 内容 編集方法ユーザ用 :/var/spool/cron/ユーザ名 ユーザ用の設定ファイル crontabコマンドシステム用 :/etc/crontab システム用設定ファイル vi等 :/etc/cron.hourly等 実行するスクリプトを置く :/etc/cron.d サービス個別のジョブ実行設定ファイルanacron 特徴・指定したスケジュール時間にランダム時間をプラスしてジョブを実行するanacron は、ランダムな遅延を挿入するため、複数のサーバで同時に実行したくない場合に使うと良いと考えられる。例えば、複数のサーバでログを収集し、1つのサーバに集約したり、負荷の高いサービスを複数サーバで提供していたりする場合・指定した時刻に実行できなかった場合、実行できなかったジョブを再実行する機能がある・1日に最高1回しかジョブを実行できない・管理者のみスケジュール登録が可能・実行履歴を管理・日単位で実行タイミングを指定するsystemdの動作するシステムで、ユニットが出力するログを扱うデーモンプログラム・systemd-journaldlinuxで通常使われるSSHのオープンソース・OpenSSHxinetdの設定項目bind/interface :サービスのインタフェースのIPアドレスdisable :サービス無効化の設定instances :サーバプログラムの最大起動プロセス数log_type :ログの出力先no_access :サービスへのアクセス拒否リストonly_from :サービスへのアクセス許可リストserver :サーバプログラムの絶対パスserver_args :サーバプログラム起動時に指定する引数socket_type :サービスの接続タイプuser :サーバを起動するユーザwait :接続処理を待ち合わせるかの設定inetdの設定ファイルは「/etc/inetd.conf」で、ここへinetdを介して起動させるサービスを記述する(1)サービス (2)ソケットタイプ (3)プロトコル (4)ウエイト (5)ユーザー名 (6)プログラム(デーモン)のパス (7)プログラム(デーモン)名と引数ftp stream tcp nowait root /usr/libexec/ftpd ftpd -lsystemd→ログ送付→systemd-journald→バイナリ形式で書き込む←これを読むためにjournalctlが必要※バイナリファイルは/run/log/journal配下にシステム固有のディレクトリを作成し、system.journalというファイルに記録する※systemd-journald デーモンの設定ファイル/etc/systemd/journald.confsendmail古くから使われる標準のMTA。様々なメール転送方式に対応できる。一つのプログラムで全ての機能を実行できる反面、設定は難解で専用のツールを利用する。セキュリティ面での問題がたびたび発生したり、処理速度が遅い等の問題も有る。システム全体の環境設定・/etc/bashrc・/etc/bash.bashrc・/etc/profile各ユーザ個別・‾/.bash_profile・‾/.bash_login・‾/.profile・‾/.bashrc・‾/.bash_logoutuseraddコマンドでオプションを指定せずにユーザを作成する際、使用されるデフォルトの値が格納されているファイル・/etc/default/useradd印刷を受け付けるポート設定・cat /etc/cups/cupsd.conf「/etc/resolv.conf」で自ドメイン(ping-t.com)を指定する際の書式・domain ping-t.comタイムゾーンの情報がバイナリファイルとして格納されているディレクトリ・/usr/share/zoneinfo/スーパーサーバinetdの設定ファイル・/etc/inetd.confX Window Systemにフォントを提供するサービス・xfsTCP/Wrapperでアクセスを許可しないホスト名を記述するファイル・/etc/hosts.denyTCP/Wrapperアクセスを許可するホスト名を記述するファイル・/etc/hosts.allowX Window Systemの設定ファイル・/etc/X11/xorg.conf/etc/X11/xorg.confのServerLayoutセクション・入出力デバイスに関する設定を行うUNIXの印刷サービスCUPSに関する設定ファイル・/etc/cups//etc/resolv.confで名前解決に利用するDNSサーバや、自身のドメイン名を指定nameserver:DNSサーバのIPアドレスsearch:ドメイン名検索リストを指定します。# cat /etc/resolv.conf nameserver 192.168.1.1 search example.com example.net example.edulpic1@lpic1-Virtual-Machine:~$ cat /etc/grouproot:x:0:daemon:x:1:グループ名:グループパスワード:GID:グループのメンバーリストグループのメンバーリストには、サブグループとして所属しているユーザが設定されるanacron のジョブ実行時間帯を設定「START_HOURS_RANGE」開始時刻-終了時刻(開始時刻 < 終了時刻)・START_HOURS_RANGE=0-4rsyslogの設定ファイル・/etc/rsyslog.confxorg.confの設定にあるInputDeviceセクションの内容・キーボードやマウスなどの入力デバイスの設定を行う/etc/hostsの正しいエントリ・112.78.124.10 ping-t.com・192.168.1.100 fs.localhost.localdomain FileServer・fc00:192:168:1::100 FileServer書式IPアドレス ホスト名 ホスト名(別名)「pool.ntp.org」プロジェクトは、複数のNTPサーバをまとめて仮想的なNTPサーバとして運用し負荷分散の技術の一つである「DNSラウンドロビン」方式で時刻を提供case文書式case 値 in パターン1) 実行文1;; パターン2) 実行文2;;esacfor文書式for 変数名 in 値のリストdo 実行分donefor INT in seq 5/ seq 1 5do 命令文doneseqの書式seq 開始する数値 終了する数値seq 終了する数値(1から開始)seq 開始する数値 増加する値 終了する数値<sample.sh>#! /bin/bashecho $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11./sample.sh a b c d e f g h i j k実行結果a,b,c,d,e,f,g,h,i,a0,a1※10番目以降の引数を参照する時は${10}のように「{}」で囲う必要がある囲わない場合、「$1 + "0"」のように誤った解釈をする次世代のsyslog・rsyslog・syslog-ng/etc/passwdには暗号化されたパスワードが記録されず、ユーザー名の次の項目は「x」表示になる「/etc/ntp.conf」ファイルの書き方・server 0.centos.pool.ntp.orgユーザにGUI環境のログインを提供、ログイン認証、ログイン後のデスクトップ環境の準備するプログラム・ディスプレイマネージャキーボードやディスプレイなどのハードウェアを管理するソフトウェア・XサーバEmacsにスクリーンリーダーを追加するソフトウェア・emacspeakxinetdの「wait」・マルチスレッドのサーバプログラムの場合はnoを設定する・シングルスレッドのサーバプログラムの場合はyesを設定するxinetdで、サービスを利用しない場合disable = yesログローテーション機能を更新・/etc/logrotate.confエイリアスの設定手順1./etc/aliasesに別名を記載2.newaliases コマンドを実行して、sendmailに反映systemd-journaldの設定ファイル・/etc/systemd/journald.conf/etc/crontab:システムに定期的に実行させたいジョブを設定するファイル/etc/X11/xorg.confの書式Section "セクション名" 中身EndSection/etc/X11/xorg.conf」のModuleセクション・Xサーバが組み込むモジュールを指定する/etc/hostname :ホスト名を指定lpic1@lpic1-Virtual-Machine:~$ cat /etc/hostnamelpic1-Virtual-Machine/etc/sysconfig/network :ホスト名、デフォゲ/etc/hosts :IPと名前lpic1@lpic1-Virtual-Machine:~$ cat /etc/hosts127.0.0.1 localhost127.0.1.1 lpic1-Virtual-Machine/etc/nsswitch.conf :名前解決の遠い合わせ順序lpic1@lpic1-Virtual-Machine:~$ cat /etc/nsswitch.conf# /etc/nsswitch.conf## Example configuration of GNU Name Service Switch functionality.# If you have the `glibc-doc-reference' and `info' packages installed, try:# `info libc "Name Service Switch"' for information about this file.passwd: compat systemdgroup: compat systemdshadow: compatgshadow: fileshosts: files mdns4_minimal [NOTFOUND=return] dns myhostnamenetworks: filesprotocols: db filesservices: db filesethers: db filesrpc: db filesnetgroup: nis/etc/host.conf :名前解決の順序指定、古いライブラリlpic1@lpic1-Virtual-Machine:~$ cat /etc/host.conf# The "order" line is only used by old versions of the C library.order hosts,bindmulti on/etc/resolv.conf :ドメイン名、DNS指定lpic1@lpic1-Virtual-Machine:~$ cat /etc/resolv.conf# This file is managed by man:systemd-resolved(8). Do not edit.## This is a dynamic resolv.conf file for connecting local clients to the# internal DNS stub resolver of systemd-resolved. This file lists all# configured search domains.## Run "systemd-resolve --status" to see details about the uplink DNS servers# currently in use.## Third party programs must not access this file directly, but only through the# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,# replace this symlink by a static file or a different symlink.## See man:systemd-resolved.service(8) for details about the supported modes of# operation for /etc/resolv.conf.nameserver 127.0.0.53/etc/services :サービス名とポート番号lpic1@lpic1-Virtual-Machine:~$ cat /etc/services# Network services, Internet style## Note that it is presently the policy of IANA to assign a single well-known# port number for both TCP and UDP; hence, officially ports have two entries# even if the protocol doesn't support UDP operations.## Updated from http://www.iana.org/assignments/port-numbers and other# sources like http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services .# New ports will be added on request if they have been officially assigned# by IANA and used in the real-world or are needed by a debian package.# If you need a huge list of used numbers please install the nmap package.tcpmux 1/tcp # TCP port service multiplexerecho 7/tcpecho 7/udpdiscard 9/tcp sink nulldiscard 9/udp sink nullsystat 11/tcp usersdaytime 13/tcpdaytime 13/udpnetstat 15/tcpqotd 17/tcp quotemsp 18/tcp # message send protocolmsp 18/udpchargen 19/tcp ttytst sourcechargen 19/udp ttytst sourceftp-data 20/tcpftp 21/tcpfsp 21/udp fspdssh 22/tcp # SSH Remote Login ProtocolXフォントサーバ(xfs)の設定ファイル・/etc/X11/fs/configsystemdの動作するシステムではsystemd-journaldデーモンを動作させ、ログの一元管理を行う。systemd-journaldはsystemdから起動したプロセスの標準出力やsyslogへのログメッセージをバイナリ形式で記録する。systemd-journaldが書き込むログファイルはバイナリ形式のため、catコマンドなどで中を表示することはできない。systemd-journaldのログを表示=journalctlsystemdの動作するシステムで、各Unitが出力する表示可能なログをすべて表示・journalctl --full・journalctl -lstartxの流れstartx↓xinit↓~/.xinitrc or /etc/x11/xinit/xinitrc を実行↓GNOME起動シェルでのキーバインドをemacs化・set -o emacs「inetd」や「xinetd」はスーパーサーバと呼ばれ、登録された利用頻度の低いサービスを監視し、リクエストが来た場合にだけ、該当のサービスを実行する。 これにより利用頻度の低いサービス(例えばTELNETやFTPなど)をシステムにデーモンとして常駐させる必要が無くなり、メモリやCPU等のリソースの消費を抑えられる。なお、利用頻度の高いサービス(HTTPなど)は、スーパーサーバを経由せず、システムにデーモンを常駐させておいた方が効率的。・アクセス制御には「TCP Wrapper」を利用する・システムの資源の節約のため、TELNETやFTPなど利用頻度の低いサービスを必要に応じて起動する・設定ファイルは/etc/inetd.confである対話的ログインを禁止する方法・chsh -s /sbin/nologin hoge2・usermod -s /bin/false hoge2inetdからxinetdに変更。編集する必要のあるファイル名・/etc/xinetd.confntpdの設定ファイル・/etc/ntp.confSSHサーバ(sshd)の設定ファイル・/etc/ssh/sshd_configsendmailの受信メールを保存するディレクトリ・/var/spool/mail/lpic1@lpic1-Virtual-Machine:~$ cat /etc/resolv.conf# This file is managed by man:systemd-resolved(8). Do not edit.## This is a dynamic resolv.conf file for connecting local clients to the# internal DNS stub resolver of systemd-resolved. This file lists all# configured search domains.## Run "systemd-resolve --status" to see details about the uplink DNS servers# currently in use.## Third party programs must not access this file directly, but only through the# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,# replace this symlink by a static file or a different symlink.## See man:systemd-resolved.service(8) for details about the supported modes of# operation for /etc/resolv.conf.nameserver 127.0.0.53「/etc/resolv.conf」で名前解決に利用するDNSサーバーや、自身のドメイン名を指定TCP/Wrapperの制御ファイル・hosts.denyで拒否されていない対象ホストは、全て許可される・先にチェックされるのはhosts.allowであるTCP/Wrapper(tcpd)の制御ファイルは以下の順で評価される。1.「/etc/hosts.allow」に記載されているホストは許可。2.「/etc/hosts.allow」に記載されていなければ、「/etc/hosts.deny」を参照し、記載されているホストは拒否。3.両方のファイルに記載の無いホストは全て許可。両方のファイルに記載が無いホストは全て許可されてしまうため、通常は「/etc/hosts.deny」に「ALL:ALL」と記載(全てのサービスとホストを拒否)しておき、許可したいサービスとホストだけ、「/etc/hosts.allow」に記載しておくという運用を行う。ログインシェルの起動時に実行されるファイルのうち、システム全体の環境設定をするもの・/etc/bash.bashrc・/etc/profile・/etc/bashrccat /etc/host.conf# The "order" line is only used by old versions of the C library.order hosts,bindmulti on「/etc/passwd」のパーミッション・-rw-r--r--グループに関する情報が格納されているファイル・/etc/groupシステムで使用するタイムゾーンを指定するテキストファイル・/etc/timezonelastコマンドで参照するファイル・/var/log/wtmpcronの利用を許可するユーザを記述するファイル・/etc/cron.allowホスト名を恒久的に変更するときの設定ファイル・/etc/sysconfig/network(RedHat系)・/etc/hostname(Debian系)LinuxのディストリビューションRed Hat系・Red Hat・Cent OS・FedoraDebian系・Ubuntu「/etc/X11/xorg.conf」の設定で、同じサーバ上にあるXフォントサーバを指定・FontPath "unix/:-1"・FontPath "unix/:7100"定義されているシェル関数を確認するためのコマンドset=(同義)=declare -ffuserコマンドのオプション-k:プロセス修了-m:マウントされたファイルシステム指定-n:検索する名前空間を指定-u:検索結果にユーザ名追加-v:verbose選択したXウィンドウの情報を表示するコマンドxwininfo/etc/hostnameファイルホスト名のみを記述現在のロケールの設定が確認できるコマンド・localeデフォルトのログインシェルの起動時に実行されるファイルのうち、ユーザー個別の環境設定をするもの・~/.bashrc・~/.bash_profilehostコマンドでDNSサーバに登録されている、「yahoo.co.jp」のメールサーバの情報を確認Virtual-Machine:~$ host -t mx yahoo.co.jpyahoo.co.jp mail is handled by 10 mx1.mail.yahoo.co.jp.yahoo.co.jp mail is handled by 10 mx5.mail.yahoo.co.jp.yahoo.co.jp mail is handled by 10 mx3.mail.yahoo.co.jp.yahoo.co.jp mail is handled by 10 mx2.mail.yahoo.co.jp.タイムゾーンの設定:エポック時間からローカルの時間に変換するときに参照する国や地域ごとの標準時間帯をタイムゾーンと言うタイムゾーン毎に協定世界時(Coordinated Universal Time: UTC)からの時差や、夏時間の実施期間などが決められているLinuxの内部では、UTCからの経過秒数であるエポック(epoch)時間で時間を管理しており、設定されたタイムゾーンにしたがってエポック時間から変換して日付時刻を扱う。なお、エポック時間はUNIX時間(Unix Timestamp)とも呼ばれる一般ユーザーが自分に権限委譲されているコマンドを調べたい時に使うコマンド・sudo -llpic1@lpic1-Virtual-Machine:~$ ip a sh1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:15:5d:01:01:01 brd ff:ff:ff:ff:ff:ff inet 192.168.1.2/24 brd 192.168.1.255 scope global noprefixroute eth0 valid_lft forever preferred_lft forever inet6 fe80::1116:6e2d:2295:70fb/64 scope link noprefixroute valid_lft forever preferred_lft foreverシステムの負荷の少ないタイミングで1回だけコマンドを自動実行するコマンド・batchポート25を使っているプロセスを確認するコマンド・lsof -i:25リダイレクト「>」によるファイルの上書きを禁止するコマンド・set -o noclobberハードウェアクロックの時刻を表示・hwclock -rクライアントがSSH接続を行う際に必要になるサーバの公開鍵が登録されるファイル・~/.ssh/known_hosts現在のロケールの設定確認コマンド・localeIPv6ユニキャストアドレスの後半64ビット・インタフェース識別子ディスプレイの色深度を表示するコマンド・xdpyinfo・xwininfo/etc/inetd.confの変更内容を反映させるコマンド・killall -HUP inetd・kill -HUP inetdのPID・/etc/init.d/inetd restart定義されているシェル関数を確認するためのコマンドset=(同義)=declare -ffuserコマンドのオプション-k:プロセス修了-m:マウントされたファイルシステム指定-n:検索する名前空間を指定-u:検索結果にユーザ名追加-v:verbosesshコマンドの-Xオプション・DISPLAY環境変数が自動で設定されるSSH関連ファイル |SSHクライアント |SSHサーバ--------------------------------------------------------------設定ファイル |/etc/ssh/ssh_config |/etc/ssh/sshd_config秘密鍵 |‾/.ssh/id_rsa |/etc/ssh/ssh_host_rsa_key公開鍵 |‾/.ssh/id_rsa.pub |/etc/ssh/ssh_host_rsa_key.pub認証鍵リスト |‾/.ssh/known_hosts |/etc/ssh/authorized_keyshwclock オプション・-r:ハードウェアクロックを表示・-s|--hctosys:ハードウェアクロック→システムクロックへ反映・-r|--systohc:システムクロック→ハードウェアクロックへ反映指定したコマンドを既存のジョブ(シェルのプロセス)に置き換えて実行するコマンド・execjournalctl コマンドでのログ出力において、プロセスID:100からのログのみを出力・journalctl _PID=100環境変数CDIR[変数名]を削除・unset CDIR[変数名]fuserコマンドのオプション-k:プロセスの停止 kill-m:マウントされたファイルシステム指定-n:検索する名前空間指定-u:検索結果にユーザ名追加-v:vervoseDebian系ディストリビューションでユーザを新規作成する際、ホームディレクトリも作成し、「/etc/skel」 以下のファイルがホームディレクトリにコピーされるようにする・useradd -m「hogescript」スクリプトを9時から12時まで1時間ごとに実行したい。crontabファイルの適切な設定・0 9,10,11,12 * * * hogescript・0 9-12 * * * hogescriptパスワードの有効期限に関する設定が可能なコマンド・passwd・usermod・chage設定されている全てのシェル変数を一覧表示するコマンド・setユーザが設定したcronジョブを一覧表示させるコマンド・crontab -l「/etc/shadow」ファイルのパーミッション・400・000・600NTPサーバ「pool.ntp.org」から現在時刻を取得するコマンド・ntpdate pool.ntp.orgSSH関連sshコマンドで接続時にユーザー名を指定・「-o User=ユーザ名」オプションを指定する・「-l ユーザ名」オプションを指定する・「ユーザ名@ホスト名」の形式で接続先ホストを指定するgpg --gen-key「--gen-key」オプションを使用すると、「~/.gnupg/」ディレクトリの下に、公開鍵暗号方式の秘密鍵と公開鍵のキーペアなどが作成される。SSH関連のコンフィグファイル・/etc/ssh/ssh_config:クライアント・/etc/ssh/sshd_config:サーバGnuPGに関連するファイルの置かれるディレクトリ・~/.gnupg/SUIDとSGIDのいずれかが設定されたファイルやディレクトリをすべて把握するコマンド・find / -perm +6000コマンド直近ログインしたユーザの一覧を表示するコマンド・lastlpic1@lpic1-Virtual-Machine:~$ ip link show1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:002: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 00:15:5d:01:01:01 brd ff:ff:ff:ff:ff:fflpic1@lpic1-Virtual-Machine:~$ ip a sh1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:15:5d:01:01:01 brd ff:ff:ff:ff:ff:ff inet 192.168.1.2/24 brd 192.168.1.255 scope global noprefixroute eth0 valid_lft forever preferred_lft forever inet6 fe80::1116:6e2d:2295:70fb/64 scope link noprefixroute valid_lft forever preferred_lft foreverpic1@lpic1-Virtual-Machine:~$ chage -l lpic1最終パスワード変更日 : 6月 30, 2018パスワード期限: : なしパスワード無効化中 : なしアカウント期限切れ : なしパスワードが変更できるまでの最短日数 : 0パスワードを変更しなくてよい最長日数 : 99999パスワード期限が切れる前に警告される日数 : 7ディスクの使用状況を確認・du(DiskUsage)ディスクの空き状況を確認・df(DiskFree)ユーザから受け取った公開鍵を使ってファイルを暗号化・gpg -eXサーバへのアクセスコントロールコマンド・xhostsetコマンドを引数無しで実行して表示・シェル関数・環境変数・シェル変数「/etc/group」ファイルを4部印刷・lpr -#4 /etc/groupプロセスを検索し強制終了・fuserユーザアカウントを新規作成、プライマリグループを指定・useradd -g「testuser」のホームディレクトリを「/home/hogehoge」に変更・usermod -d /home/hogehoge testuserlpic1@lpic1-Virtual-Machine:~$ ip link show1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:002: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 00:15:5d:01:01:01 brd ff:ff:ff:ff:ff:ffユーザのプライマリグループを変更・usermod -g※usermod -Gはプライマリ以外ルートグループの所有権を持ち、かつSGIDが設定されたファイルやディレクトリをすべて把握lpic1@lpic1-Virtual-Machine:~$ sudo find / -perm -g+s -gid 0/snap/core/4917/usr/lib/snapd/snap-confinelpic1@lpic1-Virtual-Machine:~$ sudo find / -perm -2000 -gid 0/snap/core/4917/usr/lib/snapd/snap-confineSGIDが設定されたモード数字表現:2000記号表現:「g+s」rootはユーザID、グループID「0」function:bash上で独自のシェル関数を作成NetcatコマンドをUDPで動作させるオプション・-ulpic1@lpic1-Virtual-Machine:~$ useradd -DGROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/shSKEL=/etc/skelCREATE_MAIL_SPOOL=no別名(エイリアス)を設定することでメールを転送する→「/etc/aliases」を編集編集後、「newaliases」コマンドを実行して、設定を反映させるファイルやディレクトリのパーミッションを変更するコマンド・chmodファイルのアクセス権パーミッションとは、ファイルやディレクトリに対する権限権限には「読み取り権」「書き込み権」「実行権」の3種類があるこれらの権限は、「所有ユーザ」(ファイルの所有ユーザ)、「所有グループ」(ファイルの所有グループ)、「その他のユーザ」(所有ユーザ、所有グループ以外のユーザ)のそれぞれに対して設定される。パーミッションの表現方法には「記号表現」と「数値表現」の2つがある。 所有者/所有G/その他記号表現:rwx rwx rwx数値表現:7 7 7 ※数値は読み:4、書き:2、実行:1デバイス(パーティション)の空き容量を確認することができるコマンド・dfinodeの使用状況を確認・df -i# mkfs /dev/hda1「/dev/hda1」にext2ファイルシステムが作成される「test.txt」ファイル内の全ての「a」を「A」に、また「b」を「B」に置換・sed y/ab/AB/ test.txt・sed -e s/a/A/g -e s/b/B/g test.txtnetstatコマンド※可能・ルーティングテーブルを表示する・有効なネットワーク接続を表示する・インターフェースの統計情報を表示する・開いているソケットの情報を表示する※不可・ブロードキャストを利用するサービスについて表示する・ネットワークインターフェースにIPアドレスを設定するファイアウォール機能のテスト用に、Netcatを使って簡易サーバを用意。・nc -l 8000ハードウェアクロックの時刻をシステムクロックに反映させるコマンド・hwclock --hctosys・hwclock -s「useradd」コマンドでユーザを新規作成する際、ホームディレクトリが存在しない場合には、ホームディレクトリが作成され、「/etc/skel」ディレクトリ以下のファイルが、雛形(スケルトン)としてホームディレクトリにコピーされる。設定されている環境変数の値を一時的に削除してコマンド実行・env -u コマンドntpqコマンドの-iオプション・対話モードで起動する既に存在するグループアカウント「ProjectA」のグループ名を「ProjectB」へ変更・groupmod -n ProjectB ProjectAインターフェイスeth1を有効化・ifup eth1・ifconfig eth1 upユーザアカウントのロックを解除・usermod -U・passwd -uCUPSが採用するプロトコルで、ネットワーク上のプリンタをサポートするもの・IPPCUPS(Common UNIX Printing System)は、「lpd」に代わる新しい印刷システム。CUPSはネットワーク上のプリンタをサポートするプロトコル「IPP(Internet Printing Protocol)」を採用しています。TCP/631印刷システムCUPSのデーモン名・cupsdユーザアカウントを新規作成する際にプライマリグループ以外に参加するグループ(サブグループ)を指定・useradd -Gディスプレイの各種情報を表示するコマンド・xdpyinfolpic1@lpic1-Virtual-Machine:~$ ip route showdefault via 192.168.1.254 dev eth0 proto static metric 100169.254.0.0/16 dev eth0 scope link metric 1000192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2 metric 100lpic1@lpic1-Virtual-Machine:~$ set -oallexport offbraceexpand onemacs onerrexit offdateコマンド・システムクロックを設定する・システムクロックを表示する・任意の形式で日付時刻を表示するVirtual-Machine:~$ host -v yhoo.co.jpTrying "yhoo.co.jp"Host yhoo.co.jp not found: 3(NXDOMAIN)Received 75 bytes from 127.0.1.1#53 in 59 msReceived 75 bytes from 127.0.1.1#53 in 59 mspmda@pmda-Virtual-Machine:~$ host -v yahoo.co.jpTrying "yahoo.co.jp";; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58853;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:;yahoo.co.jp. IN A;; ANSWER SECTION:yahoo.co.jp. 94 IN A 182.22.59.229yahoo.co.jp. 94 IN A 183.79.135.206Received 61 bytes from 127.0.1.1#53 in 20 msTrying "yahoo.co.jp";; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21217;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0;; QUESTION SECTION:;yahoo.co.jp. IN AAAA;; AUTHORITY SECTION:yahoo.co.jp. 176 IN SOA yahoo.co.jp. postmaster.yahoo.co.jp. 2018062219 1800 900 86400 900Received 76 bytes from 127.0.1.1#53 in 32 msTrying "yahoo.co.jp";; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17244;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:;yahoo.co.jp. IN MX;; ANSWER SECTION:yahoo.co.jp. 457 IN MX 10 mx2.mail.yahoo.co.jp.yahoo.co.jp. 457 IN MX 10 mx3.mail.yahoo.co.jp.yahoo.co.jp. 457 IN MX 10 mx5.mail.yahoo.co.jp.yahoo.co.jp. 457 IN MX 10 mx1.mail.yahoo.co.jp.Received 114 bytes from 127.0.1.1#53 in 19 msエイリアス機能利用「rm」と入力した場合に「rm -i」コマンド(対話式の削除)が実行されるようにしたい。・alias rm='rm -i'登録したエイリアス「rm='rm -i'」を一時的に無効化してコマンドを実行$ \rmalian:現在登録されているaliasを表示unalias rmで削除bashのログイン時、環境設定ファイルを読み込む順番1.「/etc/profile」2.「~/.bash_profile」3.「~/.bashrc」4.「/etc/bashrc」lsofコマンドでは、特定のポートを使用しているプロセスなど、ローカルホストの様々なプロセス情報を表示させる・lsof -i:22「/etc/resolv.conf」でDNSサーバ(192.168.1.1)を指定する際の書式・nameserver 192.168.1.1アクセシビリティのオンスクリーンキーボードを提供するソフトウェア・GOK Gnome Onscreen Keyboardbashで使用できるファイル形式に関する条件式「-r」「-w」「-x」についての説明・「-w」はパスが存在し、かつそのパスへの書き込みが可能であれば真となる・「-r」はパスが存在し、かつそのパスが読み取り可能であれば真となる・「-x」はパスが存在し、かつそのパスの実行権限があれば真となる・それぞれの条件式は「-rwx」というように組み合わせられない「/etc/cron.allow」と「/etc/cron.deny」ファイルが存在しない場合、rootユーザのみが利用できる現在ログインしているユーザーの情報を表示させるコマンド・who・wVirtual-Machine:~$ w 21:02:44 up 23:01, 2 users, load average: 0.20, 0.18, 0.22USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATaaa tty7 :0 17 6月18 6days 11:11 0.34s /sbin/upstart --useraaa pts/5 192.168.1.1 17:09 2.00s 0.40s 0.00s wVirtual-Machine:~$ whoaaa tty7 2018-06-17 15:23 (:0)aaa pts/5 2018-06-23 17:09 (192.168.1.1)スクリプトファイルの1行目の「#!」とバイナリファイルへのパスの記載:インタープリタSQL関連・SELECT project,COUNT(*) FROM member GROUP BY project;SQL関連・SELECT * FROM member JOIN city ON member.birth = city.bid;・SELECT * FROM member,city WHERE member.birth = city.bid;書式SELECT 列名 FROM テーブル1 JOIN テーブル2 ON テーブル1.列名 = テーブル2.列名;SELECT 列名 FROM テーブル1,テーブル2 WHERE テーブル1.列名 = テーブル2.列名;SELECT グループ化する列,集計関数 FROM テーブル名 GROUP BY グループ化する列;INSERT INTO テーブル名 (列名1,列名2 …) VALUES ( 値1,値2 …);SELECT * FROM member WHERE age >= 19 AND skill <> 102;UPDATE member SET skill=202,project='D' WHERE id=5;SELECT project,AVG(age) FROM member GROUP BY project;DELETE FROM テーブル名 WHERE 検索条件;UPDATE テーブル名 SET 列名1=値1,列名2=値2 ... WHERE 検索条件;SELECT * FROM member WHERE project = 'A' OR project = 'C';SELECT project,AVG(age) FROM member GROUP BY project;journalctlコマンドのオプションで、dmesgと同じ情報を得られるオプション・-kポート番号とサービス名の対応を設定するファイル名・/etc/servicesマウスキーの説明・マウスデバイスの代わりにテンキーを使ってマウスポインタを操作するLEDの点灯状態が視認できないため、CapsLockキーのキータッチをビープ音で知りたい・トグルキー2つ以上のキーを同時に押せない場合に使用するアクセシビリティ・スティッキーキーDebian系の標準のMTA。設定が平易。日本語での情報は比較的少ない。設定ファイルはバージョンによって違う。・exim7ビットの文字コードで、128種類の文字を表現できる文字コード・ASCIIpingコマンドの-nオプション・結果表示時の形式をホスト名ではなくアドレスで表示するルーティングテーブル経路追加と削除・route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.1.1・ip route del 192.168.3.0/26 via 192.168.2.101 dev eth1・ip route add 192.168.3.0/24 via 192.168.1.1環境変数のうち、コマンドやプログラムを検索するディレクトリのリストが格納されているもの・PATHVirtual-Machine:~$ cat /etc/group | grep adaemon:x:1:adm:x:4:syslog.aaaamail:x:8:ntpデーモンの時刻同期状況を表示するコマンド・ntpq -pntpq の見方 '*' : 参照同期中であると宣言されたサーバ(sys.peer) '#' : 参照可能だが, 同期距離が遠いサーバ(selected) '+' : 接続テストに合格し, いつでも参照可能なサーバ. 参照リストにある(好ましい)サーバ(candidat) ' ' : 同期を試み中, もしくはレスポンスがないため, 参照していないサーバ(excess) 'x' : falseticker検査で, 参照リストから外れたサーバ(falsetick) '-' : クラスタリング検査で, 参照リストから外れたサーバ(outlyer) '.' : 参照リストから外れたサーバ(excess) 'o' : 参照同期中であると宣言されたサーバ(同期はPPS信号から間接的に行なう。)(pxinetdを使ったシステムで、サーバリソースの枯渇を防ぐためにデーモンの同時最大起動プロセス数を指定・instances利用できる仮想メモリのサイズを制限するコマンド・ulimit -vインターフェースeth1にIPアドレス192.168.1.2、サブネットマスク255.255.255.0を割り当てる。・ifconfig eth1 192.168.1.2 netmask 255.255.255.0Linuxで標準的に使用されているX Window Systemの設定ファイルは次のうちどれか。・xorg.confjournalctlコマンドでログをリアルタイムに表示・journalctl -f・journalctl --follow不正プログラムによって、キー操作が/tmp/.keylogに書き込まれていることがわかった。書き込みをしているプログラムのプロセスID、実行ユーザー情報の確認とプロセスの強制終了を同時に行う・fuser -uk /tmp/.keylogユーザアカウントを新規作成する際にコメントを加える・useradd -c「hogescript」スクリプトを日曜の毎時間30分に実行crontabファイルの設定・30 * * * 0 hogescript・30 0-23 * * 7 hogescriptDebian系ディストリビューションでユーザを新規作成する際、ホームディレクトリも作成し、「/etc/skel」 以下のファイルがホームディレクトリにコピーされるようにする。useradd -m設定されている全ての環境変数を一覧表示できるコマンド・printenv・set・envLightDMのログイン画面に表示するユーザを制御するファイル・users.conf通貨の書式を定義するための環境変数・LC_MONETARYlsofコマンドでは、特定のポートを使用しているプロセスなど、ローカルホストの様々なプロセス情報を表示する特定のポート番号を指定する場合は「lsof -i:ポート番号」とするLightDMの主な設定ファイルはどれか・lightdm.conf定期的なジョブの自動実行をサービスごとに定義したファイルを作成以下のディレクトリに配置・/etc/cron.d/Debian系のシステムで全ユーザーのbash起動時に共通の処理を実行させる・/etc/bash.bashrcカーネルからのログメッセージを最初に受け取るデーモン・klogd備考カーネルからのログメッセージはまず klogd に送られ、klogd が syslogd に送信する「/usr/share/zoneinfo/」ディレクトリ以下のバイナリファイルを、「/etc/localtime」にコピーすると、システムで使用するタイムゾーンの指定が可能ロケールに設定できる情報・出力メッセージの言語・日付・時刻の書式・数値の書式・通貨の書式ハードウェアクロック(コンピュータ内蔵の時刻)の情報:hwclockシステムクロック(Linuxカーネルのクロック)の情報:dateXサーバの設定で、「user.example.com」からのアクセスのみ許可・xhost user.example.com・xhost +user.example.comディスプレイ関連のコマンド・xvidtune:ディスプレイの表示位置を調整・xwininfo:選択したXウィンドウの情報を表示・xdpyinfo:ディスプレイの各種情報を表示ネットワーク上にあるリモートホストにグラフィカルログインするプロトコル・XDMCPパス名のワイルドカードによる展開(*や?)を無効に設定・set -o noglobignoreeof:「Ctrl + D」を押してしまった際のログアウト処理を一時的に無効inetdの設定ファイルの記述形式ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l備考:inetdはUNIXシステムで採用されたインターネットサービスを管理するデーモンxinetdの設定ファイルで、サービスの接続タイプを設定する項目・socket_typeシステムのタイムゾーンを日本(Asia/Tokyo)に変更・export TZ=Asia/TokyoLinuxをルータとして使用する場合、異なるネットワーク間でのパケットの転送を許可する必要がある・echo 1 > /proc/sys/net/ipv4/ip_forwardユーザが自分用にコマンドのエイリアスを設定するためのファイル・~/.bashrc対話的ログインを禁止する方法・ログインシェルに/sbin/nologinを設定する・ログインシェルに/bin/falseを設定する「/etc/shadow」ファイルには、暗号化されているパスワード(シャドウパスワード)や、パスワードの有効期限に関する情報が格納されている。「/etc/shadow」ファイルの書式と各項目の説明ユーザ名:パスワード:日数1:日数2:日数3:日数4:日数5:日数6:フラグ・ユーザ名 : 一意のユーザ名(/etc/passwdと同様)・パスワード : 暗号化されたパスワード・日数1 : 1970/1/1から、パスワードが最後に更新された日までの日数・日数2 : パスワードが変更できるようになるまでの日数・日数3 : パスワードを変更しなければならなくなる日までの日数・日数4 : パスワードの有効期限切れる前に警告をだす日数・日数5 : パスワードの有効期限切れからアカウントが使用できなくなるまでの日数・日数6 : 1970/1/1から、アカウントが使用できなくなる日までの日数・フラグ : 未使用「/etc/passwd」ファイルの書式と各項目の説明ユーザ名:パスワード:UID:GID:コメント:ホームディレクトリ:ログインシェル・ユーザ名 : 一意のユーザ名・パスワード : ユーザのパスワード。・UID : ユーザのUID(ユーザID)。UIDはユーザを識別するための一意のID・GID : ユーザのプライマリグループのGID(グループID)。GIDはグループを識別するための一意のID・コメント : ユーザに関する任意のコメント(省略可)・ホームディレクトリ : ユーザのホームディレクトリ・ログインシェル : ユーザのログインシェル(ログイン時に使用されるデフォルトのシェル)システムで使用するタイムゾーンを指定する「/etc/localtime」と「/etc/timezone」ファイルを同時に設定できるコマンドtzconfigタイムゾーンの情報がバイナリファイルとして格納されているディレクトリ/usr/share/zoneinfo//etc/X11/xorg.conf」のセクションのうち、ビデオカードの設定・Device・Monitor・・・モニタータイプの設定ホスト名を一時的に変更=hostname「/etc/hostname」を使用して恒久的に変更することも可能/etc/syslog.conf」ファイルの書式・*.* /dev/console・mail.err /var/log/maillog・*.info;mail.none;syslog.none /var/log/messages・auth.* /var/log/secure/etc/syslog.confで、メールサービスのalert以上のログを、「/var/log/maillog」に出力する・mail.alert /var/log/maillog/etc/resolv.conf:名前解決に利用するDNSサーバーや、自身のドメイン名を指定/etc/nsswitch.conf:名前解決の順番/etc/nsswitch.confの書式hosts:files dns備考:「/etc/nsswitch.conf」ファイルでは、「hosts」の行で名前解決の順番を指定「files」が「/etc/hosts」ファイル、「dns」がDNSサーバを表す。/etc/nsswitch.confの設定内容を確認するコマンド・getent対話型シェルを起動した際に読み込まれるファイル・/etc/bashrc・/.bashrccron関連anacronはcronによるジョブスケジューリングを補完するツールanacronの特徴は以下の通り・日単位でジョブを実行する・実行履歴を管理しており、未実行のジョブを検出できる・デーモン化(バックグラウンド実行)しないため、定期的に実行する必要がある。主にcrondによって実行される。・ジョブ定義ファイルは /etc/anacrontabcronを利用するユーザを制限するには、「/etc/cron.allow」ファイルと「/etc/cron.deny」ファイルを使用する。「/etc/cron.allow」には利用を許可するユーザを、「/etc/cron.deny」ファイルには利用を拒否するユーザを記述する。 各ファイルは以下の順序で評価される。1. 「/etc/cron.allow」ファイルがあれば、記述のあるユーザのみが利用可能2. 「/etc/cron.allow」ファイルがなければ、「/etc/cron.deny」を参照し、そこに記述のないユーザが利用可能3. 両方のファイルがなければ、rootユーザのみが利用可能「/etc/cron.allow」ファイルが存在する場合、「/etc/cron.deny」ファイルの設定は無視される。anacron のジョブ実行定義ファイル・/etc/anacrontabat、batchの利用を許可するユーザを記述するファイル・/etc/at.allowあるユーザが、自分用に環境変数を設定しておきたい時、編集すべきファイル・~/.bash_profileあるコマンドのエイリアスを全ユーザで使用するように設定・/etc/bashrc新規作成・変更した変数を自動的に環境変数としたい。・set -o allexportシェルスクリプト関連if test A (=/!=) B then 実行文 else 実行文fiシェル関連のもの-nt(newer than)と-ot(older than)はファイルの更新日時を比較シェルの特殊変数$#:実行時に指定された引数の数$?:直前に実行されたコマンドの終了ステータス$$:現在のシェルのPID$n:n番目の引数条件文にはtestコマンドを使用する。testコマンドの書式は以下の通り。-d:ディレクトリなら真文字列の比較・!=数値の比較・-eq・-le・-neGNOME標準のディスプレイマネージャ・GDMコマンド関連「/etc/shadow」ファイルに記載された、パスワードの有効期限に関する情報を変更・chagereadコマンドを実行するとキーボードからの入力待ち状態になる。at [オプション] [日時] ※日時は基本的にHH:MMの形式で指定journalctlコマンドで前回の起動からシャットダウンまでのログを出力・journalctl -b -1・/var/log/journal ディレクトリが存在するystemdの動作するシステムで、sshd.serviceユニットからのログのみを出力・journalctl _SYSTEMD_UNIT=sshd.service・journalctl -u sshd.serviceインターフェイスeth1を一時的に停止・ifconfig eth1 down・ifdown eth1手動でメッセージをsyslogdに送る→loggerjournalctlコマンドでのログ出力において、プロセスID:100からのログのみを出力・journalctl _PID=100systemdの動作するシステムで、各Unitが出力するログを参照・journalctlユーザー「user1」は管理者から権限を委譲されたrebootコマンドを実行する・sudo /sbin/rebootユーザやシェルが利用できるリソースの制限を設定したり表示するコマンド・ulimitシェル変数CDIRを環境変数として登録するためのコマンド・export CDIR備考シェル変数を環境変数として設定するには「export」コマンドを使用標準入力からデータを読み取り、変数「KEY」に代入するコマンド・read備考「read」コマンドは、標準入力から、またはリダイレクションによるテキストファイルなどからデータを読み取り、それを変数に代入する。ネットワーク関連のコマンドtraceroutetracepathfuserコマンドで、リソースを使用中のプロセスの実行ユーザーを特定-v:Verbose、詳細な情報を表示-u:検索結果にユーザ名追加ユーザのUID(ユーザID)や、所属するグループのGID(グループID)を確認するコマンド・id備考:groupsはユーザの所属するグループを表示ユーザ「test」の所属する全てのグループのGIDを確認するコマンド・id -G test-G:所属するすべてのグループのGIDを表示-g:プライマリのグループのみGIDを表示-u:UIDを表示予約されている1回限りのジョブスケジュールを一覧で表示するコマンド・at -l・atqアカウント「user1」のパスワードの有効期限が切れる2週間前に、期限切れの警告を出すコマンドchage -W 14 user1 W:Warningユーザ「user1」のパスワードをいつでも変更できるようにするコマンドchage -m 0 user1備考m:minimum・・・パスワードが変更できる最小日数を指定M:Max・・・パスワードが有効な最大日数を指定E:Expire・・・期限付きのアカウントI:Inactive・・・パスワード期限後、ロックされるまでの日数iconv [オプション] [入力ファイル]-l:扱える文字コードを表示-f:変換前の文字コード(from)-t:変換後の文字コード(To)☆印刷関連印刷関連のコマンドlpr:印刷ジョブを生成しキューに登録lprm:プリントキューのジョブ削除ipq:プリントキューのジョブ表示PrinterBが紙づまりを起こした。印刷ジョブをいったんすべて削除・lprm -PPrinterB -SQL関連SELECT 列名 FROM テーブル名 ORDER BY 列名 [順序指定];・SELECT * FROM member ORDER BY age DESC;順序指定・ASC(ASCending order:昇順)・DESC(DESCending order:降順)・SELECT project,AVG(age) FROM member GROUP BY project;メール関連MTAとしてPostfixやeximが動作しているシステムで以下のコマンドを実行すると入力待ち状態になる$ sendmail備考古くからあるMTAのsendmailでは、メール送信やMTAの制御のためにsendmailコマンドが用意されていた。sendmailコマンドは引数無しで単独で実行すると、標準入力からメールのデータを受け取り、.(ピリオド)のみの行を受け取った時点でメールの送信を行う。☆SSH関連「ssh-keygen」コマンドで鍵を作成する際、パスフレーズの入力が求められる。⇒忘れてしまった場合、パスフレーズを表示、削除するコマンドやオプションは存在しない。⇒再度「ssh-keygen」コマンドでキーを作成し、その際にパスフレーズを入力し直す。送られてきた暗号化ファイル「hogehoge.txt.gpg」を自分の秘密鍵を使用して復号化・gpg hogehoge.txt.gpggpgで暗号化に使用する公開鍵を「pubkey」というファイルに出力するオプション・--exportネットワーク関連デフォルトゲートウェイの設定確認・ip route show・netstat -r・routeポートの割り当てポート番号は0~65535番まである。主要なサービスのポート番号はウェルノウンポート(0~1023番)として予約されている。これらの使用にはルート権限が必要であり、ユーザー権限では使えない。ユーザ権限で使用可能なのは1024から。Well known:0-1023Registerd:1024-49151Dynamic:49152-65535所定の時間押さなければ、キーが繰り返さないようにするアクセシビリティ・リピートキーバウンスキー・同じキー入力は一定時間無視するマウスデバイスを操作できない人が使用するアクセシビリティ・マウスキー2つ以上のキーを同時に押せないユーザ向け・スティッキーキースティッキーキー・修飾キー(Shift、Ctrl、Altキーなど)を押した後に、 キー入力を続けることで同時押し操作を可能にするSUIDが設定されているファイルが増えていないかを確認する為のコマンド(find / -perm -u+s)を、毎月20日の23時50分に自動で実行crontabファイルの設定・50 23 20 * * root find / -perm -u+scrontabファイルの書式[分] [時] [日] [月] [曜日] [実行ユーザ名(システム用設定ファイルでのみ指定)] [コマンド]※Set User IDとは「誰がそのファイルを実行しても、セットされたユーザで実行される」というもの。passwdコマンドなどは所有者がrootになっておりSUIDが指定されている。⇒どのユーザがpasswdコマンドを実行しても必ずrootユーザが実行した状態となる。システムでスーパーサーバinetdを使用している。ホストのセキュリティ対策の基本となる、サービスのアクセス制御を行うプログラムの名称・TCP/Wrapperスーパーサーバinetdはアクセス制御を行う際、TCP/Wrapperを利用する。TCP/Wrapperは「tcpd」というデーモン名で起動する。tracepathコマンド・宛先までの経路が確認できる・IPv4に対応している・宛先までのPathMTUが確認できるスクリーンリーダー:スクリーンに表示された文字を読みあげる「/etc/nsswitch.conf」GNU Cライブラリが名前解決やサービス名解決を行う際の問い合わせ順序を指定するXクライアント上で実行したプログラムをXサーバのディスプレイに表示させる・Xサーバ側xhostコマンドで、「172.16.0.4」からのアクセスを許可$ xhost +172.16.0.4・Xクライアント側環境変数DISPLAYで表示先(Xサーバ)を指定し、Xサーバに表示させたいプログラム(xeyes)を実行。$ DISPLAY=172.16.0.1:0$ export DISPLAY$ xeyes &xinetdの設定ファイルで、サービスを提供するインタフェースのIPアドレスを設定する項目・bind・interface・SELECT * FROM member JOIN city ON member.birth = city.bid;・SELECT * FROM member,city WHERE member.birth = city.bid;・SELECT project,COUNT(*) FROM member GROUP BY project;・SELECT project,MAX(age) FROM member GROUP BY project;キーボードアクセシビリティを提供するソフトウェア・AccessXグループアカウントを削除するコマンド・groupdelgpgでファイルの暗号化を行うため、受け取った公開鍵「pubkey」をインポートするオプション・--importSSHポートフォワーディングを使って、ローカルのポート8000に接続するとSSHサーバ(アドレス:ssh-server)内のWebサーバに接続するようにトンネルを用意する・ssh -L 8000:localhost(SSHサーバ、リモート):80 user@ssh-serverSSHクライアントで公開鍵と秘密鍵のペアを作成するコマンドは次のうちどれか。・ssh-keygenping-t.comにIPv6で疎通可能かを確認・ping6 -n ping-t.com現在のシステムで使用できるロケールを確認できるコマンド・locale -aユーザuser1を削除する際、ホームディレクトリも一緒に削除したい。アカウントが使用中であっても削除する・userdel -rf user1ユーザーのプライマリグループを指定しているファイル・/etc/passwdxinetdのアクセス制御に使われる設定項目・no_access・only_fromユーザアカウントを新規作成する際にログインシェルを指定・useradd -s「/var/log/messages」ファイルをデフォルトのプリンタで印刷・lpr /var/log/messages※オプション(-P)でプリンタを指定しなければ、デフォルトのプリンタで印刷journalctlコマンドでのログ出力において10行だけ表示させる・journalctl -n・journalctl --lines 10出力できるファイルのサイズを制限・ulimit -fウィンドウマネージャ:twmリピートキー:所定の時間だけキーが押されていなければ、キーがリピートしないファイアウォール機能のテストのため、Netcatで送信元ポート番号を50000に指定して接続したい。・nc -p 50000 test-sv-l:指定したポートで接続を待ち受ける-p:送信元ポート-u:UDPで送る場合ユーザのcrontabファイルを削除するコマンド:crontab -r受信メールを表示するコマンド:mailxinetdの設定項目「log_type」・サービスが出力するログをsyslogや指定したファイルに出力する・出力先ファイルは絶対パスで指定するVirtual-Machine:~$ seq 512345※スクリプトのfor文などで使用LightDMのログイン画面に表示するユーザーを制御するファイル:users.confLightDM全体の設定ファイル:lightdm.confシェルでのキーバインドをvi風にしたい時のコマンド・set -o viこれが正解システムクロックを2010年7月20日19時30分20秒に設定date 072019302010.20sudoコマンドの設定を行うファイル名:/etc/sudoersjournalctlコマンドでのログ出力において、前回の起動からシャットダウンまでのログを出力させたい。・/var/log/journal ディレクトリが存在する・journalctl -b -1#!/bin/bashcase $1 in1 xxxx ;;2 yyyy ;;esacVirtual-Machine:~$ ntpqntpq>ntpq> quitVirtual-Machine:~$ ntpq -p remote refid st t when poll reach delay offset jitter============================================================================== 0.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.002hogescript」スクリプトを土曜日と日曜日に2時間ごとに実行・0 */2 * * 6,7 hogescriptanacron はデーモン化(バックグラウンド実行)しない。バックグラウンドで動作し、定期的にジョブを実行するのは crond。sendmailを反面教師に、sendmailとの互換性にこだわらずに開発される。機能ごとにプログラムを分割。設定が平易でセキュリティレベルも高い。sendmailからの移行には手間がかかる。・qmailSSHクライアントで公開鍵と秘密鍵のペアを作成するコマンド・ssh-keygenSSHサーバのファイルのうち、SSHクライアントの公開鍵を登録しておくファイル・~/.ssh/authorized_keys暗号化ファイルを送りたい相手から受け取った公開鍵をインポート確認コマンドgpg --list-keysping -i:送信間隔の指定XDMのカラー設定や背景(壁紙)の指定を行うスクリプト:Xsetup_0lpic1@lpic1-Virtual-Machine:~$ tzselectPlease identify a location so that time zone rules can be set correctly.Please select a continent, ocean, "coord", or "TZ". 1) Africa 2) Americas 3) Antarctica 4) Asia 5) Atlantic Ocean 6) Australia 7) Europe 8) Indian Ocean 9) Pacific Ocean10) coord - I want to use geographical coordinates.11) TZ - I want to specify the time zone using the Posix TZ format.#? 4Please select a country whose clocks agree with yours. 1) Afghanistan 18) Israel 35) Palestine 2) Armenia 19) Japan 36) Philippines 3) Azerbaijan 20) Jordan 37) Qatar 4) Bahrain 21) Kazakhstan 38) Russia 5) Bangladesh 22) Korea (North) 39) Saudi Arabia 6) Bhutan 23) Korea (South) 40) Singapore 7) Brunei 24) Kuwait 41) Sri Lanka 8) Cambodia 25) Kyrgyzstan 42) Syria 9) China 26) Laos 43) Taiwan10) Cyprus 27) Lebanon 44) Tajikistan11) East Timor 28) Macau 45) Thailand12) Georgia 29) Malaysia 46) Turkmenistan13) Hong Kong 30) Mongolia 47) United Arab Emirates14) India 31) Myanmar (Burma) 48) Uzbekistan15) Indonesia 32) Nepal 49) Vietnam16) Iran 33) Oman 50) Yemen17) Iraq 34) Pakistan#? 19The following information has been given: JapanTherefore TZ='Asia/Tokyo' will be used.Selected time is now: Wed Jul 11 18:42:29 JST 2018.Universal Time is now: Wed Jul 11 09:42:29 UTC 2018.Is the above information OK?1) Yes2) No#? 1You can make this change permanent for yourself by appending the line TZ='Asia/Tokyo'; export TZto the file '.profile' in your home directory; then log out and log in again.Here is that TZ value again, this time on standard output so that youcan use the /usr/bin/tzselect command in shell scripts:Asia/Tokyo定義されているシェル関数を確認する・set・declare -f既に存在するグループアカウント「ProjectA」のGIDを600へ変更・groupmod -g 600 ProjectAsystemdの動作するシステムで、各Unitが出力するログを画面表示できない文字も含めて全て表示・journalctl -ajournalctlコマンド・ページャを無効にするには --no-pager オプションを指定する・デフォルトではページャによる表示を行うアカウント「user1」のパスワードを設定してから、最長でも90日ごとには強制的にパスワードを変更させる・chage -M 90 user1「/etc/nsswitch.conf」の設定に従って検索を行うコマンド・getentlpic1@lpic1-Virtual-Machine:~$ journalctl --since='2018-07-11 18:30' --until='2018-07-11 18:31'-- Logs begin at Sat 2018-06-30 23:59:32 JST, end at Wed 2018-07-11 18:41:48 JST. -- 7月 11 18:30:53 lpic1-Virtual-Machine anacron[473]: Job `cron.daily' started 7月 11 18:30:53 lpic1-Virtual-Machine anacron[5642]: Updated timestamp for job `cron 7月 11 18:30:53 lpic1-Virtual-Machine cracklib[5669]: no dictionary update necessary 7月 11 18:30:54 lpic1-Virtual-Machine systemd[1]: Reloading The Apache HTTP Server. 7月 11 18:30:55 lpic1-Virtual-Machine apachectl[5763]: AH00558: apache2: Could not r 7月 11 18:30:55 lpic1-Virtual-Machine systemd[1]: Reloaded The Apache HTTP Server. 7月 11 18:30:55 lpic1-Virtual-Machine systemd[1]: Stopping Make remote CUPS printers 7月 11 18:30:55 lpic1-Virtual-Machine systemd[1]: Stopped Make remote CUPS printers 7月 11 18:30:55 lpic1-Virtual-Machine systemd[1]: Stopping CUPS Scheduler... 7月 11 18:30:55 lpic1-Virtual-Machine systemd[1]: Stopped CUPS Scheduler. 7月 11 18:30:55 lpic1-Virtual-Machine systemd[1]: Stopped CUPS Scheduler. 7月 11 18:30:55 lpic1-Virtual-Machine systemd[1]: Stopping CUPS Scheduler. 7月 11 18:30:55 lpic1-Virtual-Machine systemd[1]: Started CUPS Scheduler. 7月 11 18:30:55 lpic1-Virtual-Machine systemd[1]: Closed CUPS Scheduler. 7月 11 18:30:55 lpic1-Virtual-Machine systemd[1]: Stopping CUPS Scheduler. 7月 11 18:30:55 lpic1-Virtual-Machine systemd[1]: Listening on CUPS Scheduler. 7月 11 18:30:55 lpic1-Virtual-Machine systemd[1]: Started CUPS Scheduler. 7月 11 18:30:55 lpic1-Virtual-Machine systemd[1]: Started Make remote CUPS printers 7月 11 18:30:55 lpic1-Virtual-Machine rsyslogd[479]: [origin software="rsyslogd" swdigとhostVirtual-Machine:~$ dig www.yahoo.co.jp; <<>> DiG 9.10.3-P4-Ubuntu <<>> www.yahoo.co.jp;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10609;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;www.yahoo.co.jp. IN A;; ANSWER SECTION:www.yahoo.co.jp. 686 IN CNAME edge.g.yimg.jp.edge.g.yimg.jp. 11 IN A 183.79.250.251;; Query time: 19 msec;; SERVER: 127.0.1.1#53(127.0.1.1);; WHEN: Sun Jun 24 16:06:51 JST 2018;; MSG SIZE rcvd: 86Virtual-Machine:~$ host www.yahoo.co.jpwww.yahoo.co.jp is an alias for edge.g.yimg.jp.edge.g.yimg.jp has address 183.79.250.251Xサーバの設定で、「user.example.com」からのアクセスのみ許可・xhost +user.example.com・xhost user.example.com年末年始の休暇の間、ユーザ「user3」にアカウントを使用させない・「/etc/passwd」の該当ユーザのパスワードフィールドの1文字目に「!」または「*」を追加する・「passwd -l user3」コマンドを実行する・「/etc/shadow」の該当ユーザのパスワードフィールドの1文字目に「!」または「*」を追加する・「usermod -L user3」コマンドを実行するipコマンドで、デフォルトルートを削除・ip route del default・ip route del default via 192.168.122.1環境変数を一時的に変更できるコマンドに「env」コマンドがあるが、オプションをつけずにコマンド実行した場合の動作・全ての環境変数を表示するxinetdの設定ファイルで、サーバプログラムを起動するユーザーを指定する項目・userSQL・SELECT * FROM member JOIN city ON member.birth = city.bid;・SELECT * FROM member,city WHERE member.birth = city.bid;・SELECT 列名 FROM テーブル名 LIMIT 件数;「/etc/inittab」ファイルにおいて、デフォルトで「GUI環境」を起動させる記述・id:5:initdefault:sendmailの送信待ちのメールを保存するディレクトリ・/var/spool/mqueue/ipコマンドを使って、ARPキャッシュの内容を確認・ip neighbor shVirtual-Machine:~$ ip neighbor sh192.168.1.254 dev eth0 lladdr 00:0c:29:f0:d4:f5 STALE192.168.1.1 dev eth0 lladdr 6c:f0:49:ae:ab:ad REACHABLEルーティングテーブルの表示に非常に時間がかかってしまっている。表示までのプロセスを変えることによってすばやく表示する・route -n※名前解決せずにルーティングテーブルを表示別名を設定することで、あるメールアドレス宛に送られてきたメールを、別のメールアドレスに転送する・/etc/aliasesスーパーサーバについての説明あってる・システムリソースの無駄遣いを避けるための仕組みである・xinetdはスーパーサーバーのデーモンである・登録された利用頻度の低いサービス等への要求を受け付ける違う・xinetdでアクセス制御を行う時は、TCP/Wrapperを利用する必要がある・設定ファイルには、ポート番号とプロトコルの対応を記述しているユーザーパスワードの最終更新日が記録されているファイル・/etc/shadowgpgでファイルの暗号化を行っている。作成した公開鍵の一覧を表示したい。gpg --list-keys公開鍵認証のSSH接続の際、パスフレーズを求められないようにしたい場合に使用するコマンド・ssh-agentxinetdの設定ファイルで、サービスの接続タイプを設定する項目:socket_typeディスプレイマネージャの説明・ユーザにGUI環境のログインを提供する・デスクトップ環境を準備する・initやsystemdによりディスプレイマネージャーサービスが起動されるwやwhoコマンドで参照するバイナリファイル・/var/run/utmp「/etc/crontab」ファイルで通常指定されている、毎週実行するスクリプトを置くディレクトリ・/etc/cron.weekly/bashにはコマンドの実行結果を文字列として扱う「コマンド置換」機能があるコマンド置換は次の書式で実行する・`実行コマンド`(バッククォート、日本語キーボードではSHIFT+@)・$(実行コマンド)例・RESULT=$(ls)・RESULT=`ls`Xフォントサーバ(xfs)の設定ファイル・/etc/X11/fs/configX.Org標準のディスプレイマネージャ・XDMシェルスクリプトを読み込むが、実行はせずに構文にエラーが無いかどうかを確認する・set -o noexecディスプレイの表示画面を調整するコマンド・xvidtuneシステムクロックを2010年7月20日19時30分20秒に設定・date 072019302010.20date [MMDDhhmm[CC[YY]][.ss]](MMは月、DDは日、hhは時、mmは分、CCは西暦の上2桁、YYは西暦の下2桁、ssは秒)ディスプレイマネージャ「XDM」の設定ファイル・xdm-config統合デスクトップ環境・GUI環境とソフトウェア開発のアプリケーションをまとめて統一的な操作を提供する仕組みユーザ「test」のプライマリグループのGIDを確認・id -g test-Gは所属するすべてのグループ「/etc/X11/xorg.conf」のセクションのうち、Xフォントサーバを指定・FilesCUPSについて・印刷プロトコルIPPを採用・設定ファイルは「/etc/cups/cupsd.conf」である。・PPDファイルをサポートしているCUPSの印刷システムで、プリンタの共有設定をするファイル名・/etc/cups/printers.confmntをアンマウントしようとしたところ、リソースが使用中のためアンマウントできなかった。使用中のプロセスを特定するコマンド・lsof /mnt予約されている、1回限りのジョブを削除するコマンド・at -d・atrmntpdateコマンド・NTPクライアントである・NTPサーバから正確な時刻を取得し、システムクロックに反映させるユーザがcronジョブを設定する時に使うコマンド・crontab -eユーザ用のcrontabファイルは 「/var/spool/cron/ユーザ名」だが、テキストエディタで直接編集はできない。ipコマンドを使ってIPアドレス設定:ip addr add 127.0.0.100/16 dev loタイムゾーンの情報がバイナリファイルとして格納されているディレクトリ・/usr/share/zoneinfo/ロケールの設定において、デフォルトとして使用される値を設定できる環境変数・LANGwhile 条件式do 実行文doneanacronについて・実行履歴を管理している・日単位で実行タイミングを指定するsudoコマンドの設定を行うため、「/etc/sudoers」ファイルを編集・visudoxvidtune:ディスプレイの表示位置調整定xwininfo:選択したXウィンドウの情報を表示xdpyinfo:ディスプレイの各種情報表示ユーザの所属するグループの名前を確認できるコマンド・groupsシステムのタイムゾーンを日本(Asia/Tokyo)変更・cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtimeUTF-8で作成されたファイル「example.txt」を、EUC-JPに変換# iconv -f UTF-8 -t EUC-JP example.txt > example-EUC.txtrootユーザでのSSHログインを禁止・PermitRootLogin noセキュリティ上、ルートユーザの所有権を持ち、かつSUIDが設定されたファイルをすべて把握・find / -perm -4000 -uid 0・find / -perm -u+s -uid 0「hogescript」スクリプトを日曜の毎時間30分に実行・30 0-23 * * 7 hogescript・30 * * * 0 hogescript※0,7は日曜日設定されている環境変数の値を一時的に指定された値に変更してコマンド実行・envsshコマンドのオプションで、接続先ポート番号を指定する・-p・-o Portキーボードアクセシビリティを提供するソフトウェア・AccessX スローキー等GOK(Gnome Onscreen Keyboard)はソフトウェアキーボードのソフトウェアディスプレイマネージャはX Window Systemのプログラムの1つで、ランレベルが5の時にユーザにグラフィカルログイン画面(GUI環境のログイン)を提供する。Ubuntu標準のディスプレイマネージャはLightDM(Lightディスプレイマネージャ)「/sbin/init」の代わりに「/bin/bash」を起動grub> kernel /boot/vmlinuz-2.6.35 init=/bin/bashCUPSは、lpdなど従来の印刷システムと互換性を持ったLinuxの新しい印刷サービス。WEBブラウザからプリンタの設定やジョブの管理を行うことができる。接続要求を受けるポート番号はデフォルトで「631」。○管理コンソールへの接続・http://localhost:631LVMの説明・論理ボリュームを動的にリサイズすることができる・スナップショットを取得することができる・ボリュームグループに対し、後から物理ボリュームを加えたり、削除したりできる・ボリュームグループは、物理ボリュームを集めて構成された仮想的な領域であるLVM (Logical Volume Manager) は、物理的な記憶デバイスの領域(物理ボリューム:PV)を複数まとめてひとつの大きな仮想的な領域(ボリュームグループ:VG)とし、そこから仮想的なパーティション領域(論理ボリューム:LV)を切り出すことで、従来の物理的なパーティションを用いた方法よりも柔軟に記憶領域を管理することができるようにする仕組みアクセスシビリティスティッキーキー :2つ以上のキーを同時に押せないユーザスローキー :正確にキーを押すことが難しいユーザ、所定時間押し続けないと入力されないバウンスキー :同じキー入力は一定時間無視トグルキー :LEDが見れないユーザ、ビープ音が鳴るマウスキー :マウスの代わりにテンキー操作リピートキー :所定時間キーを押さないとキーがリピートしないアクセシビリティのハイコントラスト・スクリーンの表示色を反転したり、コントラストを強調して見やすくするアクセシビリティの点字ディスプレイを提供するソフトウェア・Orca文字コードASCII :7ビット文字コード。128種類の文字を表現ISO-8859 :ASCIIを8ビットに拡張。256種類の文字コードを表現Unicode :多言語を扱うために作成された文字コードUTF-8 :Unicodeで定義された文字を表示する符号化方式。ASCII互換EUC-JP :UNIX環境で利用される日本語文字コードShift-JIS :Windowsで利用される日本語文字コード