This is an old revision of the document!
Linux File Storage in EECS
Linux Home Directory
Every EECS Linux account has an associated home directory (aka “home area”) where all files are stored by default. When you log into an EECS Linux system, whether directly or via remote access such as SSH or RealVNC, your account's home directory is automatically attached (“mounted”) to /home/username
. So if your username is “jruser” all your files are now mounted at /home/jruser
.
Your files are not actually stored on the hard drives or other permanent storage attached to the login systems such as the lab computers. Instead, your files are stored on a file server in the EECS datacenter and are remotely accessed over the network.
Network Storage Directories
If you are a member of a professor's research group or have been otherwise given special access, you may be able to use a directory in one of the two storage areas maintained by EECS:
/research
- Sub-directories in this hierarchy are RAID-protected and backed up nightly./storage
- Sub-directories in this hierarchy are RAID-protected but not regularly backed up.
To access one of these directories, you can cd
into the appropriate sub-directory. For example, if you have been given access to the foo
research directory, you would type:
cd /research/foo
Please note that these directories are only viewable after they are accessed. If you cd
into /research
you will not see a full listing of all available research directories. However, if you cd
into /research/foo
then the foo
directory will appear.
File Permissions
Showing Permissions
The ls -l
command shows file permissions in the leftmost column of the output. Permissions are displayed in three blocks:
- User Permissions ~– permissions that apply to the file's owner
- Group Permissions ~– permissions that apply to the file's group
- Other Permissions ~– (often called “world” permissions) permissions that apply to everyone not covered by the above. Note that this means a file that is other-readable but not group-readable is not readable to a member of the group.
Permissions are:
r
~– Readablew
~– Writablex
~– Executable (or being able to enter a directory)
There are additional permissions that can be set such as setUID and setGID, the “sticky bit”, etc. For more information on how to use these and what they mean, please see one of the many guides to file permissions, for example:
- The Wikipedia entry on File_system_permissions#Traditional_Unix_permissions
- Linux.com's guide to Understanding Linux File Permissions
Example File Permissions
jruser:hydra9 ~> ls -l -rwxr-x---. 1 jruser jruser 1024 Apr 9 13:20 myFile
Directory Listing Elements
Click on the different elements below for an explanation.
Sharing Files
In most situations, you do not want your EECS files to be readable or writable by other users on the system. EECS home directories are not meant as a place to share files with others. Thus, by default, files are not accessible to anyone but the end user. In a system (like is the case with EECS) where User Private Groups are in effect, even changing the group permission on a file does not make it accessible to other users.
Writable Files
Do not make files in your home directory writable to all users (others), aka “world-writable”.
Files in your webhome
directory will need to be readable but should not be writable by other users. Under certain circumstances, it may be necessary to give other users access to some of your EECS files or directories. Below are some scenarios and the recommended way of granting access:
Shared Research
Files that need to be shared between members of a research group should be stored in the appropriate /research
directory.
Each faculty members may request a /research
directory for their group. Please contact the EECS IT Staff for more help.
Group ownership of research files should be that of the associated Linux group. So, for example, if you are a member of a research group named Foolab, you should store all your research-related files in /research/foolab
and the files should be group-owned by the foolab
Linux group:
jruser:hydra9 /research/foolab>ls total 8 drwxrwx---. 3 jruser foolab 42 Aug 25 2005 important/ drwxrwx---. 2 jruser foolab 6 Feb 6 2013 more_important/ -rw-rw----. 1 jruser foolab 2693 Oct 21 2016 somefile
Shared Projects
If you have short-term projects (e.g. for a class) which require sharing files with other users, you can request a special Linux group to be created for your project. Please contact the EECS IT staff with the following information:
- Description of the project
- Members of the project group
- Faculty sponsor
- Project duration
- File storage requirements
The EECS IT staff will help you design the right kind of solution.
Ad-hoc Sharing
If you need to quickly share a file with others, consider using one of UT's recommended cloud file storage options such as Microsoft OneDrive or Google Drive File Stream. You can access these from any web browser on our Linux systems.