Date post: | 12-Jan-2016 |
Category: |
Documents |
Upload: | jordan-paul |
View: | 212 times |
Download: | 0 times |
UNIX COMP-145
LECTURE 3: THE UNIX FILE SYSTEM
SOURCE: S. DAS, “YOUR UNIX: THE ULTIMATE GUIDE”, 2ND EDITION, MCGRAW HILL,
2006
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 1
OBJECTIVES
• WHO IS LOGGED ON THE PATH & PRIVACY• FILE NAMING AND PROPERTIES• FILE ACCESS & NAVIGATION• TYPES & STRUCTURES OF FILES• FILE ACCESS PERMISSIONS• MOUNTING FILE SYSTEMS
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 2
BROOKDALE COMMUNITY COLLEGE 37/17/2009 rwj
WHO IS LOGGED ON & WHAT ARE THEY DOING?
• users– SHOWS A LIST OF ALL CURRENTLY LOGGED ON USERS
• who and whoami– DISPLAY A LIST OF ALL CURRENTLY LOGGED ON USERS
AND WHERE THEY ARE LOGGED ON FROM• W– SHOWS A LIST OF ALL CURRENTLY LOGGED ON USERS
AND WHAT THEY ARE RUNNING• finger– TELLS A LITTLE MORE INFORMATION ABOUT USERS
BROOKDALE COMMUNITY COLLEGE 47/17/2009 rwj
PRIVACY ISSUE?
• YOU CAN TELL WHEN SOMEONE ELSE IS LOGGED ON & EXACTLY WHAT THEY ARE DOING
• EVERYONE ELSE CAN SEE WHAT YOU ARE DOING
Is this acceptable?
THE UNIX FILE & NAMING
• A CONTAINER FOR STORING INFORMATION AND
DATA.• FILENAME - 1. LIMITED TO 255 CHARACTERS.
2. CAN’T CONTAIN / OR NULL.• FILENAMES ARE CASE-SENSITIVE, I.E.,
chap AND Chap ARE TWO DIFFERENT FILENAMES.
o Upper case “A” not same ASCII value as “a”.
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 5
BROOKDALE COMMUNITY COLLEGE 67/17/2009 rwj
THE UNIX FILE & NAMING (CONT’D)
• GROUP OF FILENAMES HELD TOGETHER IN A
DIRECTORY.
• DIRECTORY LISTING CONTAINS NAME OF THE FILE.
• BOTH FILES AND DIRECTORIES ARE SUBJECT TO
ACCESS CONTROL.
THE UNIX FILE (CONT’D)
• FILE CONTENT CAN BE ANY SEQUENCE OF ASCII CHARACTERS OR BINARY ENCODED CHARACTERS
• NEITHER FILE NAME OR SIZE IS STORED IN FILE
• FILENAMES CAN BE: Up to 255 char in length, file extensions are optional. Can’t contain “/” or NULL (ASCII value = 0 [i.e., zero] Avoid using $ ` ? * & in names
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 7
FILE TYPES
• ORDINARY OR REGULAR FILE: CONTAINS DATA AS A STREAM OF CHARACTERS. THIS FILE CAN BE A TEXT file (program sources, configuration files) – Contains only
printable and EOL characters visible with “od” command. BINARY file (executables, graphic and multimedia files).
• DIRECTORY: CONTAINS THE FILENAME AND A NUMBER (inode number).
• DEVICE FILE: CONTAINS NO DATA WHATSOEVER.
• SYMBOLIC LINK: CONTAINS THE LOCATION OF ANOTHER FILE.
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 8
PROPERTIES OF FILES
• ALL FILES HAVE THESE PROPERTIES– PERMISSIONS– LINKS
• For directories, this lists the number of subdirectories
– OWNER– OWNER GROUP– SIZE– TIMESTAMP– NAME
THE HIERARCHICAL STRUCTURE OF THE FILE SYSTEM
• A SINGLE HIERARCHICAL STRUCTURE THAT CONTAINS ALL FILES.
• TOP SIGNIFIED BY ROOT (/).• EXISTENCE OF A PARENT-CHILD
RELATIONSHIP.• PARENT OF ANY FILE MUST BE A DIRECTORY.• FILES ACCESSED WITH PATHNAMES (e.g.,
/etc/passwd).
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 10
HIERARCHICAL FILE STRUCTURE ILLUSTRATED
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 11
WHAT GOES WHERE?
• /– ROOT OF THE ENTIRE SYSTEM– COMPARABLE IN WINDOWS TO C:\
• WINDOWS, HOWEVER, HAS SEVERAL ROOTS DEPENDING ON WHAT PARTITION AND DEVICE YOU ARE LOOKING AT
• /bin– COMMONLY USED BINARIES (PROGRAMS)
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 12
WHAT GOES WHERE? (CONT’D)
• /sbin– MORE PROGRAMS TO RUN
• STATICALLY LINKED• STILL SHOULD RUN IF YOU TINKER AROUND AND MESS THINGS UP
• /usr– USER RELATED COMMANDS AS WELL AS A WHOLE BUNCH OF
RANDOM STUFF
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 13
• /lib– LIBRARIES (RE-USED FILES/EXECUTABLES) GO IN HERE
• /dev– ALL DEVICES ARE LOCATED IN HERE
• /home– TRADITIONALLY, THIS IS WHERE USER ACCOUNTS ARE
STORED
• /etc– STARTUP FILES AND CONFIGURATION FILES FOR DAEMONS
AND OTHER PROGRAMS
WHAT GOES WHERE? (CONT’D)
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 14
• /var– VARIOUS FILES GO IN HERE– TRADITIONAL LOCATION OF MAILBOXES
• /var/spool/mail
• /proc– SPECIAL FILES THAT CONTAIN INFORMATION ABOUT THE SYSTEM OR
INFO FROM RUNNING PROGRAMS
WHAT GOES WHERE? (CONT’D)
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 15
NAVIGATING THE DIRECTORY STRUCTURE
• YOU ARE ALWAYS LOCATED AT ONE LOCATION IN THE TREE
• ls– PROVIDES A LISTING OF THE CURRENT DIRECTORY
• All files and directories are shown
• cd– CHANGE DIRECTORY– “cd /” MOVES YOUR CURRENT DIRECTORY TO /– cd WITHOUT ANY ARGUMENTS MOVES YOU TO YOUR
HOME DIRECTORY
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 16
SPECIAL NOTATION FOR TRAVERSING DIRECTORIES
• .– THIS STANDS FOR THE CURRENT DIRECTORY
• ..– THIS STANDS FOR THE DIRECTORY DIRECTLY ABOVE THE
CURRENT DIRECTORY• ~– YOUR HOME DIRECTORY
• THESE DIRECTORIES CAN BE “STACKED”– “../..” STANDS FOR TWO DIRECTORIES DIRECTLY ABOVE
THE CURRENT DIRECTORY
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 17
PATHNAMES: TWO TYPES
• ABSOLUTE PATHNAME: SPECIFIES LOCATION WITH REFERENCE TO THE FILE SYSTEM TOP
(e.g, cat /etc/passwd).• RELATIVE PATHNAME: SPECIFIES LOCATION
WITH REFERENCE TO THE USER’S CURRENT LOCATION
(e.g., cd ../include).• BOTH COMMANDS AND FILENAME
ARGUMENTS CAN BE REPRESENTED IN EITHER FORM.
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 18
PATHNAMES WITH RESPECT TO FILE HIERARCHY
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 19
/
bin dev home lib tmp etcsbin usr var
dsk fd0 fd1
austin juliebin lib sbin local
progs login.sql .profile
root
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 20
USEFUL PATHNAMES
• /bin & /usr/bin directories:o User accessible - commonly used command repositoryo bin indicates binary file store
• /sbin & /usr/sbin directories.o SuperUser or Adminsitrator accessible command repository
• /etc directory o Configuration file repository: e.g., /etc/passwd & /etc/shadow.
• /dev directoryo All device fileso May have sub-dirctories: pts, dsk, rdsk
BROOKDALE COMMUNITY COLLEGE 217/17/2009 rwj
USEFUL PATHNAMES (CONT’D)
• /lib & /usr/lib DIRECTORIES:o USER ACCESSIBLE – ALL REUSABLE FILES IN BINARY FORM.
• /usr/include DIRECTORY:o USER ACCESSIBLE – ALL STANDARD HEADER FILES USED IN C
PROGRAMSo NAMING: USUALLY HAVE A SUFFIX “.h”o C-CODE #include stdio.h WHICH INSTRUCTS
COMPILER TO INCLUDE THE FILE STDIO.H WHEN IT CREATES THE EXECUTABLE FOR C-PROG.
• /usr/share/man DIRECTORY o man PAGE REPOSITORY.
• /tmp DIRECTORY• USERS CREATE TEMPORARY FILES.
BROOKDALE COMMUNITY COLLEGE 227/17/2009 rwj
USEFUL PATHNAMES (CONT’D)
• USER SPECIFIC DIRECTORIES:o/tmp DIRECTORY
REPOSITORY FOR TEMPORARY FILES; DELETED REGULARLY BY SYSTEM
o/var DIRECTORY TEMPORARY REPOSITORY FOR PRINT JOBS & E-MAIL; TEMPORARY REPOSITORY FOR IN-COMING AND OUT-
GOING E-MAILo/home DIRECTORY
OFTEN USERS LOCATED AS CHILD DIRECTORIES OF /HOME;
ABSOLUTE PATHNAME
• BEGINS WITH a / (e.g., /etc/passwd).
• FIRST / SIGNIFIES THE ROOT DIRECTORY.• SYSTEM CONFIGURATION FILES THAT
NORMALLY DON’T CHANGE LOCATION SHOULD BE ADDRESSED IN ABSOLUTE MANNER.
• USED WITH A COMMAND THAT• DOESN’T FEATURE IN PATH.• RESIDES IN TWO OR MORE DIRECTORIES OF PATH.
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 23
RELATIVE PATHNAME
• TO SIGNIFY THE CURRENT DIRECTORY USE .• TO SIGNIFY THE PARENT DIRECTORY USE .. • RP USED TO REFER TO FILES THAT ARE (1)
IMPOSSIBLE OR (2) INCONVENIENT TO ACCESS IN AN ABSOLUTE MANNER.
• RP CAN BE A SYNONYM FOR A FILENAME ARGUMENT THAT DOESN’T HAVE A /
(e.g., cat foo IS THE SYNONYM FOR cat ./foo.)
• SAME SYNONYM DOESN’T AUTOMATICALLY EXIST FOR COMMANDS.
( e.g., cat foo MAY NOT be the same as ./cat foo.)9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 24
THE HOME DIRECTORY
• DIRECTORY WHERE USER IS PLACED ON LOGIN.• DETERMINED BY SIXTH FIELD IN /etc/passwd:
romeo:x:500:100:romeo vincent:/home/romeo:/bin/bash
• CAN ALSO BE REFERRED TO BY• the shell variable $HOME (e.g. cat $HOME/foo).• tilde (~) expansion in most shells: (e.g. cat ~/foo).
• cd COMMAND USED WITHOUT ARGUMENTS RETURNS USER TO HOME DIRECTORY.
• USER CAN CREATE AND REMOVE FILES IN THEIR HOME DIRECTORY BUT NOT IN OTHER DIRECTORIES.
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 25
BROOKDALE COMMUNITY COLLEGE 267/17/2009 rwj
FILE ACCESS PERMISSIONS
-rwxrwxrwx
- rwx rwx rwx
File Type Owner Group World
- = filed = directory
OWNER, GROUP, THE WORLD
• OWNER– THE CREATOR OF THE FILE
• GROUP– A SET OF USERS GROUPED TOGETHER
• THE WORLD– EVERY OTHER ACCOUNT NOT IN THE GROUP
7/17/2009 rwj BROOKDALE COMMUNITY COLLEGE 27
BROOKDALE COMMUNITY COLLEGE 287/17/2009 rwj
READ, WRITE, EXECUTE
• READ– FILE CAN BE READ, BUT NOT MODIFIED
• WRITE– PERMISSION IS GRANTED TO MODIFY THE FILE
• EXECUTE– RUN DIRECTLY AS IF THE FILE IS A PROGRAM– ALL PROGRAMS SHOULD BE EXECUTABLE (/bin)
BROOKDALE COMMUNITY COLLEGE 297/17/2009 rwj
WHAT PERMISSIONS MEAN ON A DIRECTORY
• READ– USERS CAN GET A LISTING OF THAT DIRECTORY
• WRITE– USERS CAN CREATE AND REMOVE FILES IN THAT
DIRECTORY
• EXECUTE– USERS CAN EXAMINE FILES IN THAT DIRECTORY
BROOKDALE COMMUNITY COLLEGE 307/17/2009 rwj
CHANGING PERMISSIONS WITH CHMOD
chmod <SETTINGS> <FILE>
chmod a-x testFile
u = user
g = group
o = other
a = all
+ (add)
- (remove)
= (set)
r = read
w = write
x = execute
BROOKDALE COMMUNITY COLLEGE 317/17/2009 rwj
MORE EXAMPLES
• SET READ AND WRITE ACCESS FOR ALL?– chmod a=rw <FILE>
• ADD EXECUTABLE ACCESS FOR OTHERS?– chmod o+x <FILE>
• REMOVE ALL ACCESS FOR OWNER?– chmod u-rwx <FILE>
• SET READ, WRITE & EXECUTE ACCESS FOR ALL?– chmod a=rwx <FILE>
• 777 PERMISSIONSo Octal Representation of -rwxrwxrwxo Three binary digits or bits corresponds to one octal digit:
Read = 4, Write = 2 Execute =1 i.e., rwx = 4+2+1 = 7 chmod 750 <file> same as chmod u=rwx,g=rx,o= <file>
ADVANCED chmod USAGE
• MOST UNIX HACKERS DON’T USE THIS FORM• THEY PREFER THE MORE DIRECT APPROACH
– SET PERMISSIONS FOR OWNER, GROUP, AND OTHERS ALL WITH ONE NUMBER
• UNFORTUNATELY, THIS APPROACH REQUIRES A LITTLE BIT OF INFORMATION
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 32
MOUNT & Un-mount
• COMMAND LINE UTILITIES.• REQUIRE ROOT USER PRIVILEGE OR THE
CORRESPONDING FINE-GRAINED PRIVILEGE, EXCEPT IF THE FILE SYSTEM IS DEFINED AS "user mountable" IN /etc/fstabfile FILE (ONLY BE MODIFIABLE BY THE ROOT USER).• mount
o INSTRUCTS THE OS THAT A FILE SYSTEM IS READY TO USE, o ASSOCIATES IT WITH A PARTICULAR POINT IN THE SYSTEM'S FILE
SYSTEM HIERARCHY (ITS MOUNT POINT).NOTE: EACH MOUNT POINT IS MAPPED TO A REMOTE FILE
• unmount o INSTRUCTS THE OS THAT THAT THE FILE SYSTEM SHOULD BE
DISASSOCIATED FROM ITS MOUNT POINT, I.E., MAKE IT NO LONGER ACCESSIBLE.
9/21/2009 rwj BROOKDALE COMMUNITY COLLEGE 33
BROOKDALE COMMUNITY COLLEGE 347/17/2009 rwj
Backup Slides
BROOKDALE COMMUNITY COLLEGE 357/17/2009 rwj
man Page Sections & What They Mean
• 1 – USER COMMANDS• 2 – SYSTEM CALLS• 3 – C LIBRARY ROUTINES• 4 – ADMINISTRATIVE FILES• 5 – MISCELLANEOUS• 6 – GAMES• 7 – I/O AND SPECIAL FILES• 8 – SYSTEM ADMINISTRATION COMMANDS
BROOKDALE COMMUNITY COLLEGE 367/17/2009 rwj
More on man
• OTHER SECTIONS EXIST (SUCH AS THE PERL REFERENCE MANUAL AND THE TCL REFERENCE MANUAL)
• -A WILL SHOW ALL THE MAN PAGES THAT MATCH– First is shown by default
• HOW WOULD YOU FIND OUT MORE ABOUT MAN?– man man