Created
October 28, 2024 15:33
-
-
Save spookyuser/f6a773d39e8430e5b33d41a5d20cb6f1 to your computer and use it in GitHub Desktop.
Revisions
-
spookyuser created this gist
Oct 28, 2024 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,119 @@ #!/bin/bash # Install required packages sudo apt update sudo apt install -y \ avahi-daemon \ avahi-discover \ samba \ samba-common-bin \ tigervnc-standalone-server \ libnss-mdns # Configure Samba sudo cat > /etc/samba/smb.conf << 'EOF' [global] workgroup = WORKGROUP server string = %h server mdns name = mdns multicast dns register = yes wins support = yes dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 client min protocol = SMB2 server min protocol = SMB2 server role = standalone server passdb backend = tdbsam obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes name resolve order = bcast host security = user guest account = nobody usershare path = /var/lib/samba/usershare usershare max shares = 100 usershare owner only = false force create mode = 0070 force directory mode = 0070 [homes] comment = Home Directories browseable = yes read only = no create mask = 0700 directory mask = 0700 valid users = %S [Public] comment = Public Files path = /home/public public = yes writable = yes create mask = 0664 force create mode = 0664 directory mask = 0775 force directory mode = 0775 guest ok = yes EOF # Create public share directory sudo mkdir -p /home/public sudo chmod 777 /home/public # Configure Avahi for VNC advertisement sudo cat > /etc/avahi/services/vnc.service << 'EOF' <?xml version="1.0" standalone='no'?> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h</name> <service> <type>_rfb._tcp</type> <port>5900</port> </service> </service-group> EOF # Configure Avahi for SMB advertisement sudo cat > /etc/avahi/services/smb.service << 'EOF' <?xml version="1.0" standalone='no'?> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h</name> <service> <type>_smb._tcp</type> <port>445</port> </service> <service> <type>_device-info._tcp</type> <port>0</port> <txt-record>model=RackMac</txt-record> </service> </service-group> EOF # Restart services sudo systemctl restart avahi-daemon sudo systemctl restart smbd sudo systemctl restart nmbd # Create Samba user (run this interactively) echo "Create a Samba user matching your Linux username:" echo "sudo smbpasswd -a \$USER" # Setup VNC mkdir -p ~/.vnc vncpasswd cat > ~/.vnc/xstartup << 'EOF' #!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4 EOF chmod +x ~/.vnc/xstartup vncserver :1 -geometry 1920x1080 -depth 24