====Samba and NFS Server on Rocky Linux 8==== This will install a Samba4 and NFS server on Rocky Linux 8 with sharing the same data from Samba and NFS, extended ACLs will also be used. Install Rocky Linux 8 minimal with 2 CPU, 512MB+ RAM, 20GB+ storage (use separate /home mount point if going over 100GB), set FQDN, set static IP, enable NTP. 3.) After install if finished reboot -> login -> perform a "dnf update". ==Create limited user account and add to wheel group for sudo== useradd example_user && passwd example_user usermod -aG wheel example_user ==Install dependencies and vim== dnf install vim tar Logout of root and login using sudo user ==Disallow root login over SSH== sudo vim /etc/ssh/sshd_config then set PermitRootLogin no Restart sshd sudo systemctl restart sshd ==Configure hosts== sudo vim /etc/hosts Add a line for your FQDN 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.10.30 websrv01.domainname.com websrv01 ====Automatic Updates for CentOS==== https://www.tecmint.com/dnf-automatic-install-security-updates-automatically-in-centos-8/ sudo dnf install dnf-automatic sudo vim /etc/dnf/automatic.conf Set: upgrade_type = security download_updates = yes apply_updates = yes system_name = (your system name) emit_via = motd Enable the auto-update timer sudo systemctl enable --now dnf-automatic.timer ====fail2ban==== https://idroot.us/install-fail2ban-centos-8/ https://www.digitalocean.com/community/tutorials/how-to-protect-an-apache-server-with-fail2ban-on-ubuntu-14-04 sudo dnf install epel-release sudo dnf install fail2ban ==Create a Jail for SSHd== sudo vim /etc/fail2ban/jail.d/sshd.local Add the following: [sshd] enabled = true port = ssh logpath = %(sshd_log)s backend = %(sshd_backend)s [selinux-ssh] enabled = true port = ssh logpath = %(auditd_log)s ==Start fail2ban== sudo systemctl start fail2ban sudo systemctl enable fail2ban sudo fail2ban-client status sshd ====Samba==== https://www.tecmint.com/install-samba-on-rhel-8-for-file-sharing-on-windows/ \\ https://www.techrepublic.com/article/how-to-create-a-linux-user-that-cannot-log-in/ ==Install Base Packages== sudo dnf install samba samba-client samba-common ==Enable Services== sudo systemctl start smb sudo systemctl enable smb ==Configure Firewall== sudo firewall-cmd --permanent --add-service=samba sudo firewall-cmd --reload ==Create Group & User== sudo groupadd smb_users sudo useradd smbadmin --shell=/bin/false && sudo passwd smbadmin sudo usermod -aG smb_users smbadmin sudo smbpasswd -a smbadmin ==Create Dir for Share and Set Permissions== sudo mkdir -p /home/samba/public sudo chmod -R 0770 /home/samba/public sudo chown -R root:smb_users /home/samba/public sudo chcon -t samba_share_t /home/samba/public ==Configure Share== sudo vim /etc/samba/smb.conf Add the following: [public] comment = Public Share path = /home/samba/public valid users = @smb_users guest ok = no writable = yes browsable = yes acl_xattr:ignore system acls = yes Restart services: sudo systemctl restart smb.service sudo systemctl restart nmb.service Add other users if needed and add them to the smb_users group, then fire up a Windows computer to create your initial folder structure with permissions from there...