i need all the commands to do this please
vMs in thas inehneb) purple tram moter. aod the st, Cenein tiser ant Pretiofion- jiti en ar it ina file owned tw itl. trunthat fiti froth that file. 10 fish that wieme cinated bs iser anue. bichilthe male ind qut. Hiredipy an farener. 1. Create a file sharing network between users on this network. Create at least three users (jill, jack, and mike) other than a MySeneca named user (so there are at least four users, not including root, on the three VMs in this network). 2. Create at least three groups: red, blue, and purple which are team names used in attack, defend, and purple strategies commonly found in capture the flag events. The MySeneca named user is a member to all groups but jill, jack, and mike each belong to their own group and their team group. Users mike, jack, and jill each belong to either the purple team group, red team group or the blue team group. Make jill a member of jill and blue. Make jack a member of jack and red. Make mike a member of mike and purple. Make the MySeneca named name user a member of the MySeneca named group and a member of all red, blue, and purple team groups. 3. Login as each user on all three VMs. Setup ssh access for jack, jill, mike, and the MySeneca named user to upload files to and download files from the /pubisc directory of the gateway. 4. Using ssh, login as jack into gateway and try to read/write files that users jill and mike have created in Ipublic previously. Similarly, login to gateway, as mike, jill and as the MySeneca named user and try to read/write files that the others have created in /public previously. On gateway verify that jack, jill, mike, and the MySeneca user can: Users jack and jill can read from (but not write to) some of each other's files. Yet while they each can read from some each other's files, they cannot write to those files as those files are owned by the other. Both users jack and jill do not want user mike to read from any of their files. User mike not only wants to read files from jack and jill but mike also to change them. Example: jack can read but not write to as it is a file owned by jill. Users jack and jill can write to (but not read from) some of each other's files. In this case, while they each can write to some of the other's files, they cannot read from or delete files those files as those files are owned by the other. Example: jill can write to jack's but jill cannot read from that file. As described above, users jack and jill allow sharing of files to happen with each other. Neither jack nor public/owner-jil1,txt as it is a file owned by jill. Users jack and jill can write to (but not read from) some of each other's files. In this case, while they each can write to some of the other's files, they cannot read from or delete files those files as those files are owned by the other. Example:jill can write to jack's /public/owner-jack. txe but jill cannot read from that file. As described above, users jack and jill allow sharing of files to happen with each other. Neither jack nor jill want user mike to read from or write to any of their files. User mike wants and tries to use any means possible to access files created by anyone on the system. By default, the file sharing network and the /public folder should not allow user mike to either read from or to write to any file that does not belong to user mike. This means user mike can only read and write to files that were created by user mike. As the MySeneca named user is a member in all groups: red, blue, and purple, that MySeneca named user has read and write access to files that groups red, blue, and purple permit. OSers jack, jill, and MySeneca named user cannot change permissions of files not owned by them. Example: if file /public/owner-jack.txt is owned by jack then neither jill nor MySeneca named user can change the permissions of jack's /upoads/owner-jack, txt . 5. Go Pro: First do the lab on Bash scripting then using that script as a start point, write another Bash script called public-uploader.bash that does the following: when public-uploader. bash is called without any arguments: display a helpful message describing how to call this script and quit. when public-uploader.bash is called with an argument that is not an existing file: display an appropriate error message with the given argument and quit. when public-uploader, bash is called with an argument that is an existing file copy that file to / public directory on gateway. Ensure SHOME/bin is in the SPATH environment variable of each user when they login. Place publicuploader. bash into the SHOME/bin of each user on Ubuntu and Kali VMs. You may modify publicuploaden. bash to personalize it for that user. For example: after user jill has uploaded a file that is to be shared by user jack and not user mike, modify the seript public-uploader,bash in jill's \$Home/bln to verify that the permissions were set correctly and warn user jill if it isn't