13.07.2015 Views

An Operating Systems Vade Mecum

An Operating Systems Vade Mecum

An Operating Systems Vade Mecum

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Access control 197Execute privilege is different from Read privilege. One way to distinguish programsfrom data files is by granting Execute privilege over programs. In addition, proprietarysoftware is often licensed by the manufacturer to be used but not to be copied. In orderto copy a file, a subject must be able to read it. Separating the Execute and the Readprivileges lets us prohibit copying but not execution.The Privilege privilege allows a subject to grant new privileges or revoke oldprivileges. It is rarely granted to any subject but the owner because it is so powerful.The SetOwner privilege is even more powerful and may be reserved for administrators.We can represent the state of all access rights by constructing an access matrix, asshown in Figure 6.4. Each row in the access matrix represents one subject, and eachcolumn represents one object. The subjects are users, and the objects are files. Theinformation stored in the entry for a given row and column is the list of privileges thatsubject has over that object. Figure 6.4 only uses the Read, Write, Append, Delete, andExecute privileges and abbreviates each to one letter.All the users in Figure 6.4 may read the news file, and all may execute the editorfile. Marduk is allowed to read or write any file. Fred may read, write, or delete his ownmail file. Many other users may append to that mail file but not read it. Mottl isn’t evenallowed to append to Fred’s mail file. Ramon and Cheri share letters/love.text.Ramon may read and write this file, and Cheri may read it and delete it. Kealoha mayread, write, and delete her prog.text file, and she has allowed Murali to read it aswell.The access matrix is purely a logical construct that we can use to reason about theaccess control situation. It would be unreasonable to store the matrix in one piece, eitherin main store or on secondary store, because it is so large. However, we can divide it upand store it in pieces.objectsfred/letters/mail news love.text editor prog.textfredRWDREmuraliARERsubjectsramonARRWEcheriARRDElottaAREmottlREmardukRWD RWD RWD RWED RWDkealohaARERWDFigure 6.4 <strong>An</strong> access matrix

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!