Linux file permissions can be applied to files and directories, and using ls -l we can quickly get an overview of file properties.
-rw-r--r-- 1 root root 236 Aug 1 2017 install.log
The example shows (from left to right):
1) - Whether the file is a file or directory (- for file, l for link or d for directory, in this case it is a file therefore -)
2) rw-r--r-- Permissions (represented here as a set of three triplets, see below)
3) 1 Number of links or directories inside this directory (1 if a file)
4) root root Owners (user = root, group = root)
5) 236 File size
6) Aug 1 2017 Last modified date
7) install.log File name
I’m going to build a local VM with the following requirements:
1) It can host PHP/SQL-based websites
2) It has PHPMyAdmin to help administer any SQL databases
3) It matches available builds from popular providers (i.e. you can provision it in a similar way on Azure or AWS, but with a public domain name)
4) It only has a single account (this is not recommended for public systems)
5) I can access the web root using SFTP
As I already have several CentOS builds that have always been pre-setup with CPanel (and because CentOS is free), I’ve decided to do this build from scratch and without a control panel. I’m not going to be configuring options like multiple user accounts, so things will be fairly simple.
I’ll do it in steps (and test each time) to make sure everything’s working correctly. You could install everything all at once, but that would make it much harder to troubleshoot if an element didn’t work.
As someone who doesn’t closely follow what’s happening with Linux tools, I recently tried a minimal CentOS 7 install, and found out by chance that a command I use a lot on Windows has been deprecated in a number of Linux releases.
Not having run into this before, my first thought was to see if it was in the core repos.