From 7b12c7c326649389872a547fd8179d14bb2d4666 Mon Sep 17 00:00:00 2001 From: waldek Date: Thu, 22 Apr 2021 15:32:47 +0200 Subject: [PATCH] competes post production details and adds files.zip --- .../resources/exercise_sftp_postproduction.md | 33 +++++++++++++++--- modules/resources/files.zip | Bin 0 -> 540832 bytes 2 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 modules/resources/files.zip diff --git a/modules/resources/exercise_sftp_postproduction.md b/modules/resources/exercise_sftp_postproduction.md index 0be4358..040c59c 100644 --- a/modules/resources/exercise_sftp_postproduction.md +++ b/modules/resources/exercise_sftp_postproduction.md @@ -3,7 +3,7 @@ Imagine a team of people working on a feature film. There are different departments such as the editors, sound designers, the team surrounding the director etc. They all have different files such as the video rushes, the audio recordings done on set, the written script, etc. -How would we design a directory layout that accomodates the following restrictions? +How would we design a directory layout and permission structure that accommodates the following restrictions? * the director department has the following people * marie is the director of the movie @@ -21,7 +21,7 @@ How would we design a directory layout that accomodates the following restrictio * alex The director has full authority over the project and should be able to change every file possible, rename, delete, add, you name it. -The people on her team can watch and listen to the audio and video clips and have access to the scenario, and planning files. +The people on her team can watch and listen to the audio and video clips but have full write access to the scenario, and planning files. The video department is the first in line and can upload and modify all video files. Once they are done they make final renders which the audio team can read but not modify. @@ -32,9 +32,9 @@ The video files are all mp4 files and the audio files are wav files. The scenario is just one big markdown file and the planning is a ics calendar file. None of the people working on the movie have any idea how Linux works so they do not need shell access to the server, except for the tech admin. -Alex can ssh and pretty much anything to the files on the server, just in case somebody messes up something. +Alex can ssh and do pretty much anything to the files on the server, just in case somebody messes up something. -**Have a think about how to organise this before continueing below** +**Have a think about how to organise this before continuing below** ## How to tackle this situation @@ -55,6 +55,31 @@ I would make a table to visualise the problem. |eefje | | | | |alex | | | | +For ease of use I would make this table in a spreadsheet program such as Libreoffice Calc or Excel. +I created a zip file with all the files that you can download [here](./files.zip). + +Once you have a good overview of all the users and groups you need to create, try to create the following scripts to make your life easier. + +* a adduser script, like the previous challenge, that creates the users and groups +* a counterpart to the adduser script that removes them so you can clean the system in case you want to restart the exercise +* a script that creates your folder structure and changes the files and directories to the proper permissions + +At first I would approach the problem from a *static* point of view. +With this I mean you create all users, groups, directories and files with correct ownership and permissions on the shell. +Test the different user accounts via `filezilla` or `sftp` to see if the rights are correct. +Once you're confident all users can access the files they need, try to upload some additional files. +You'll quickly discover that everything can become a *big* mess. +Something is missing! + +This is where [setuid](https://en.wikipedia.org/wiki/Setuid) and **setgid** come in place. +They are what we call *special permissions*. +I advise you to have a play with them in a different folder to see how they work. +You'll see they are very powerful for these type of situations. + +One last thing that is missing to make the entire exercise perfect is the notion of `umask`. +We haven't seen this concept but you're using it all the time. +Where do you think the permissions come from when you `touch readme.md`? +One last hint I'll leave you with is [this](https://unix.stackexchange.com/questions/393919/proper-way-to-set-the-umask-for-sftp-transactions). ## A directory proposition diff --git a/modules/resources/files.zip b/modules/resources/files.zip new file mode 100644 index 0000000000000000000000000000000000000000..f4e5459c2e790d52b60ad0c6c6b2c3a05e270483 GIT binary patch literal 540832 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 literal 0 HcmV?d00001