%----------------------------------------------------------------------
@x Gcc
<seg>Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC,
- Gettext, Glibc, GMP, Grep, M4, Make, MPC, MPFR, Patch, Perl, Sed,
- Tar, Texinfo, and Zstd</seg>
+ Gettext, Glibc, GMP, Grep, Libxcrypt, M4, Make, MPC, MPFR, Patch,
+ Perl, Sed, Tar, Texinfo, and Zstd</seg>
@y
<seg>Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC,
- Gettext, Glibc, GMP, Grep, M4, Make, MPC, MPFR, Patch, Perl, Sed,
- Tar, Texinfo, Zstd</seg>
+ Gettext, Glibc, GMP, Grep, Libxcrypt, M4, Make, MPC, MPFR, Patch,
+ Perl, Sed, Tar, Texinfo, Zstd</seg>
@z
@x
<seg>Bash, Binutils, Glibc, Mpc, and Python</seg>
@z
%----------------------------------------------------------------------
+@x
+<!-- Begin Libxcrypt dependency info -->
+@y
+<!-- Begin Libxcrypt dependency info -->
+@z
+@x
+ <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep,
+ Make, Perl, and Sed</seg>
+@y
+ <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep,
+ Make, Perl, Sed</seg>
+@z
+@x
+ <seg>Glibc</seg>
+@y
+ <seg>Glibc</seg>
+@z
+@x
+ <seg>None</seg>
+@y
+ <seg>なし</seg>
+@z
+@x
+ <seg>GCC, Perl, Python,
+ <phrase revision='sysv'>and </phrase>Shadow<phrase
+ revision='systemd'>, and Systemd</phrase></seg>
+@y
+ <seg>GCC, Perl, Python,
+ Shadow<phrase revision='systemd'>, Systemd</phrase></seg>
+@z
+@x
+ <seg>None</seg>
+@y
+ <seg>なし</seg>
+@z
+
+%----------------------------------------------------------------------
@x Linux
<seg>Bash, Bc, Binutils, Coreutils, Diffutils, Findutils, GCC, Glibc,
Grep, Gzip, Kmod, Libelf, Make, Ncurses, OpenSSL, Perl, and Sed</seg>
%----------------------------------------------------------------------
@x Perl
<seg>Bash, Binutils, Coreutils, Gawk, GCC, GDBM, Glibc, Grep, Groff,
- Make, Sed, and Zlib</seg>
+ Libxcrypt, Make, Sed, and Zlib</seg>
@y
<seg>Bash, Binutils, Coreutils, Gawk, GCC, GDBM, Glibc, Grep, Groff,
- Make, Sed, Zlib</seg>
+ Libxcrypt, Make, Sed, Zlib</seg>
@z
@x
- <seg>GDBM and Glibc</seg>
+ <seg>GDBM, Glibc, and Libxcrypt</seg>
@y
- <seg>GDBM, Glibc</seg>
+ <seg>GDBM, Glibc, Libxcrypt</seg>
@z
@x
<seg>Iana-Etc, Less. and Procps-ng</seg>
@z
@x
<seg>Bash, Binutils, Coreutils, Expat, GCC, Gdbm, Gettext, Glibc,
- Grep, Libffi, Make, Ncurses, OpenSSL, Pkgconf, Sed, and
+ Grep, Libffi, Libxcrypt, Make, Ncurses, OpenSSL, Pkgconf, Sed, and
Util-linux</seg>
@y
<seg>Bash, Binutils, Coreutils, Expat, GCC, Gdbm, Gettext, Glibc,
- Grep, Libffi, Make, Ncurses, OpenSSL, Pkgconf, Sed,
+ Grep, Libffi, Libxcrypt, Make, Ncurses, OpenSSL, Pkgconf, Sed,
Util-linux</seg>
@z
@x
- <seg>Bzip2, Expat, Gdbm, Glibc, Libffi, Ncurses, OpenSSL, and
- Zlib</seg>
+ <seg>Bzip2, Expat, Gdbm, Glibc, Libffi, Libxcrypt, Ncurses,
+ OpenSSL, and Zlib</seg>
@y
- <seg>Bzip2, Expat, Gdbm, Glibc, Libffi, Ncurses, OpenSSL,
- Zlib</seg>
+ <seg>Bzip2, Expat, Gdbm, Glibc, Libffi, Libxcrypt, Ncurses,
+ OpenSSL, Zlib</seg>
@z
@x
<seg>GDB and Valgrind</seg>
%----------------------------------------------------------------------
@x Shadow
<seg>Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk,
- GCC, Gettext, Glibc, Grep, Libcap, Make, and Sed</seg>
+ GCC, Gettext, Glibc, Grep, Libcap, Libxcrypt, Make, and Sed</seg>
@y
<seg>Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk,
- GCC, Gettext, Glibc, Grep, Libcap, Make, Sed</seg>
+ GCC, Gettext, Glibc, Grep, Libcap, Libxcrypt, Make, Sed</seg>
@z
@x
- <seg>Glibc</seg>
+ <seg>Glibc and Libxcrypt</seg>
@y
- <seg>Glibc</seg>
+ <seg>Glibc, Libxcrypt</seg>
@z
@x
<seg>No test suite available</seg>
%----------------------------------------------------------------------
@x Systemd
<seg>Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Expat, Gawk,
- GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Meson, Pkgconf, Sed,
- Util-linux, and Zstd</seg>
+ GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Libxcrypt, Meson,
+ Pkgconf, Sed, Util-linux, and Zstd</seg>
@y
<seg>Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Expat, Gawk,
- GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Meson, Pkgconf, Sed,
- Util-linux, Zstd</seg>
+ GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Libxcrypt, Meson,
+ Pkgconf, Sed, Util-linux, Zstd</seg>
@z
@x
- <seg>Acl, Attr, Glibc, Libcap, and Util-linux</seg>
+ <seg>Acl, Attr, Glibc, Libcap, Libxcrypt, and Util-linux</seg>
@y
- <seg>Acl, Attr, Glibc, Libcap, Util-linux</seg>
+ <seg>Acl, Attr, Glibc, Libcap, Libxcrypt, Util-linux</seg>
@z
@x
<seg>None</seg>
<seg>ld-linux-x86-64.so.2, ld-linux.so.2,
libBrokenLocale.{a,so}, libanl.{a,so},
libc.{a,so}, libc_nonshared.a, libc_malloc_debug.so,
- libcrypt.{a,so}, libdl.{a,so.2}, libg.a, libm.{a,so},
+ libdl.{a,so.2}, libg.a, libm.{a,so},
libmcheck.a, libmemusage.so, libmvec.{a,so}, libnsl.so.1,
libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so,
libpcprofile.so, libpthread.{a,so.0},
<seg>ld-linux-x86-64.so.2, ld-linux.so.2,
libBrokenLocale.{a,so}, libanl.{a,so},
libc.{a,so}, libc_nonshared.a, libc_malloc_debug.so,
- libcrypt.{a,so}, libdl.{a,so.2}, libg.a, libm.{a,so},
+ libdl.{a,so.2}, libg.a, libm.{a,so},
libmcheck.a, libmemusage.so, libmvec.{a,so}, libnsl.so.1,
libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so,
libpcprofile.so, libpthread.{a,so.0},
</para>
@z
-@x libcrypt
- <para>The cryptography library</para>
-@y
- <para>
- 暗号化ライブラリ。
- </para>
-@z
-
@x libdl
<para>Dummy library containing no functions. Previously was the
dynamic linking interface library, whose functions are now in
--- /dev/null
+%
+% This is part of LFSbookja package.
+%
+% This is a CTIE change file for the original XML source of the LFSbook.
+%
+@x
+<?xml version="1.0" encoding="ISO-8859-1"?>
+@y
+<?xml version="1.0" encoding="UTF-8"?>
+@z
+
+@x
+ <para>The Libxcrypt package contains a modern library for one-way
+ hashing of passwords.</para>
+@y
+ <para>
+ Libxcrypt パッケージは、パスワードに対する一方向のハッシュ処理を行う最新ライブラリを提供します。
+ </para>
+@z
+
+@x
+ <title>Installation of Libxcrypt</title>
+@y
+ <title>&InstallationOf1;Libxcrypt&InstallationOf2;</title>
+@z
+
+@x
+ <para>Prepare Libxcrypt for compilation:</para>
+@y
+ <para>&PreparePackage1;Libxcrypt&PreparePackage2;</para>
+@z
+
+@x
+ <title>The meaning of the new configure options:</title>
+@y
+ <title>&MeaningOfOption1;configure&MeaningOfOption2;</title>
+@z
+
+@x --enable-hashes=strong,glibc
+ <para>Build strong hash algorithms recommended for security use
+ cases, and the hash algorithms provided by traditional Glibc
+ <systemitem class='library'>libcrypt</systemitem> for
+ compatibility.</para>
+@y
+ <para>
+ 安全なユースケースに対して推奨される強力なハッシュアルゴリズムを用いてビルドを行います。
+ このハッシュアルゴリズムは Glibc による従来の <systemitem
+ class='library'>libcrypt</systemitem> と互換性があります。
+ </para>
+@z
+
+@x --enable-obsolete-api=no
+ <para>Disable obsolete API functions. They are not needed for
+ a modern Linux system built from source.</para>
+@y
+ <para>
+ 古い API 関数を無効にします。
+ 最新の Linux システムをソースからビルドする際には不要なものです。
+ </para>
+@z
+
+@x --disable-failure-tokens
+ <para>Disable failure token feature. It's needed for
+ compatibility with the traditional hash libraries of some
+ platforms, but a Linux system based on Glibc does not need
+ it.</para>
+@y
+ <para>
+ failure token 機能を無効にします。
+ これは、特定プラットフォームにおいて、古くからあるハッシュライブラリとの互換性を保つために必要となります。
+ ただし Glibc ベースの Linux システムでは不要なものです。
+ it.</para>
+@z
+
+@x
+ <para>Compile the package:</para>
+@y
+ <para>&CompileThePackage;</para>
+@z
+
+@x
+ <para>To test the results, issue:</para>
+@y
+ <para>
+ ビルド結果をテストする場合は以下を実行します。
+ </para>
+@z
+
+@x
+ <para>Install the package:</para>
+@y
+ <para>&InstallThePackage;</para>
+@z
+
+@x
+ <para>The instructions above disabled obsolete API functions since
+ no package installed by compiling from sources would link against
+ them at runtime. However, the only known binary-only applications
+ that link against these functions require ABI version 1. If you must
+ have such functions because of some binary-only application or to be
+ to be compliant with LSB, build the package again with the following
+ commands:</para>
+@y
+ <para>
+ 上に示した手順では、古い API 関数を無効にしました。
+ このようにしても、ソースからコンパイルしてインストールしたパッケージ類は、実行時にそのライブラリにリンクされるものは一つもありません。
+ ただし、バイナリでのみ提供されている特定のアプリケーションが、その関数ライブラリへのリンクを行い、そこでは ABI バージョン 1 を必要としています。
+ そういったバイナリのみで提供されているアプリケーションの利用においてその関数を必要とするか、あるいは LSB への準拠を必要とする場合には、以下のコマンドを使って本パッケージをもう一度ビルドしてください。
+ </para>
+@z
+
+@x
+ <title>Contents of Libxcrypt</title>
+@y
+ <title>&ContentsOf1;Libxcrypt&ContentsOf2;</title>
+@z
+
+@x
+ <segtitle>Installed libraries</segtitle>
+@y
+ <segtitle>&InstalledLibrary;</segtitle>
+@z
+
+@x
+ <seg>libcrypt.so</seg>
+@y
+ <seg>libcrypt.so</seg>
+@z
+
+@x
+ <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+@y
+ <bridgehead renderas="sect3">&ShortDescriptions;</bridgehead>
+@z
+
+@x libcrypt
+ <para>Contains functions to hash passwords</para>
+@y
+ <para>
+ パスワードをハッシュする関数を提供します。
+ </para>
+@z
@x
<para id="shadow-login_defs">Instead of using the default
- <emphasis>crypt</emphasis> method, use the more secure
- <emphasis>SHA-512</emphasis> method of password encryption, which also
- allows passwords longer than 8 characters. In addition, set the number of
- rounds to 500,000 instead of the default 5000, which is much too low to
- prevent brute force password attacks. It is also necessary to change
+ <emphasis>crypt</emphasis> method, use the much more secure
+ <emphasis>YESCRYPT</emphasis> method of password encryption, which also
+ allows passwords longer than 8 characters.
+ It is also necessary to change
the obsolete <filename class="directory">/var/spool/mail</filename> location
for user mailboxes that Shadow uses by default to the <filename
class="directory">/var/mail</filename> location used currently. And,
<filename class="directory">/usr</filename>.</para>
@y
<para id="shadow-login_defs">
- パスワード暗号化に関して、デフォルトの <emphasis>crypt</emphasis> 手法ではなく、より強力な <emphasis>SHA-512</emphasis> 手法を用いることにします。
+ パスワード暗号化に関して、デフォルトの <emphasis>crypt</emphasis> 手法ではなく、より強力な <emphasis>YESCRYPT</emphasis> 手法を用いることにします。
こうしておくと 8文字以上のパスワード入力が可能となります。
- またラウンド数をデフォルトの 5000 から 500,000 に設定します。
- デフォルトの 5000 では、パスワードの総当り攻撃に対しては小さすぎる設定だからです。
メールボックスを収めるディレクトリとして Shadow ではデフォルトで <filename
class="directory">/var/spool/mail</filename> ディレクトリを利用していますが、これは古いものであるため <filename
class="directory">/var/mail</filename> ディレクトリに変更します。
</para>
@z
+@x --with-{b,yes}crypt
+ <para>The shell expands this to two switches,
+ <parameter>--with-bcrypt</parameter> and
+ <parameter>--with-yescrypt</parameter>. They allow shadow to use
+ the Bcrypt and Yescrypt algorithms implemented by
+ <application>Libxcrypt</application> for hashing passwords.
+ These algorithms are more secure (in particular, much more
+ resistant to GPU-based attacks) than the traditional SHA
+ algorithms.</para>
+@y
+ <para>
+ これはシェルによって 2 つのスイッチ、つまり <parameter>--with-bcrypt</parameter> と <parameter>--with-yescrypt</parameter> に展開されます。
+ パスワードのハッシュ処理を行うための Bcrypt および Yescrypt アルゴリズムが <application>Libxcrypt</application> において実装されており、本スイッチは shadow がそれを用いることを指示します。
+ このアルゴリズムは従来の SHA アルゴリズムに比べて、(特に GPU ベースの攻撃への耐性が高く)より安全性を有しています。
+ </para>
+@z
+
@x --with-group-name-max-length=32
<para>The longest permissible user name is 32 characters. Make the maximum
length of a group name the same.</para>