Welcome to the Slackware Documentation Project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
slackbook:working_with_filesystems [2012/09/09 22:55 (UTC)]
mfillpot [Using mount] Added original text with formatting
slackbook:working_with_filesystems [2012/09/12 21:34 (UTC)]
mfillpot updated code block to syntax highlighting
Line 164: Line 164:
  
  
-<​code>​+<​code ​bash>
 darkstar:~# mount -t vfat /dev/hda4 /mnt/hd -o uid=alan darkstar:~# mount -t vfat /dev/hda4 /mnt/hd -o uid=alan
 </​code>​ </​code>​
Line 179: Line 179:
  
  
-<​code>​+<​code ​bash>
 darkstar:~# cat /etc/fstab darkstar:~# cat /etc/fstab
 /​dev/​hda1 ​       /                reiserfs ​   defaults ​              ​1 ​  1 /​dev/​hda1 ​       /                reiserfs ​   defaults ​              ​1 ​  1
Line 195: Line 195:
  
  
-<​code>​+<​code ​bash>
 darkstar:~# mount /dev/cdrom darkstar:~# mount /dev/cdrom
 darkstar:~# mount /home darkstar:~# mount /home
Line 209: Line 209:
 ===== Network Filesystems =====  ===== Network Filesystems ===== 
  
-In addition to local filesystems,​ Slackware supports a number of network filesystems as both client and server. This allows you to share data between multiple computers transparently. We'll discuss the two most common: NFS and SMB. +In addition to local filesystems,​ Slackware supports a number of network 
 +filesystems as both client and server. This allows you to share data 
 +between multiple computers transparently. We'll discuss the two most 
 +common: NFS and SMB. 
 ==== NFS ====  ==== NFS ==== 
  
-NFS is the Network File System for Linux as well as several other common operating systems. It has modest performance but supports the full range of permissions for Slackware. In order to use NFS as either a client or a server, you must run the remote procedure call daemon. This is easily accomplished by setting the ///​etc/​rc.d/​rc.rpc// file executable and telling it to start. Once it has been set executable, it will run automatically every time you boot into Slackware.+NFS is the Network File System for Linux as well as several other common 
 +operating systems. It has modest performance but supports the full range of 
 +permissions for Slackware. In order to use NFS as either a client or a 
 +server, you must run the remote procedure call daemon. This is easily 
 +accomplished by setting the ''​/​etc/​rc.d/​rc.rpc'' ​file 
 +executable and telling it to start. Once it has been set executable, it 
 +will run automatically every time you boot into Slackware. ​ 
  
-<​code>​+<​code ​bash>
 darkstar:~# chmod +x /​etc/​rc.d/​rc.rpc darkstar:~# chmod +x /​etc/​rc.d/​rc.rpc
 darkstar:~# /​etc/​rc.d/​rc.rpc start darkstar:~# /​etc/​rc.d/​rc.rpc start
 </​code>​ </​code>​
  
-Mounting an NFS share is little different than mounting a local filesystem. Rather than specifying a local device, you must tell mount the domain name or IP address of the NFS server and the directory to mount with a colon between them. 
  
-<​code>​+Mounting an NFS share is little different than mounting a local filesystem. 
 +Rather than specifying a local device, you must tell mount the domain name 
 +or IP address of the NFS server and the directory to mount with a colon 
 +between them.  
 + 
 + 
 +<​code ​bash>
 darkstar:~# mount -t nfs darkstar.example.com:/​home /home darkstar:~# mount -t nfs darkstar.example.com:/​home /home
 </​code>​ </​code>​
  
-Running an NFS server is a little bit different. First, you must configure each directory to be exported in the ///​etc/​exports//​ file. //​exports(5)//​ contains information about what directories will be shared, who they will be shared with, and what special permissions to grant or deny. 
  
-<code>+Running an NFS server is a little bit different. First, you must configure 
 +each directory to be exported in the ''/​etc/​exports''​ 
 +file. ''​exports''​(5) contains information about what 
 +directories will be shared, who they will be shared with, and what special 
 +permissions to grant or deny.  
 + 
 + 
 +<file>
 # See exports(5) for a description. # See exports(5) for a description.
 # This file contains a list of all directories exported to other computers. # This file contains a list of all directories exported to other computers.
Line 234: Line 254:
  
 /​home/​backup 192.168.1.0/​24(sync,​rw,​no_root_squash) /​home/​backup 192.168.1.0/​24(sync,​rw,​no_root_squash)
-</code>+</file>
  
-The first column in exports is a list of the files to be exported via NFS. The second column is a list of what systems may access the export along with special permissions. You can specify hosts via domain name, IP address, or netblock address (as I have here). Special permissions are always a parenthetical list. For a complete list, you'll need to read the man page. For now, the only special option that matters is [no_root_squash]. Usually the root user on an NFS client cannot read or write an exported share. Instead, the root user is "​squashed"​ and forced to act as the nobody user. [no_root_squash] prevents this. 
  
-You'​ll ​also need to run the NFS daemonStarting and stopping NFS server support is done with the ///etc/rc.d/rc.nfsd// rc script. Set it executable and run it just like we did for rc.rpc ​and you are ready to go.+The first column in 
 +''​exports''​ 
 +is a list of the files to be exported via NFS. The second column is a list 
 +of what systems may access the export along with special permissions. ​You 
 +can specify hosts via domain name, IP address, or netblock address (as I 
 +have here). Special permissions are always a parenthetical list. For a 
 +complete list, you'll need to read the man pageFor now, the only special 
 +option that matters is //no_root_squash//. Usually the root user on 
 +an NFS client cannot read or write an exported shareInstead, the root 
 +user is //"​squashed"​// and forced ​to act as the nobody user. 
 +//​no_root_squash//​ prevents this.
  
 +
 +You'll also need to run the NFS daemon. Starting and stopping NFS server
 +support is done with the ''/​etc/​rc.d/​rc.nfsd''​ rc script.
 +Set it executable and run it just like we did for
 +''​rc.rpc''​ and you are ready to go. 
 ==== SMB ====  ==== SMB ==== 
  
-SMB is the Windows network file-sharing protocol. Connecting to SMB shares (commonly called samba shares) is fairly straight forward. Unfortuantely,​ SMB isn't as strongly supported as NFS. Still, it offers higher performance and connectivity with Windows computers. For these reasons, SMB is the most common network file-sharing protocol deployed on local networks. Exporting SMB shares from Slackware is done through the samba daemon and configured in //smb.conf(5)//. Unfortunately configuring samba as a service is beyond the scope of this book. Check online for additional documentation,​ and as always refer to the man page.+SMB is the Windows network file-sharing protocol. Connecting to SMB shares 
 +(commonly called samba shares) is fairly straight forward. Unfortuantely,​ 
 +SMB isn't as strongly supported as NFS. Still, it offers higher performance 
 +and connectivity with Windows computers. For these reasons, SMB is the most 
 +common network file-sharing protocol deployed on local networks. Exporting 
 +SMB shares from Slackware is done through the samba daemon and configured 
 +in ''​smb.conf''​(5). Unfortunately configuring samba as a 
 +service is beyond the scope of this book. Check online for additional 
 +documentation,​ and as always refer to the man page.  
 + 
 + 
 +Thankfully mounting an SMB share is easy and works almost exactly like 
 +mounting an NFS share. You must tell mount where to find the server and 
 +what share you wish to access in exactly the same way. Additionally,​ you 
 +must specify a username and password
  
-Thankfully mounting an SMB share is easy and works almost exactly like mounting an NFS share. You must tell mount where to find the server and what share you wish to access in exactly the same way. Additionally,​ you must specify a username and password. 
  
-<​code>​+<​code ​bash>
 darkstar:~# mount -t cifs //​darkstar/​home /home -o username=alan,​password=secret darkstar:~# mount -t cifs //​darkstar/​home /home -o username=alan,​password=secret
 </​code>​ </​code>​
  
-You may be wondering why the filesystem type is cifs instead of smbfs. In older versions of the Linux kernel, smbfs was used. This has been deprecated in favor of the better performing and more secure general purpose cifs driver. 
  
-All SMB shares require the [username] and [password] arguments. This can create a security problem if you wish to place your samba share in fstab. ​You may avoid this problem by using the [credentials] argument[credentials] points to a file which contains ​the username and password informationAs long as this file is safely guarded ​and readable only by root, the likelyhood that your authentication credentials will be compromised is lessened.+You may be wondering why the filesystem type is cifs instead of smbfsIn 
 +older versions of the Linux kernel, smbfs was usedThis has been 
 +deprecated in favor of the better performing ​and more secure general 
 +purpose cifs driver
  
-<​code>​+ 
 +All SMB shares require the //​username//​ and //​password//​ 
 +arguments. This can create a security problem if you wish to place your 
 +samba share in fstab. You may avoid this problem by using the 
 +//​credentials//​ argument. //​credentials//​ points to a file 
 +which contains the username and password information. As long as this file 
 +is safely guarded and readable only by root, the likelyhood that your 
 +authentication credentials will be compromised is lessened.  
 + 
 + 
 +<​code ​bash>
 darkstar:~# echo "​username=alan"​ > /​etc/​creds-home darkstar:~# echo "​username=alan"​ > /​etc/​creds-home
 darkstar:~# echo "​password=secret"​ >> /​etc/​creds-home darkstar:~# echo "​password=secret"​ >> /​etc/​creds-home
 darkstar:~# mount -t cifs //​darkstar/​home -o credentials=/​etc/​creds-home darkstar:~# mount -t cifs //​darkstar/​home -o credentials=/​etc/​creds-home
 </​code>​ </​code>​
 +
 +====== Chapter Navigation ======
 +
 +**Previous Chapter: [[slackbook:​filesystem_permissions|Filesystem Permissions]]**
 +
 +**Next Chapter: [[slackbook:​vi|vi]]**
 ====== Sources ====== ====== Sources ======
- * Original source: [[http://​www.slackbook.org/​beta/]] +<!-- If you copy information from another source, then specify that source --> 
 +  * Original source: [[http://​www.slackbook.org/​beta]] ​\\ 
 +<!-- Authors are allowed to give credit to themselves! --> 
 +  * Originally written by Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson 
 +<!-- * Contrbutions by [[wiki:​user:​yyy | User Y]] -->
  
 <!-- Please do not modify anything below, except adding new tags.--> <!-- Please do not modify anything below, except adding new tags.-->
-{{tag>​slackbook filesystem mount}}+<!-- You must also remove the tag-word "​template"​ below. Otherwise your page will not show up in the Table of Contents --> 
 +{{tag>​slackbook filesystem ​network_filesystems nfs smb mount}}

In Other Languages
QR Code
QR Code slackbook:working_with_filesystems (generated for current page)