====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...