samedi 27 décembre 2014

Can I make a file only accessible to a script, and not a user?


I have a user with limited access on the system (that is, he is not a sudoer); let's call him Bob.


I have a script or a binary which I, the system administrator, trust, and would have no problems running it as root; let's call the script get-todays-passphrase.sh. The job of this script is to read data from a "private" (owned by a user/group other than Bob, or even root) file located in /srv/daily-passphrases, and only output a specific line from the file: the line that corresponds with today's date.


Users like Bob are not allowed to know tomorrow's passphrase, even though it is listed in the file. For this reason, the file /srv/daily-passphrases is protected by Unix permissions, so non-root users like Bob are not allowed to access the file directly. They are, however, allowed to run the get-todays-passphrase.sh script at any time, which returns the "filtered" data.




To summarize (the TL;DR version):



  1. Bob can't read the protected file

  2. The script can read the protected file

  3. At any time, Bob can run the script which can read the file


Is it possible to do this within Unix file permissions? Or if Bob starts a script, will the script always be doomed to run with the same permissions as Bob?



Aucun commentaire:

Enregistrer un commentaire