LTOOLS - Accessing Your Linux Files from Windows 9x and Windows NT
Using the LTOOLS may, to a certain extent, pose security problems. Any user may access and modify files on the Linux file system; change file access rights or file owners; exchange password files, and so on. However, this is possible with a simple disk editor, too. Nevertheless, unlimited access is only possible if running DOS or Windows 9x. Under Windows NT, the LTOOLS user needs to have administration rights to access the hard disk directly. In most standard installations of UNIX/Linux, only the system administrator has access rights for the raw disk devices /dev/hda, /dev/hda1, etc.
The LTOOLS are not the only solution for accessing Linux files from DOS/Windows. Probably, Claus Tondering's Ext2tool /6/, a set of command line tools developed in 1996, was the first solution for this problem. However, Ext2tool is restricted to read-only access and does not run under Windows NT. Based on the Ext2tool, in 1997, Peter Joot wrote a windows NT version, still limited to read only /7/. Both programs were written in C and source codes are available.
John Newbigin provides us with Explore2fs /8/, which comes with a very nice GUI and runs under Windows 9x and Windows NT. With read and write access, it provides the same features as LTOOLgui. By the way, John has done great work; he even managed to implement Microsoft's 32bit to 16bit thunking (see above) under Borland's Delphi! All Delphi programs Explore2fs integrate 'seamlessly' into Windows, but porting to non-Windows operating systems may be difficult.
The first version of the LTOOLS, with the original name “lread”, was created by Jason Hunter and David Lutz at Willamette University in Salem, Oregon. This first version ran under DOS, could show Linux directory listings and copy files from Linux to DOS, and was limited to small IDE hard disks and Linux on primary partitions.
I took over maintenance and further development in 1996. Since then, the LTOOLS have learned to deal with bigger hard disks, access SCSI drives, and run under Windows 9x and Windows NT. They have additional write access and were ported back to UNIX run under Solaris and Linux itself. They now have a web browser-based and a Java-based graphical user interface, etc. Many Linux users, most of them named in the source code, helped in testing and debugging. Thank you.
In the meantime, LTOOLS reached version V4.7 /1/ at the time this article was written. Besides additional features, a lot of bugs have been fixed—and most likely new ones have been introduced. A common problem has persisted over the years: Nobody foresaw the rapid advances in hard disk technology, where disk sizes have exploded and consistently hit operating system limits. Do you remember DOS's problems with 512MB disks, Windows 3.x problems with 2GB partitions, BIOS's limit at 8GB and the various problems that Windows NT had at 2GB, 4GB and 8GB? It was only a short time ago. And, by the way, even Linux has its problems. In kernels previous to 2.3, no file could exceed 2GB, as Linux, like most 32bit UNIX systems, uses a signed 32bit offset pointer in read() or write(). (This is resolved in kernel 2.4 by changing offsets to 64bit values, but maintaining upward compatibility may drive Linux into the same problems that we discussed for Windows above.) Software standardization for disk access has always occurred much slower than the disk developers pace, so they invented proprietary solutions to overcome the operating system limits. As always, the developers of LTOOLS—and many other programmers—had to deal with it. So don't be angry if the LTOOLS don't work for you on your brand new 64GB drive. It's open source, so simply try to help debug and further develop them.
Don't forget, if you use the LTOOLS, you do so at your own risk! Read-only access to Linux is not critical. However, if you use write access to delete files or modify file attributes on your Linux disk, the LTOOLS—and you as the user—can create a real mess, so always keep a backup.
In “real life”, Werner Zimmermann (Werner.Zimmermann@fht-esslingen.de) teaches control engineering, digital systems and computer architecture at the FH Esslingen—University of Applied Sciences, Esslingen, Germany. He has a hardware and software background in automotive and industrial embedded systems. His “career” as a Linux system software developer started in 1994, when he purchased a CD-ROM drive, which was not supported by Linux. He developed aztcd.c, a Linux CD-ROM driver, which is still included in all standard Linux kernels, even if the drive now is very much outdated (http://www/it.fht-esslingen.de/~zimmerma/).
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- Users, Permissions and Multitenant Sites
- New Products
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- Tighten Up SSH
- DevOps: Everything You Need to Know
- Solving ODEs on Linux
- Non-Linux FOSS: MenuMeters
- Nmap—Not Just for Evil!