Dealing with Read and Write Passwords

MSS file read and write passwords are difficult to fit into a POSIX-style interface. However, since the MSS currently implements neither permission nor access control lists (ACLs), we must deal with read and write passwords.

Since many of the commands accept multiple MSS file names, and the individual files could have separate read or write passwords, you may give the password options multiple times on a single command line. The given password option applies to every MSS file from that point on (reading left to right), until changed by another option. In this fashion, a group of MSS files with the same password or different passwords may be manipulated. However, this could quickly become confusing.

The following two options apply to existing MSS files that have a read or write password set currently, or to a new file being created with msrcp:

-rpwd password

Supply the read password for MSS files.

-wpwd password

Supply the write password for MSS files.

You may give a null password (i.e. -rpwd '' with no space between the quotes) to indicate subsequent MSS files do not (or should not) have a password. For example, if the MSS file abc has a read password of secret, and the MSS file def has no read password, you could set the comment for both MSS files with either of the following commands:

mscomment -c "A comment" -rpwd secret abc -rpwd '' def

or:

mscomment -c "A comment" def -rpwd secret abc

The following options may be used to set a new read or write password with some of the metadata commands:

-newr password

Supply the new read password for MSS files.

-neww password

Supply the new write password for MSS files.

You may give OFF as the password (i.e. -newr OFF) to indicate subsequent MSS files should have the current password removed. For example, if the MSS files abc and def have a read password of secret, and you wish to set a new read password of private for abc and remove the password for def, you could use the following command:

mspasswd -rpwd secret -newr private abc -newr OFF def

Perhaps the worst simple example is moving an existing MSS file file1 with read abc and write def passwords to replace an existing MSS file file2 with read ghi and write jkl passwords and specifying new read mno and write pqr passwords:

msmv -f -rpwd abc -wpwd def file1 -rpwd ghi \
     -wpwd jkl -newr mno -neww pqr file2

Note

If an MSS file has both read and write passwords, the MSS file can not be removed unless you provide both passwords. You should also note that this method of specifying the passwords means you can not access an MSS file with a name of one of the password options unless you escape it by specifying a directory in front of the name.

The msls command displays simulated permissions for MSS files and directories. For directories, the owner and other permissions are always displayed as rwx, and the group permissions are always displayed as ---. For files, the owner permissions are always displayed as rw-, group permissions are always displayed as ---, and the other permissions indicate whether the MSS file actually has a read and/or write password. The other permissions display an r if the file is readable by everyone (no read password), and display a w if the file is writable by anyone (no write password). For example:

-rw----rw-  1 AUSER  01234567      4403 Aug 27 16:41 one
-rw----r--  1 AUSER  01234567    391168 Mar  3  1993 two
-rw-------  1 AUSER  01234567   1204992 Jul  7  1992 three

The file named one is read/write for others (it has no read password and no write password). File two is readable by others, but not writable by others (no read password, but it does have a write password). File three is neither readable nor writable by others (it has both read and write passwords). Of course, if you know the read/write password, then you can read/write the file.

Note

The owner permissions are always displayed as read/write, but if an MSS file has a read (or write) password, the owner must provide that password when reading (or writing) the MSS file or otherwise manipulating the MSS file's metadata.