You are on page 1of 12

1ai.

Daemons are Linux background programs that run when a system is in use. Daemons provide
functions, (e.g. the keytable daemon loads region specific keyboard settings) and also provide
network services, (e.g. the inet.d daemon provides internet services).

1aii.)

The shared libraries for dynamically linked programs, i.e. device drivers and common library calls are
stored in the /lib directory. yes

1aiii.)

An absolute file path reference contains the full, complete path, from the root source to the desired
file destination, whereas a relative file path reference is much simpler, because the ../ shortcut
can be used to jump back one directory, relative to the current directory. (yes, but may not need to
if the file you are trying to reference is in a sub directory of where you are. The relative path
describes how to get to a resource from the current location in the file system) As a result, absolute
file paths are much longer than relative file paths, because the whole path must be referenced.

1aiv.)

The init program is the first program to run when the kernel is loaded. The init program is the
parent of all other daemons on a Linux system, and once executed, it initialises the user interface
and all the other daemons. Good

1av.)

The chmod command is used to change file permissions in Linux. The octal value of 755 translates
to rwxr-xr-x, which allows the user, members of a group, and other users to execute the file.
Good

9/10 Overall a good response to part a

1b.)

Open-Source software gives every user the power to replicate the software and modify the source-
code to better suit their needs. Although the original source must always be acknowledged, users
can make any amendment and distribute it to others. Since every user is given this much power, a
trust process must be enforced because it is difficult to assume that every user has good intentions.
(good point) For example, someone could create a very useful amendment in the software but also
introduce a ‘backdoor,’ which could make the software susceptible to attacks. This makes it very
hard to trust open-source software, especially in a business environment, where security is crucial.

To avoid security issues, Ubuntu enforces a four-zone trust process, which classifies all distributions
into four repositories. The ‘Main’ and ‘Restricted’ repositories consist of software that is officially
supported by Ubuntu, however software in the ‘Restricted’ repository is not available for free. The
software in the ‘Universe’ and ‘Multiverse’ repositories are not officially supported by Ubuntu and
there are no regular security updates, so it is up to the user to determine the risks in those softwares
themselves. Like the ‘Restricted’ repository, the software in the ‘Multiverse’ repository must also be
paid for. Yes but I do think you should mention that software in the Universe repository will be
community maintained

9/10 for part b

Parth Shah TMA03 E395923X


Word Count for Question 1b: 200 words.

Parth Shah TMA03 E395923X


1c.)

In Linux, user management is conducted by assigning users and groups with appropriate privileges,
such that only technical users have access to critical system files. (yes) There are two main types of
user accounts: the ‘standard’ user account, which is treated as an ordinary account and encouraged
to be primarily used, and the powerful ‘root’ user account, which has system administration
access. Root users can assign permissions to each individual user, i.e. to be able to read, write or
execute files. For large number of users, this task can become very complex. However, users can be
part of groups, so for example, 100 users can be organised into 4 groups. This is very useful, because
instead of assigning permissions to each user individually, the root user can assign permissions to
the whole group, which applies to all users in that group. This simplifies the user management
process significantly. (good)

Good response to part c that reads well 10/10

Word Count for Question 1c: 147 words.

Parth Shah TMA03 E395923X


2a.)

I used the ls command with -l option to display the items in a vertical list, the -S command to
sort by file size, and the -h option to display the file size in kB.

2/4 Yes, this will list the files sorted but you were asked to recursively list so you also needed the -R
switch e.g. ls -lhRS /user/lib

2b.)

I used the mkdir command to make a new directory named NewDir.

I used the cd command to navigate to the NewDir directory.

I used the touch command to create a plain text file called NewFile.

I used the chmod command along with the octal value of 322 to assign the required permission to
the file.

6/6 Good solution although you might have wanted to add a command to show that you have been
successful.

Parth Shah TMA03 E395923X


2c.)

I used the cd command to enter the NewDir directory.

I used the time command to time the seq command.

I used the seq command to generate a sequence starting from 12, incrementing by 2, and finishing
at 684.

I used the >> notation to append the results of the command into NewFile. (strictly, does not say
append so should really redirect output using > )

Great to see you using the time and seq commands appropriately 5/6

Parth Shah TMA03 E395923X


2d.)

I used the ifconfg command to view my network configuration and the >> notation to append the
results of that command into NewFile.

I tried opening NewFile using the cat command but the file permissions from Question 2b still
applied, which meant I could not open the file.

I changed the permissions of the file using the chmod command to give the user full access using
the octal value of 722.

I opened the file and attached the screenshot below to display the contents.

I changed the permission of the file back to the original octal value of 322.

Good clear response to this part where I was pleased to see you resolving the problem with the read
permissions 4/4

Parth Shah TMA03 E395923X


Parth Shah TMA03 E395923X
2e.)

used the sudo -i command to become a root user. yes

I used the useradd command to add a new user and the -u option to specify a user id.

4/4 Yes this will work – perhaps nicer to then use something like id -u Fred which should return
1300

2f.)

I changed the permission of the file using chmod and gave the octal value of 722 to give the user full
access to the file. good

I used the gzip command to compress NewFile, along with option -k so that the original file
remains.

I used the mv command to rename NewFile.gz to NewFileComp.gz

Strictly should be named NewFileComp but I can understand the extension given the
compression mode. I did have to deduct 0.5 mark later as you then referred to the file as
NewFileComp rather than NewFileComp.gz (the name you used).
I used the chmod command and changed the octal value of NewFile back to 322.

I used the chmod command and gave NewFileComp (strictly the file NewFileComp.gz) the octal
value of 444, so it becomes read-only for all users.

1.5 / 2 Overall a good attempt at this part but do note the comments above

Parth Shah TMA03 E395923X


2g.)

I used the history command to get the command history.

I used the grep option to find a word in the command history, i.e. in this case ‘man’.

I used the -c option to count how many times the word ‘man’ occurred.

I used the ‘>>’ notation to put the results in the count.txt file. (this would append so really
should use > here)

3/4 A good response but do note how your response appends to the end of the file

Parth Shah TMA03 E395923X


3.)

Web server systems like ‘Apache2’ or ‘Nginx’ can be used to host websites on HTTP port 80. To
install Apache2, the command sudo apt-get install apache2 is used. Then, the files to be
hosted should be placed in the /var/www/html directory. If the website has multiple pages, the
default VirtualHost Configuration File must be modified so that the server can correctly point to each
individual page. Here, a hostname can also be specified by modifying the ‘ServerName’ header. If the
desired webpage shows when ‘localhost’ or the hostname is entered in the browser, then the server
is running. (good ) The installation and verification process for Nginx is exactly the same, however it
is slightly harder to set up virtual hosts with Nginx. My recommendation is to use Nginx despite it
being less popular compared to Apache. Its event-driven architecture is capable of handling requests
simultaneously, which makes its performance faster than Apache. A sensible justified choice (Goyal,
2020)

Using Samba  or NFS, a file server can be created. Samba is installed using the command sudo
apt-get install samba. Once Samba is installed, the configuration file located at
/etc/samba should be modified to include details of the directories desired to be shared across
the server. Once the password is set, the server can then be accessed from within the network. By
running the command service samba status, the server’s status is determined; either
‘running’ or ‘not running.’

To create a file server using NFS, first NFS is installed using the command: sudo apt install
nfs-kernel-server. Then, the ‘exports’ file, found in the /etc directory must be modified to
provide file access permissions to clients. After exporting the shared directories (directories which
are intended to be shared across the network) using the exportfs command, NFS has to be
installed and configured for all clients. The status of the server can be checked by using the same
command discussed before. Due to the complexity of setting up and configuring NFS, I recommend
using Samba, as it is not only simpler to install but also more secure. (sensible reasons) (Kiarie, 2020)

MySQL and MongoDB are two popular database systems. A MySQL database server is installed in
Ubuntu by running the command: sudo apt-get install mysql-server. The server can
be configured by editing the my.cnf file found in the /etc/mysql directory. For example, the
port which the server listens to can be changed from the default 3306 by editing the my.cnf file.
Running the command service mysql status will verify if MySQL is running.

To install MongoDB, first the Public Key should be obtained and then it can be installed using the
command sudo apt-get install mongodb-org. MongoDB’s configuration file is called
mongod.conf and is located in the /etc directory. Here, things like the bind IP can be configured
to allow the database server to listen to more network interfaces than just the localhost alone. To
verify if MongoDB server is running, the command service mongod status should be used.
As MongoDB’s installation is more complex and time-consuming, I recommend using MySQL.
(sensible reason – could also discuss how it might well depend on what the database is being used
for)

Part a

You have answered this part well. I do think it might have been clearer to have answered part a
before answering part b although I do like the way you use the relative installation difficulty in some
of your choices 14/15

Part b

Parth Shah TMA03 E395923X


You have covered the installation process well and do mention aspects of configuration and testing
for each server. I do think you could have expanded in term of preparation. You do mention using
sudo – so could discuss the need to be logged in with sudo permissions. Could also discuss ensuring
the repositories are up to date to help you check that the hardware meets the specifications. In
terms of the configuration you could have expanded slightly and discuss how you would need to
have (or need to setup new) user accounts and configure their permissions. 11/15

Great to see you including a very thorough reference list

References:

Goyal, R., 2020. Apache Vs NGINX – Which Is The Best Web Server For You?. [online] ServerGuy.com.
Available at: <https://serverguy.com/comparison/apache-vs-nginx/> [Accessed 27 April 2020].

Atlantic.Net. 2015. How To Install Apache On Ubuntu 14.04 - Atlantic.Net. [online] Available at:
<https://www.atlantic.net/vps-hosting/how-to-apache-ubuntu-14-04/> [Accessed 27 April 2020].

Ellingwood, J., 2014. How To Install Nginx On Ubuntu 14.04 LTS. [online] Digitalocean.com. Available
at: <https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-14-04-lts>
[Accessed 27 April 2020].

Ellingwood, J., 2014. How To Set Up Nginx Server Blocks (Virtual Hosts) On Ubuntu 14.04 LTS. [online]
Digitalocean.com. Available at: <https://www.digitalocean.com/community/tutorials/how-to-set-up-
nginx-server-blocks-virtual-hosts-on-ubuntu-14-04-lts> [Accessed 27 April 2020].

Kiarie, J., 2020. How To Install And Configure An NFS Server On Ubuntu 18.04. [online] Tecmint.com.
Available at: <https://www.tecmint.com/install-nfs-server-on-ubuntu/> [Accessed 27 April 2020].

Help.ubuntu.com. 2015. How To Create A Network Share Via Samba Via CLI. [online] Available at:
<https://help.ubuntu.com/community/How%20to%20Create%20a%20Network%20Share%20Via
%20Samba%20Via%20CLI%20%28Command-line%20interface/Linux%20Terminal%29%20-
%20Uncomplicated,%20Simple%20and%20Brief%20Way!> [Accessed 28 April 2020].

Okwii, D., 2017. Setting Up An NFS Share On Ubuntu 14.04 LTS. [online] David Okwii Dev Blog.
Available at: <https://www.davidokwii.com/setting-up-an-nfs-share-on-ubuntu-14-04-lts/>
[Accessed 28 April 2020].

Panji, M., 2016. How To Install Mongodb 3 On Ubuntu 14.04. [online] Hostpresto.com. Available at:
<https://hostpresto.com/community/tutorials/how-to-install-mongo-db-on-ubuntu-14-04/>
[Accessed 28 April 2020].

Heeschen, J., 2019. Install Mysql Server On The Ubuntu Operating System. [online]
Support.rackspace.com. Available at: <https://support.rackspace.com/how-to/install-mysql-server-
on-the-ubuntu-operating-system/> [Accessed 28 April 2020].

Heeschen, J., 2019. Configure Mysql Server On The Ubuntu Operating System. [online]
Support.rackspace.com. Available at: <https://support.rackspace.com/how-to/configure-mysql-
server-on-the-ubuntu-operating-system/> [Accessed 28 April 2020].

Word Count for Question 3: 500 words Good to see you including the word limit

Parth Shah TMA03 E395923X


Question 4 Feedback

Evidence of your work for the ePortfolio activities (4/5 marks)

I was pleased to see you including some good evidence for each activity. I have inserted some
comments to illustrate how you might have expanded slightly especially in relation to the potential
problems you might have encountered.

Comments on the knowledge and skills you have demonstrated and how you might use these in the
future. (4/5 marks)

I was pleased to see you including some good reflection for each activity and have inserted some
comments to illustrate how you might have expanded slightly

Parth Shah TMA03 E395923X

You might also like