source: postlfs/filesystems/ntfs-3g.xml@ 15b96a83

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 15b96a83 was 15b96a83, checked in by Douglas R. Reno <renodr@…>, 7 years ago

Add ntfs-3g security patch

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@18259 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 16.3 KB
RevLine 
[574a402]1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY ntfs-3g-download-http
[687ce4b]8 "https://tuxera.com/opensource/ntfs-3g_ntfsprogs-&ntfs-3g-version;.tgz">
[574a402]9 <!ENTITY ntfs-3g-download-ftp " ">
[c93bd07]10 <!ENTITY ntfs-3g-md5sum "ccbe8672d0f757bd0c975b50aa4c512e">
11 <!ENTITY ntfs-3g-size "1.2 MB">
12 <!ENTITY ntfs-3g-buildsize "17 MB">
13 <!ENTITY ntfs-3g-time "0.2 SBU">
[574a402]14]>
15
16<sect1 id="ntfs-3g" xreflabel="ntfs-3g-&ntfs-3g-version;">
17 <?dbhtml filename="ntfs-3g.html"?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>ntfs-3g-&ntfs-3g-version;</title>
25
26 <indexterm zone="ntfs-3g">
27 <primary sortas="a-ntfs-3g">ntfs-3g</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to Ntfs-3g</title>
32
33 <para>
[154c9eb]34 The <application>Ntfs-3g</application> package contains a stable,
35 read-write open source driver for NTFS partitions. NTFS partitions are
[f3429309]36 used by most Microsoft operating systems. Ntfs-3g allows you to mount
[154c9eb]37 NTFS partitions in read-write mode from your Linux system. It uses the
38 FUSE kernel module to be able to implement NTFS support in user space.
39 </para>
40 <para>
[f3429309]41 This package contains both the NTFS-3g driver itself and various utilities
[154c9eb]42 useful for manipulating NTFS partitions.
[574a402]43 </para>
44
[77d57d12]45 &lfs7a_checked;
[574a402]46
47 <bridgehead renderas="sect3">Package Information</bridgehead>
48 <itemizedlist spacing="compact">
49 <listitem>
50 <para>
51 Download (HTTP): <ulink url="&ntfs-3g-download-http;"/>
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download (FTP): <ulink url="&ntfs-3g-download-ftp;"/>
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download MD5 sum: &ntfs-3g-md5sum;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Download size: &ntfs-3g-size;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Estimated disk space required: &ntfs-3g-buildsize;
72 </para>
73 </listitem>
74 <listitem>
75 <para>
76 Estimated build time: &ntfs-3g-time;
77 </para>
78 </listitem>
79 </itemizedlist>
80
[15b96a83]81 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
82 <itemizedlist spacing="compact">
83 <listitem>
84 <para>
85 Required patch:
86 <ulink url="&patch-root;/ntfs-3g-&ntfs-3g-version;-security_fix-1.patch"/>
87 </para>
88 </listitem>
89 </itemizedlist>
90
[574a402]91 <bridgehead renderas="sect3">Ntfs-3g Dependencies</bridgehead>
92
[269beb5]93 <bridgehead renderas="sect4">Recommended</bridgehead>
94 <para role="recommended">
95 <xref linkend="fuse"/>
[574a402]96 </para>
97
98 <para condition="html" role="usernotes">
99 User Notes: <ulink url="&blfs-wiki;/ntfs-3g"/>
100 </para>
101 </sect2>
102
103 <sect2 role="kernel" id="ntfs-3g-kernel">
104 <title>Kernel Configuration</title>
105
106 <para>
107 Enable the following options in the kernel configuration and recompile the
108 kernel if necessary:
109 </para>
110
111<screen><literal>File systems ---&gt;
[421128a1]112 &lt;*/M&gt; FUSE (Filesystem in Userspace) support [CONFIG_FUSE_FS]</literal></screen>
[574a402]113
114 <indexterm zone="ntfs-3g ntfs-3g-kernel">
115 <primary sortas="d-ntfs-3g">ntfs-3g</primary>
116 </indexterm>
117 </sect2>
118
119 <sect2 role="installation">
120 <title>Installation of Ntfs-3g</title>
121
122 <para>
123 Install <application>Ntfs-3g</application> by running the following
124 commands:
125 </para>
126
[15b96a83]127<screen><userinput>patch -Np1 -i ../ntfs-3g-&ntfs-3g-version;-security_fix-1.patch &amp;&amp;
128./configure --prefix=/usr --disable-static --with-fuse=external &amp;&amp;
[574a402]129make</userinput></screen>
130
131 <para>
132 This package does not come with a test suite.
133 </para>
134
135 <para>
136 Now, as the <systemitem class="username">root</systemitem> user:
137 </para>
138
139<screen role="root"><userinput>make install &amp;&amp;
[a98acfe7]140ln -sv ../bin/ntfs-3g /sbin/mount.ntfs &amp;&amp;
[269beb5]141ln -sv ntfs-3g.8 /usr/share/man/man8/mount.ntfs.8</userinput></screen>
[574a402]142
143 <para>
144 If you want ordinary users to be able to mount NTFS partitions you'll need
145 to set mount.ntfs with the root user ID. Note: it is probably unsafe to do
146 this on a computer that needs to be secure (like a server). As the
147 <systemitem class="username">root</systemitem> user:
148 </para>
149
[a98acfe7]150<screen role="root"><userinput>chmod -v 4755 /sbin/mount.ntfs</userinput></screen>
151
[574a402]152 </sect2>
153
154 <sect2 role="commands">
155 <title>Command Explanations</title>
156
157 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
158 href="../../xincludes/static-libraries.xml"/>
159
[15b96a83]160 <para>
161 <command>patch -Np1 -i ...</command>: This command applies a security
162 patch from upstream to fix ntfs-3g on systems that use setuid for the
163 executable.
164 </para>
165
[574a402]166 <para>
[269beb5]167 <parameter>--with-fuse=external</parameter>: This switch dynamically
168 links <command>lowntfs-3g</command> and <command>ntfs-3g</command> to
169 external libfuse. Omit it if you have not installed <xref
170 linkend="fuse"/> or if you want to use internal statically compiled
171 libfuse.
[154c9eb]172 </para>
[f3429309]173
[154c9eb]174 <para>
[f3429309]175 <option>--disable-ntfsprogs</option>: Disables installation of various
[154c9eb]176 utilities used to manipulate NTFS partitions.
[574a402]177 </para>
178
179 <para>
[a98acfe7]180 <command>ln -sv ../bin/ntfs-3g /sbin/mount.ntfs</command>: Creating
[574a402]181 /sbin/mount.ntfs makes <command>mount</command> default to using Ntfs-3g
182 to mount NTFS partitions.
183 </para>
184
185 <para>
[a98acfe7]186 <command>chmod -v 4755 /sbin/mount.ntfs</command>: Making mount.ntfs setuid
187 root allows non root users to mount NTFS partitions.
[574a402]188 </para>
[a98acfe7]189
[574a402]190 </sect2>
191
192 <sect2 role="configuration">
193 <title>Using Ntfs-3g</title>
194
195 <para>
196 To mount a Windows partition at boot time, put a line like this in
197 /etc/fstab:
198 </para>
199
200 <screen>/dev/sda1 /mnt/windows auto defaults 0 0</screen>
201
202 <para>
203 To allow users to mount a usb stick with an NTFS filesystem on it, put a
[51c76b17]204 line similar to this (change sdc1 to whatever a usb stick would be on your
[574a402]205 system) in /etc/fstab:
206 </para>
207
208 <screen>/dev/sdc1 /mnt/usb auto user,noauto,umask=0,utf8 0 0</screen>
209
210 <para>
[f3429309]211 In order for a user to be able to mount the usb stick, they will need
212 to be able to write to <filename class="directory">/mnt/usb</filename>,
[51c76b17]213 so as the <systemitem class="username">root</systemitem> user:
[574a402]214 </para>
215
[a98acfe7]216<screen role="root"><userinput>chmod -v 777 /mnt/usb</userinput></screen>
217
[574a402]218 </sect2>
219
220 <sect2 role="content">
221 <title>Contents</title>
222
223 <segmentedlist>
224 <segtitle>Installed Programs</segtitle>
[a98acfe7]225 <segtitle>Installed Library</segtitle>
226 <segtitle>Installed Directories</segtitle>
[574a402]227
228 <seglistitem>
229 <seg>
[a98acfe7]230 lowntfs-3g, mkfs.ntfs, mkntfs, mount.lowntfs-3g,
231 mount.ntfs, mount.ntfs-3g, ntfs-3g, ntfs-3g.probe,
232 ntfs-3g.secaudit, ntfs-3g.usermap, ntfscat,
233 ntfsclone, ntfscluster, ntfscmp, ntfscp, ntfsfix,
234 ntfsinfo, ntfslabel, ntfsls, ntfsresize and
235 ntfsundelete
236 </seg>
237 <seg>
238 libntfs-3g.so
239 </seg>
240 <seg>
241 /usr/include/ntfs-3g and
242 /usr/share/doc/ntfs-3g
[574a402]243 </seg>
244 </seglistitem>
245 </segmentedlist>
246
247 <variablelist>
248 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
249 <?dbfo list-presentation="list"?>
250 <?dbhtml list-presentation="table"?>
251
252 <varlistentry id="lowntfs-3g">
253 <term><command>lowntfs-3g</command></term>
254 <listitem>
255 <para>
256 is similar to ntfs-3g but uses the Fuse low-level interface.
257 </para>
258 <indexterm zone="ntfs-3g lowntfs-3g">
259 <primary sortas="b-lowntfs-3g">lowntfs-3g</primary>
260 </indexterm>
261 </listitem>
262 </varlistentry>
263
264 <varlistentry id="mkfs.ntfs">
265 <term><command>mkfs.ntfs</command></term>
266 <listitem>
267 <para>
268 is a symlink to mkntfs.
269 </para>
270 <indexterm zone="ntfs-3g mkfs.ntfs">
271 <primary sortas="b-mkfs.ntfs">mkfs.ntfs</primary>
272 </indexterm>
273 </listitem>
274 </varlistentry>
275
276 <varlistentry id="mkntfs">
277 <term><command>mkntfs</command></term>
278 <listitem>
279 <para>
280 creates an NTFS file system.
281 </para>
282 <indexterm zone="ntfs-3g mkntfs">
283 <primary sortas="b-mkntfs">mkntfs</primary>
284 </indexterm>
285 </listitem>
286 </varlistentry>
287
288 <varlistentry id="mount.lowntfs-3g">
289 <term><command>mount.lowntfs-3g</command></term>
290 <listitem>
291 <para>
292 is a symlink to lowntfs-3g.
293 </para>
294 <indexterm zone="ntfs-3g mount.lowntfs-3g">
295 <primary sortas="b-mount.lowntfs-3g">mount.lowntfs-3g</primary>
296 </indexterm>
297 </listitem>
298 </varlistentry>
299
300 <varlistentry id="mount.ntfs">
301 <term><command>mount.ntfs</command></term>
302 <listitem>
303 <para>
304 mounts an NTFS filesystem.
305 </para>
306 <indexterm zone="ntfs-3g mount.ntfs">
307 <primary sortas="b-mount.ntfs">mount.ntfs</primary>
308 </indexterm>
309 </listitem>
310 </varlistentry>
311
312 <varlistentry id="mount.ntfs-3g">
313 <term><command>mount.ntfs-3g</command></term>
314 <listitem>
315 <para>
316 is a symbolic link to ntfs-3g.
317 </para>
318 <indexterm zone="ntfs-3g mount.ntfs-3g">
319 <primary sortas="b-mount.ntfs-3g">mount.ntfs-3g</primary>
320 </indexterm>
321 </listitem>
322 </varlistentry>
323
324 <varlistentry id="ntfs-3g-prog">
325 <term><command>ntfs-3g</command></term>
326 <listitem>
327 <para>
328 is an NTFS driver, which can create, remove, rename, move
[51c76b17]329 files, directories, hard links, and streams. It can also read and write
[574a402]330 files, including streams, sparse files and transparently compressed
[51c76b17]331 files. It can also handle special files like symbolic links, devices, and
[574a402]332 FIFOs; moreover it provides standard management of file ownership
333 and permissions, including POSIX ACLs.
334 </para>
335 <indexterm zone="ntfs-3g ntfs-3g-prog">
336 <primary sortas="b-ntfs-3g">ntfs-3g</primary>
337 </indexterm>
338 </listitem>
339 </varlistentry>
340
341 <varlistentry id="ntfs-3g.probe">
342 <term><command>ntfs-3g.probe</command></term>
343 <listitem>
344 <para>
345 tests if an NTFS volume is mountable read only or read-write, and
346 exits with a status value accordingly. The volume can be a block
347 device or image file.
348 </para>
349 <indexterm zone="ntfs-3g ntfs-3g.probe">
350 <primary sortas="b-ntfs-3g.probe">ntfs-3g.probe</primary>
351 </indexterm>
352 </listitem>
353 </varlistentry>
354
355 <varlistentry id="ntfs-3g.secaudit">
356 <term><command>ntfs-3g.secaudit</command></term>
357 <listitem>
358 <para>
359 audits NTFS Security Data.
360 </para>
361 <indexterm zone="ntfs-3g ntfs-3g.secaudit">
362 <primary sortas="b-ntfs-3g.secaudit">ntfs-3g.secaudit</primary>
363 </indexterm>
364 </listitem>
365 </varlistentry>
366
367 <varlistentry id="ntfs-3g.usermap">
368 <term><command>ntfs-3g.usermap</command></term>
369 <listitem>
370 <para>
371 creates the file defining the mapping of Windows accounts to Linux
372 logins for users who owns files which should be visible from both
373 Windows and Linux.
374 </para>
375 <indexterm zone="ntfs-3g ntfs-3g.usermap">
376 <primary sortas="b-ntfs-3g.usermap">ntfs-3g.usermap</primary>
377 </indexterm>
378 </listitem>
379 </varlistentry>
380
381 <varlistentry id="ntfscluster">
382 <term><command>ntfscluster</command></term>
383 <listitem>
384 <para>
385 identifies files in a specified region of an NTFS volume
386 </para>
387 <indexterm zone="ntfs-3g ntfscluster">
388 <primary sortas="b-ntfscluster">ntfscluster</primary>
389 </indexterm>
390 </listitem>
391 </varlistentry>
392
393 <varlistentry id="ntfscp">
394 <term><command>ntfscp</command></term>
395 <listitem>
396 <para>
397 copies a file to an NTFS volume.
398 </para>
399 <indexterm zone="ntfs-3g ntfscp">
400 <primary sortas="b-ntfscp">ntfscp</primary>
401 </indexterm>
402 </listitem>
403 </varlistentry>
404
405 <varlistentry id="ntfsfix">
406 <term><command>ntfsfix</command></term>
407 <listitem>
408 <para>
409 fixes common errors and forces Windows to check an NTFS partition.
410 </para>
411 <indexterm zone="ntfs-3g ntfsfix">
412 <primary sortas="b-ntfsfix">ntfsfix</primary>
413 </indexterm>
414 </listitem>
415 </varlistentry>
416
417 <varlistentry id="ntfsls">
418 <term><command>ntfsls</command></term>
419 <listitem>
420 <para>
421 lists directory contents on an NTFS filesystem.
422 </para>
423 <indexterm zone="ntfs-3g ntfsls">
424 <primary sortas="b-ntfsls">ntfsls</primary>
425 </indexterm>
426 </listitem>
427 </varlistentry>
428
429 <varlistentry id="ntfscat">
430 <term><command>ntfscat</command></term>
431 <listitem>
432 <para>
433 prints NTFS files and streams on the standard output.
434 </para>
435 <indexterm zone="ntfs-3g ntfscat">
436 <primary sortas="b-ntfscat">ntfscat</primary>
437 </indexterm>
438 </listitem>
439 </varlistentry>
440
441 <varlistentry id="ntfsclone">
442 <term><command>ntfsclone</command></term>
443 <listitem>
444 <para>
445 clones an NTFS filesystem.
446 </para>
447 <indexterm zone="ntfs-3g ntfsclone">
448 <primary sortas="b-ntfsclone">ntfsclone</primary>
449 </indexterm>
450 </listitem>
451 </varlistentry>
452
453 <varlistentry id="ntfscmp">
454 <term><command>ntfscmp</command></term>
455 <listitem>
456 <para>
457 compares two NTFS filesystems and tells the differences.
458 </para>
459 <indexterm zone="ntfs-3g ntfscmp">
460 <primary sortas="b-ntfscmp">ntfscmp</primary>
461 </indexterm>
462 </listitem>
463 </varlistentry>
464
465 <varlistentry id="ntfsinfo">
466 <term><command>ntfsinfo</command></term>
467 <listitem>
468 <para>
469 dumps a file's attributes.
470 </para>
471 <indexterm zone="ntfs-3g ntfsinfo">
472 <primary sortas="b-ntfsinfo">ntfsinfo</primary>
473 </indexterm>
474 </listitem>
475 </varlistentry>
476
477 <varlistentry id="ntfslabel">
478 <term><command>ntfslabel</command></term>
479 <listitem>
480 <para>
481 displays or changes the label on an ntfs file system.
482 </para>
483 <indexterm zone="ntfs-3g ntfslabel">
484 <primary sortas="b-ntfslabel">ntfslabel</primary>
485 </indexterm>
486 </listitem>
487 </varlistentry>
488
489 <varlistentry id="ntfsresize">
490 <term><command>ntfsresize</command></term>
491 <listitem>
492 <para>
493 resizes an NTFS filesystem without data loss.
494 </para>
495 <indexterm zone="ntfs-3g ntfsresize">
496 <primary sortas="b-ntfsresize">ntfsresize</primary>
497 </indexterm>
498 </listitem>
499 </varlistentry>
500
501 <varlistentry id="ntfsundelete">
502 <term><command>ntfsundelete</command></term>
503 <listitem>
504 <para>
505 recovers a deleted file from an NTFS volume.
506 </para>
507 <indexterm zone="ntfs-3g ntfsundelete">
508 <primary sortas="b-ntfsundelete">ntfsundelete</primary>
509 </indexterm>
510 </listitem>
511 </varlistentry>
512
513 <varlistentry id="libntfs-3g">
514 <term><filename class="libraryfile">libntfs-3g.so</filename></term>
515 <listitem>
516 <para>
517 contains the Ntfs-3g API functions.
518 </para>
519 <indexterm zone="ntfs-3g libntfs-3g">
520 <primary sortas="c-libntfs-3g">libntfs-3g.so</primary>
521 </indexterm>
522 </listitem>
523 </varlistentry>
524 </variablelist>
525 </sect2>
526</sect1>
Note: See TracBrowser for help on using the repository browser.