home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 3 / CDPDIII.bin / pd / utilities / misc / multiuser / multiuser.doc next >
Text File  |  1993-03-30  |  30KB  |  725 lines

  1.  
  2.                                                                   
  3.                    / / / /                                        
  4.                   / / / /
  5.             \ \ \ \/ / /      -+*+- MultiUser Release 1.2a -+*+-
  6.              \ \/\ \/ /                                           
  7.               \ \/\ \/                                            
  8.  
  9.  
  10. DISCLAIMER
  11.  
  12. WITH  THIS  DOCUMENT  I  MAKE  NO  WARRANTIES  OR  REPRESENTATIONS,  EITHER
  13. EXPRESSED  OR  IMPLIED,  WITH RESPECT TO THE PRODUCT DESCRIBED HEREIN.  THE
  14. INFORMATION  PRESENTED  HEREIN IS BEING SUPPLIED ON AN "AS IS" BASIS AND IS
  15. EXPRESSLY  SUBJECT TO CHANGE WITHOUT NOTICE.  THE ENTIRE RISK AS TO THE USE
  16. OF  THIS  INFORMATION IS ASSUMED BY THE USER.  IN NO EVENT WILL I BE LIABLE
  17. FOR  DIRECT,  INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES RESULTING FROM
  18. ANY  CLAIM  ARISING OUT OF THE INFORMATION PRESENTED HEREIN, EVEN IF I HAVE
  19. BEEN ADVISED OF THE POSSIBILITIES OF SUCH DAMAGES.
  20.  
  21.  
  22. COPYRIGHT
  23.  
  24.   This  package  is freeware.  This means you can copy it freely as long as
  25. you  don't  ask any money for it, except perhaps a nominal fee for copying.
  26. The package is however Copyright © Geert Uytterhoeven, All Rights Reserved.
  27. The  author  reservers  the  right  to  change  the  status of this package
  28. whenever he may find it appropriate.
  29.  
  30.   This  package  should not be spread in any other form than an LhA archive
  31. and  all  parts  of  it  should be spread together.  The package may not be
  32. altered  in  any way and cannot be used for commercial purposes without the
  33. prior written permission of the author.
  34.  
  35.   If  you  want the development of the MultiUserFileSystem to continue, you
  36. can  help  us  in  our  monetary needs by sending some money to the address
  37. listed at the end of this document.
  38.  
  39.  
  40. 1. Introduction
  41.  
  42.   You've  got  an Amiga with Kickstart 2.0 or higher and several people are
  43. regularly  fooling  around  with it ...  Last week your sister deleted your
  44. 20MB  GIF collection by mistake and you don't want this to happen again ...
  45. Well, here's the answer:  The Multi-User File-System, short muFS!
  46.  
  47.   muFS allows you to create a *IX-like environment where several users live
  48. together  in  harmony,  unable  to delete each others files, unable to read
  49. those  private  love-letters  of  other users ...  And this even if several
  50. users  are working on the machine at the same time (on a terminal hooked up
  51. to the serial port) ...
  52.  
  53.   You  are  the  sole user of your computer?  Well, make sure it stays that
  54. way by installing muFS!  People without a valid login ID and password won't
  55. be  able  to access files you have made private with muFS.  If you make all
  56. files  private  (not readable for others), the only useful thing they could
  57. do, is boot from a floppy ...
  58.  
  59.   So  you see, you simply have to install muFS ...  To live without it is a
  60. bore!
  61.  
  62.  
  63. 2. System Requirements
  64.  
  65.   Your Amiga should be equipped with Kickstart 2.04 (37+) or higher.  Since
  66. the  aim  of the program is to protect files on a harddisk, you'll probably
  67. need one, though it could also (in theory) be used on floppy-disks.
  68.  
  69.   The  package was written on an A4000/040 running Kickstart 39.106 and was
  70. tested on the following configurations:
  71.  
  72.   - A4000/040, 120 MB IDE harddisk, 2 MB chip-ram, 8 MB fast-ram
  73.  
  74.   - A4000/040,  120  MB  IDE harddisk, 2 MB chip-ram, 8 MB fast-ram, Retina
  75.     graphics board, Retina WB emulation
  76.  
  77.   - A3000T  25MHz,  500+  MB  harddisk,  2  MB chip-ram and 16 MB fast ram,
  78.     Kickstart  37.175,  GVP  '040  accel,  Retina graphics board, Retina WB
  79.     emulation,  Vortex  486  SLC  board  (this  is  shit!), Amax II+, IV-24
  80.     graphics  board,...   ( Not mine :-( A demonstration model in a store I
  81.     frequently visit :^) )
  82.  
  83.   - A3000 25MHz,  52 MB + 120 MB harddisk, 2 MB chip-ram and some MB static
  84.     column ram.  Kickstart 39.110 (developer)
  85.  
  86.   - A500,  20 MB harddisk (A590 XT), 512 K chip-ram, 512 K ranger-mem, 2 MB
  87.     fast-ram,  old  chipset,  68010  processor,  kickstart  2.04 softkicked
  88.     (developer)
  89.  
  90.   On  all  these  configuration  the  file-system seemed to work fine, so I
  91. guess you can run it on almost any machine (with a bit of spare memory).
  92.  
  93.   You  do  need  the  reqtools.library  version  38 or higher.  Reqtools is
  94. Copyright © Nico François.  If you want to use SetOwner, you need Kickstart
  95. 39.106  or  higher.   37.xx  users  can  replace SetOwner by the SetOwner37
  96. command.
  97.  
  98.  
  99. 3. Installation
  100.  
  101.   o Extract  the  muFS.lha  archive and change the current directory to the
  102.     directory where you have extracted the archive to.  (Preferably RAM:)
  103.  
  104.   o Copy the necessary stuff with the following Copy commands:
  105.  
  106.                      Copy Libs/multiuser.library LIBS:
  107.                      Copy L/multiuserfilesystem  L:
  108.                      Copy C/#?                   C:
  109.  
  110.   o If  you've  got  installed the TCP/IP packet from Commodore (AS225) you
  111.     already have a valid password file (inet:db/passwd).  Make sure there's
  112.     an  entry  for  a 'root' user with 65535 for the user and group number,
  113.     e.g.:
  114.  
  115.     root||65535|65535|The Bastard Operator From Hell|SYS:Homes/Root|cli
  116.           ^^^^^ ^^^^^
  117.  
  118.   o If  you  haven't  installed  the  TCP/IP packet from Commodore you must
  119.     create a password-file with the following commands:
  120.  
  121.                          Assign  inet:     S:
  122.                          MakeDir inet:db
  123.                          Copy    db/passwd inet:db
  124.  
  125.     Append the next line to your S:User-Startup file:
  126.  
  127.                               Assign inet: S:
  128.  
  129.   o Append  the  next  line  to  your  S:User-Startup file (AFTER any inet:
  130.     assign definitions!):
  131.  
  132.                              Logout GUI GLOBAL
  133.  
  134.   o Pick  a  name  for  your  computer  ...   This  name will appear in the
  135.     login/out   requester.    Let's   say   you   wanna  call  your  system
  136.     "Pythagoras", then you have to execute the following:
  137.  
  138.                     Echo "Pythagoras" >ENVARC:HostName
  139.  
  140.   o Start HDToolBox to install the Multi-User File-System
  141.  
  142.       NOTE: The  following  text  describes  the  use  of  the  version  of
  143.             HDToolBox  that  is  supplied  with  3.0.   Other  versions may
  144.             slightly differ.
  145.  
  146.       x Choose  the drive you want to protect.  If you want to protect more
  147.         than  one  drive,  you  simply  repeat this for each of the drives.
  148.         Select  the  drive  by  clicking  on  it  in the listview where all
  149.         connected drives are displayed.
  150.  
  151.       x Press  the  <Partition  Drive>  button.   Now  a new display should
  152.         appear  containing a large box which may be divided up into several
  153.         partitions ...
  154.  
  155.       x Activate  the  <Advanced  Options>  checkbox.   Now some additional
  156.         options should appear ...
  157.  
  158.       x Press  the  <Add/Update...> button in the filesystem section of the
  159.         HDToolBox    window.     (There's    only    one   gadget   labeled
  160.         <Add/Update...>, so you can't miss it.)
  161.  
  162.       x Now  the  window  should  contain  a  list  of  currently installed
  163.         file-systems and some additional buttons.  If you are updating your
  164.         Multi-User  File-System,  there should already be an entry with the
  165.         0x6d754653  identifier.  If this is the case, click on it and press
  166.         <Update  File  System...>,  in  all other cases, press the <Add New
  167.         File System...> button.
  168.  
  169.       x Now  a  requester  appears.   Enter  "L:MultiUserFileSystem" in the
  170.         string-gadget  of  the requester and "0x6d754653" in the identifier
  171.         (also  called  DosType)  gadget.  If your version of HDToolBox asks
  172.         you to enter a version number, you should use 39.  Some versions of
  173.         HDToolbox  (the  one  with  3.0) uses two requesters for the needed
  174.         information,  so  it  may be necessary to select the <Ok> button of
  175.         the requester before you can fill in the DosType.
  176.  
  177.       x Press  the  <Ok>  button of the requester (if you haven't done this
  178.         yet).   Now you should be back in the FileSystems display.  Go back
  179.         to the Partitions display by pressing the <Ok> button.
  180.  
  181.       x Select  the  partition on the drive that you wanna protect.  If you
  182.         want  to  protect  more  than  one  partition (it is recommended to
  183.         protect  all  partitions  on  the  drive),  you  simply  repeat the
  184.         following  stuff  for  every  partition.  You select a partition by
  185.         clicking  on  the  part  of  the  large  box (which represents your
  186.         harddisk) that represents that partition.
  187.  
  188.       x Press the <Change ...> or <Change File System> button.
  189.  
  190.       x Select  the <Custom File System> gadget and enter "0x6d754653" into
  191.         the <Identifier> gadget.
  192.  
  193.       x Press  the  <Ok>  button  to return to the Partitions display.  You
  194.         should  repeat  the  above steps for all the partitions you wish to
  195.         protect before continuing ...
  196.  
  197.       x Press the <Ok> button to return to the main HDToolBox display.
  198.  
  199.       x Press  the  <Save Changes to Drive> button.  If HDToolBox complains
  200.         that  there  isn't  enough  space  on  the drive to save all of the
  201.         configuration data, you should return to the FileSystem Maintenance
  202.         section  of HDToolBox by pressing <Partition Drive> and <Add/Update
  203.         ...>  buttons.   Now you should select another file-system than the
  204.         one  with identifier 0x6d754653, press <Delete File System>, return
  205.         to  the  main  HDToolBox  display  and try saving the configuration
  206.         again.   Note  that  you  should  make  sure  no partitions use the
  207.         filesystem  you  just  deleted!  This is why it is recommended that
  208.         all partitions on the drive should use the Multi-User File-System.
  209.  
  210.       x Select  Exit and confirm the reboot request of HDToolBox.  Now your
  211.         machine should automaticly reset.
  212.  
  213.   o After  the  reboot,  a  requester  should  appear  (if  you changed the
  214.     S:User-Startup  correcly  and  copied  the library into LIBS:).  Simply
  215.     enter  "root" as login id.  You should now be logged in as root, having
  216.     access to all files.
  217.  
  218.   o The first thing you should do is to change your password.  This is done
  219.     by  entering  the  Passwd  GUI  command in a shell you open or with the
  220.     <Execute  Command  ...>  option  of the Workbench.  You are prompted to
  221.     enter  your  old password, so simply press enter.  Now you are asked to
  222.     enter  your  new password twice.  If you enter the same password twice,
  223.     this  will from now on (until you change it again) be the password root
  224.     has to enter at a login request.
  225.  
  226.   o Now  you  have  to  protect some important files using the MProtect and
  227.     SetOwner(37)  commands.   We will use SetOwner in this description, but
  228.     if  you  aren't  using  Kickstart  39.106  or  higher,  you  should use
  229.     SetOwner37 instead!
  230.  
  231.              SetOwner inet:db/passwd root
  232.              MProtect inet:db/passwd rwd
  233.              SetOwner S:startup-sequence root
  234.              MProtect S:startup-sequence srwd group r other r
  235.              SetOwner S:user-startup root
  236.              MProtect S:user-startup srwd group r other r
  237.              SetOwner SYS:Tools/HDToolBox root
  238.              MProtect SYS:Tools/HDToolBox rwed
  239.  
  240.               ... and any other files you wish to protect ...
  241.  
  242.     it  is  recommended  to leave most files readable for others, except of
  243.     course  the  files  you really wanna keep to yourself.  .info files and
  244.     .backdrop  files  should  be  readable  for everybody if you don't want
  245.     complications when using the Workbench.
  246.  
  247.  
  248. 4. The password file
  249.  
  250.   The  passwd file should be located in your inet:db directory and contains
  251. all  the  information  the  system  needs  on the users that are allowed to
  252. access the system.  Each line of the file contains information on one user.
  253. The syntax of such a line is as follows:
  254.  
  255.        <id>"|"<passwd>"|"<user>"|"<group>"|"<name>"|"<home>"|"<port>
  256.  
  257. <id>      is  the  same  as the name this user will need to give at a login
  258.           request.  This name may be upto 32 characters long.
  259.  
  260. <passwd>  if  the  user has a password, this is his coded password.  If you
  261.           add  new  users, you should make this field empty, this means the
  262.           user  doesn't  have  a password yet.  Then login as that user and
  263.           change his password using the Passwd command.
  264.  
  265. <user>    is  the user identifier, a number between 1 and 65535.  Each user
  266.           should have a different user identifier!  The identifier 65535 is
  267.           reserved for root!
  268.  
  269. <group>   is  the  group  identifier,  a number between 0 and 65535.  Users
  270.           with  the  same group identifier belong to the same group and can
  271.           access  each others files depending on the group-protection bits.
  272.           Users  with  different  group  identifiers can access each others
  273.           files  depending  on  the  other-protection bits.  The identifier
  274.           65535 is reserved for root!
  275.  
  276. <name>    is  the  real  name of the user.  You can enter whatever you like
  277.           for this.  At the moment this is limited to 220 characters.  This
  278.           name  is  displayed  when  user  information  is  asked using the
  279.           UserInfo command.
  280.  
  281. <home>    is the home directory of the user.  When a logout is performed, a
  282.           requester  will appear prompting for a new login.  If a user logs
  283.           in using this requester, the current directory will be changed to
  284.           the  home  of  this  user and the local environment variable HOME
  285.           will  be  set  to  the  name of the home-directory.  This doesn't
  286.           happen when a Login command is used.
  287.  
  288. <port>    is only used by the TCP/IP packet from Commodore (AS225).  If you
  289.           haven't installed that package you should leave this field empty.
  290.  
  291.   A passwd file could look like this:
  292.  
  293.     root||65535|65535|The Bastard Operator From Hell|SYS:Homes/Root|cli
  294.     geert|Fqhg_IYBiU`|3|1|Geert Uytterhoeven|SYS:Homes/Geert|cli
  295.     kurt|fNXjuAgFBFF|2|1|Kurt Haenen|SYS:Homes/Kurt|cli
  296.     guest||1|0|Anonymous Guest|SYS:Homes/Guest|cli
  297.  
  298.  
  299. 5. Support Commands
  300.  
  301.   The  support  commands  are  used  to login/out of the system, change the
  302. protection  bits  of a file, change the owner of a file, change the default
  303. protection  bits  for a group of tasks, ...  The number of support commands
  304. may  grow  in  future  releases.   Here are the commands that are currently
  305. supported.   They  can only be executed from the shell or with the <Execute
  306. Command...> option of the Workbench.  This may change in future releases!
  307.  
  308. 5.1. Login
  309.  
  310.   This  command  will  put  a  new owner on top of the current owner of the
  311. task.   *IX users may think of this as the *IX su command.  The effect of a
  312. succesful login can be reversed with the Logout command.  The owner-list of
  313. a  task  is  sort of a stack:  with Login you put a new owner on top of the
  314. stack,  with  Logout,  you  take an owner of the stack (unless the stack is
  315. empty).
  316.  
  317. Options ... (/K means the keyword is needed!)
  318.  
  319. GUI     Normally the login prompt appears in the shell-window that was used
  320.         to  execute  Login, but if this option is specified, a requester is
  321.         used.   The  GUI  mode  is  much safer than the normal mode, 'cause
  322.         console  window  normally  have  history,  so  one could recall the
  323.         password you typed in.
  324.  
  325. TASK/K  Login another task than the one we're currently working in.  A task
  326.         name  should  be  specified  after  the TASK keyword.  You can only
  327.         login tasks which you own (unless you are root)!
  328.  
  329. OWN     Login  another  task  than  the  one  we're currently working in by
  330.         changing  it's  owner to the owner of the current task.  This works
  331.         only  with  tasks  that  are owner by nobody (unless you are root)!
  332.         This option must be used in conjunction with the TASK option.
  333.  
  334. GLOBAL  Login  all  tasks  connected  to  the  current  task.   It's  a bit
  335.         difficult to explain what connected means, but you could say that a
  336.         parent  task  and all its children are connected unless one of them
  337.         was  logged  in/out  without  the  GLOBAL  option.  Well, this will
  338.         probably  change  in  future  releases, so simply try it out to see
  339.         what it does!
  340.  
  341.  
  342. 5.2. Logout
  343.  
  344.   This  command  is  the  inverse  of  Login  if the stack of owners of the
  345. current  task  isn't  empty.   If the stack is empty or becomes empty after
  346. executing the Logout command, a login prompt will appear.  After login, the
  347. current  directory  will  be  changed  to  the user's home-directory and if
  348. there's a .profile file in this directory, it will be executed.
  349.  
  350. Options ... (/K means the keyword is needed!)
  351.  
  352. GUI     If  a  login  request  is  generated  by  Logout,  should  it use a
  353.         requester?
  354.  
  355. TASK/K  See Login ...
  356.  
  357. GLOBAL  This  option  only  works  when the owner stack is or becomes empty
  358.         when  executing the Logout command.  If this option is specified in
  359.         such  a  case,  not  only  this task will change its owner, but all
  360.         connected  task  as  well.   It's  a  bit difficult to explain what
  361.         connected  means,  but you could say that a parent task and all its
  362.         children  are  connected  unless one of them was logged out without
  363.         the  GLOBAL  option.   Well,  this  will  probably change in future
  364.         releases,  so  simply  try  it  out to see what it does!  It's very
  365.         useful to logout all your tasks from your current session.
  366.  
  367. QUIET   Tells logout never to generate a login request.  If the owner stack
  368.         becomes empty, you will simply be logged in as nobody.  This may be
  369.         removed  in future releases, but since it isn't really useful, this
  370.         shouldn't be a problem.
  371.  
  372.  
  373. 5.3. Passwd
  374.  
  375.   The  Passwd  command is used to change your password.  Simply type in the
  376. command  in  the  shell and you will be prompted to enter your old password
  377. and type your new password twice.  If you did this correctly, your password
  378. will be changed!
  379.  
  380. Options ...
  381.  
  382. GUI     If  this  option is specified, Passwd uses requesters to prompt for
  383.         your passwords instead of simple console I/O.
  384.  
  385.  
  386. 5.4. MList
  387.  
  388.   This is a simple list replacement.  It takes none, one or more path-names
  389. as  parameters  and  lists  the  files  in  those path(s) or in the current
  390. directory if no path-name was specified, together with all their protection
  391. bits and some other info.
  392.  
  393. Options ...
  394.  
  395. DIR     The path-name(s) of the directorie(s) you want information on.  The
  396.         standard AmigaDOS wildcards may be used here.
  397.  
  398.  
  399. 5.5. SetOwner
  400.  
  401.   This  command is used to change the owner of a file.  You can only change
  402. the  owner  of  files you own or of files that are owned by nobody.  If you
  403. don't have Kickstart 39.106 or higher, you should use SetOwner37 instead of
  404. SetOwner!
  405.  
  406. Options ...
  407.  
  408. FILE    The  file  or  directory  you  want  to  change  the owner of.  The
  409.         standard AmigaDOS wildcards may be used here.
  410.  
  411. USER    The  UserID of the user that should become the owner of the file or
  412.         directory.  If no user is specified, the current task owner will be
  413.         taken.
  414.  
  415. NOBODY  Set the owner of the file or directory to nobody.
  416.  
  417. ALL     Recursively   scan   all  directories  from  within  the  specified
  418.         directory and process all found files and directories.
  419.  
  420. QUIET   Process silently.
  421.  
  422.  
  423. 5.6. SetDefProtect
  424.  
  425.   This  commands  sets the default protection bits for the current task and
  426. for all connected tasks (see Logout.GLOBAL).
  427.  
  428. Options ... (/K means the keyword is needed!)
  429.  
  430. FLAGS   The protection flags used for the owner of the file.
  431.  
  432. GROUP/K The  protection flags used for users in the same group as the owner
  433.         of the file.
  434.  
  435. OTHER/K The protection flags used for users outside the owner's group.
  436.  
  437.  
  438. 5.7. MProtect
  439.  
  440.   This command change the protection flags for files or directories.
  441.  
  442. Options ... (/K means the keyword is needed!)
  443.  
  444. FILE    The  file  or directory you want to change the protection flags of.
  445.         The standard AmigaDOS wildcards may be used here.
  446.  
  447. FLAGS   The protection flags used for the owner of the file.
  448.  
  449. GROUP/K The  protection flags used for users in the same group as the owner
  450.         of the file.
  451.  
  452. OTHER/K The protection flags used for users outside the owner's group.
  453.  
  454. ADD     Add  all  specified  protection flags to the flags that are already
  455.         set.
  456.  
  457. SUB     Subtract  all  specified  protection  flags from the flags that are
  458.         already set.
  459.  
  460. ALL     Recursively   scan   all  directories  from  within  the  specified
  461.         directory and process all found files and directories.
  462.  
  463. QUIET   Process silently.
  464.  
  465.  
  466. 5.8. UserInfo
  467.  
  468.   This  command  can  be  used to get some information on the users of this
  469. system.
  470.  
  471. Options ... (/K means the keyword is needed!)
  472.  
  473. ALL       Give information on all the users of this system.  This means all
  474.           users listed in the inet:db/passwd file.
  475.  
  476. ID/K      Give  information  on the user with the id specified after the ID
  477.           option.  The id is the name you have to enter at a login prompt.
  478.  
  479. UID/K     Same  as  ID,  but  this  time  info  on the user whose userid is
  480.           specified  is  listed.   The userid is the number given as second
  481.           entry in the inet:db/passwd file.
  482.  
  483. GID/K     Same  thing as UID, but this time for all users in the group with
  484.           the specified group ID.
  485.  
  486. NAME/K    Gives  info  on  the user with the specified real name.  An exact
  487.           match is necessary, but the case is ignored.
  488.  
  489. PLAN      If  you  add  this  option, the .plan file of the users you asked
  490.           info  on, will be displayed.  If the user hasn't got a .plan file
  491.           in his home directory, it will just be ignored.
  492.  
  493.  
  494.  
  495.                                                     
  496.                                          /   / /   /
  497.                                         /   / /   /
  498.                                        /   / /   /
  499.                                       /   / /   /
  500.                           \   \ \   \/   / /   /
  501.                            \   \ \   \  / /   /
  502.                             \   \ \   \/ /   /
  503.                              \   \/\   \/   /
  504.                               \   \ \      /
  505.                                \   \/\    /
  506.  
  507.  
  508.  
  509. History ...
  510.  
  511. Version 39.134 Release 1.0ß
  512.  
  513.   First  public  release  of the MultiUserFileSystem.  All the work on this
  514. one was done by Geert Uytterhoeven.
  515.  
  516. Version 39.135 (no public release)
  517.  
  518.   Update  of  the  library and the support programs to allow global logging
  519. out.  (Kurt Haenen)
  520.  
  521.   - The way the library manages the linking of tasks and owners was changed
  522.     to  allow a kind of global control over all tasks of a single user.  It
  523.     still isn't quite the way I'd like it, but it's getting closer ...
  524.  
  525.   - The  GLOBAL option was added to the Logout command to allow the user to
  526.     logout  all  tasks  connected to the same tasknode (private structure).
  527.     This  means  that  you  can logout/login a task and all its children by
  528.     executing a LOGOUT GLOBAL command from one of them.  Very useful 'cause
  529.     now you can logout the workbench without having to quit it ...
  530.  
  531.   - TASK  option  added  to  Login  and Logout to allow you to login/logout
  532.     another  task  (of which you are the owner or that's owner by nobody or
  533.     whatever task if you are root).
  534.  
  535.   - QUIET option added to Logout to force Logout so that nobody will become
  536.     owner  of  the task.  We're still discussing this, so it may be removed
  537.     again in the future ...
  538.  
  539. Version 39.136 (no public release)
  540.  
  541.   Update  of  the  filesystem, library and support programs so that default
  542. protection  bits  can  be  set  and  are  used  by the file-system.  (Geert
  543. Uytterhoeven)
  544.  
  545.   - The  file-system  and  library  were  updated  to keep track of default
  546.     protection bits and to use them whenever a file is created.
  547.  
  548.   - A  new  utility SetDefProtect (name may change in the future) was added
  549.     to  allow  the  user  to  specify  the  default  protection  bits for a
  550.     tasknode.
  551.  
  552. Version 39.137 Release 1.1
  553.  
  554.   Update  of  the  library  to  support  .profiles  and allow hiding of the
  555. password  on  any  terminal (I hope)!  Update to the file-system to support
  556. protection of files against locking.  (Geert Uytterhoeven en Kurt Haenen)
  557.  
  558.   - The Logout command now also executes a .profile script after login.
  559.  
  560.   - An  exclusive  lock  can  only  be  taken on a file you have write-, or
  561.     delete-rights  on.   A  shared  lock can be obtained on a file you have
  562.     read-, write-, execute- or delete-rights on or that's owned by you.
  563.  
  564.   - The  UserInfo command can now display the .sig file located in the home
  565.     of  the  user  on which info is demanded.  To do this, you have to give
  566.     the  SIG  option.   The .sig file should be readable for the one asking
  567.     information about the owner of the .sig!
  568.  
  569. Version 39.140 Release 1.2
  570.  
  571.   - The  password  file  should  be compatible with the TCP/IP package from
  572.     Commdore (AS225) (I hope :-).
  573.  
  574.   - Wildcards added in some support commands.
  575.  
  576.   - If a user don't have a password he won't be asked for it no more during
  577.     Login/Logout.
  578.  
  579.   - Finally:  autodoc and includes added!!
  580.  
  581.   - .sig renamed to .plan. SIG option renamed to PLAN.
  582.  
  583.   - PURE  bit set for the support commands.  They were also pure in earlier
  584.     releases, but I forgot the magic bit.
  585.  
  586.   - Some other minor changes I can't remember :-)
  587.  
  588. Version 39.141 Release 1.2a
  589.  
  590.   Only some bug fixes :-(
  591.  
  592.   - SetOwner37: opened wrong dos.library version.
  593.  
  594.   - Setowner[37]: crashed when bad operating system version.
  595.  
  596.   - Password  encryption  still  wasn't compatible with AS225 because of an
  597.     ambiguity  in the ACrypt() documentation (I passed the UserName instead
  598.     of the UserID).
  599.  
  600. Plans for the future ...
  601.  
  602.   - All  commands  should  get an icon and when started from the Workbench,
  603.     they  should  allow  selection  of the files to change using a Reqtools
  604.     file-requester.
  605.  
  606.   - There's  a lot of work in the library:  the linking of tasks with users
  607.     should  change  and  become  more  performant  to  allow  more  complex
  608.     logins/logouts.
  609.  
  610.   - Support for owner change during execution (cfr.  *IX).  Any suggestions
  611.     to do this??
  612.  
  613.  
  614. ---------------------------------------------------------------------------
  615.  
  616. How to contact the author(s):
  617.  
  618.   Snail mail ...
  619.  
  620.  
  621.  
  622.   Geert Uytterhoeven                                    Geert Uytterhoeven
  623.   Huysmansstraat 12         or 'till end june '93       Tervuursevest 119
  624.   B-3128 BAAL                                           B-3001 HEVERLEE
  625.   BELGIUM                                               BELGIUM
  626.  
  627.  
  628.   Kurt Haenen                                           Kurt Haenen
  629.   Homsemstraat 53           or 'till end june '93       Verbindingslaan 13
  630.   B-3891 BORLO                                          B-3001 HEVERLEE
  631.   BELGIUM                                               BELGIUM
  632.  
  633.  
  634.  
  635.   Email ...
  636.  
  637.     o Geert Uytterhoeven
  638.  
  639.                         uytterho@cs.kuleuven.ac.be
  640.  
  641.  
  642.     o Kurt Haenen
  643.  
  644.                         stud16 @ cc4.kuleuven.ac.be
  645.  
  646.                                     or
  647.  
  648.                        fhgaa99 @ cc1.kuleuven.ac.be
  649.  
  650.  
  651.   These addresses are at least valid 'till end June 1993, although we won't
  652. be reading mail during exams!
  653.  
  654.  
  655. ---------------------------------------------------------------------------
  656.  
  657.   Special thanks go to ...
  658.  
  659.     o Nico François for developing ReqTools.
  660.  
  661.     o Jorrit Tyberghein for developing the magnificent PowerVisor!
  662.  
  663.     o Ives Aerts for testing the filesystem on an A3000 running 2.04.
  664.  
  665.     o All  of  you  who  are  going  to  contribute  to  our  "Don't let us
  666.       starf"-fund, by sending some money to one of the snail-mail addresses
  667.       listed above.  (Hope a lot of you will do so)
  668.  
  669.     o Kai  'wusel'  Siering,  Markus Illenseer and Tako Schotanus for their
  670.       comments and tips.
  671.  
  672.     o The  Department  of  Computer  Science at the Katholieke Universiteit
  673.       Leuven  for  allowing  me  to  use  the  InterNet  for this MultiUser
  674.       project.
  675.  
  676.  
  677. ---------------------------------------------------------------------------
  678.  
  679.  
  680.           Filesystem        :   Geert Uytterhoeven
  681.           Library           :   Geert Uytterhoeven & Kurt Haenen
  682.           Support Commands  :   Geert Uytterhoeven & Kurt Haenen
  683.  
  684.           Documentation     :   Kurt Haenen
  685.  
  686.  
  687.                                                     
  688.                                          /   / /   /
  689.                                         /   / /   /
  690.                                        /   / /   /
  691.                                       /   / /   /
  692.                           \   \ \   \/   / /   /
  693.                            \   \ \   \  / /   /
  694.                             \   \ \   \/ /   /
  695.                              \   \/\   \/   /
  696.                               \   \ \   \  /
  697.                                \   \/\   \/
  698.  
  699.  
  700.                      Only Amiga makes it possible ...
  701.  
  702.                    But wouldn't Linux for Amiga be nice!
  703.  
  704.  
  705.                                     /\
  706.                                    /XX\
  707.                                   /XXXX\
  708.                                  /XXXXXX\
  709.                                 /XXXXXXXX\
  710.                              /\ \XXXXXXXX/ /\
  711.                             /XX\ \XXXXXX/ /XX\
  712.                            /XXXX\ \XXXX/ /XXXX\
  713.                           /XXXXXX\ \XX/ /XXXXXX\
  714.                          /XXXXXXXX\ \/ /XXXXXXXX\
  715.                          \XXXXXXXX/ /\ \XXXXXXXX/
  716.                           \XXXXXX/ /XX\ \XXXXXX/
  717.                            \XXXX/ /XXXX\ \XXXX/
  718.                             \XX/ /XXXXXX\ \XX/
  719.                              \/ /XXXXXXXX\ \/
  720.                                 \XXXXXXXX/
  721.                                  \XXXXXX/
  722.                                   \XXXX/
  723.                                    \XX/
  724.                                     \/
  725.