Для заведения машин с Linux Mint в домен был написан сей скрипт.
На машинах должен быть открыт SSH и добавлен sudoer admin.
1 2 3 |
sudo apt install openssh-server useradd -g sudo -d /home/admin -m -s /bin/bash admin sudo passwd admin |
Дабы запустить скрипт на всех машинах использовался Ansible
ansible-playbook _play_crypt.yml –ask-vault-pass
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
--- - hosts: all vars: ansible_become_pass: @#12345 remote_user: admin tasks: - name: copy script copy: src: /home/admin/script dest: /home/admin/script mode: 0700 - name: start script command: cmd: /home/admin/script become: true ... |
Сам скрипт
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# Отключение флешек sed -i '/uas/d' /etc/modprobe.d/blacklist.conf sed -i '/usb_storage/d' /etc/modprobe.d/blacklist.conf echo "blacklist uas" | tee -a /etc/modprobe.d/blacklist.conf echo "blacklist usb_storage" | tee -a /etc/modprobe.d/blacklist.conf update-initramfs -u # Установка VNC сервера apt install -y x11vnc rm -rf /lib/systemd/system/x11vnc.service touch /lib/systemd/system/x11vnc.service chown admin. /lib/systemd/system/x11vnc.service echo "[Unit]" >> /lib/systemd/system/x11vnc.service echo "Description=Start x11vnc at startup" >> /lib/systemd/system/x11vnc.service echo "After=multi-user.target" >> /lib/systemd/system/x11vnc.service echo "" >> /lib/systemd/system/x11vnc.service echo "[Service]" >> /lib/systemd/system/x11vnc.service echo "Type=simple" >> /lib/systemd/system/x11vnc.service echo "ExecStart=/usr/bin/x11vnc -auth guess -forever -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared" >> /lib/systemd/system/x11vnc.service echo "" >> /lib/systemd/system/x11vnc.service echo "[Install]" >> /lib/systemd/system/x11vnc.service echo "WantedBy=multi-user.target" >> /lib/systemd/system/x11vnc.service x11vnc -storepasswd @#12345 /etc/x11vnc.pass systemctl daemon-reload systemctl enable x11vnc.service systemctl start x11vnc.service # Подключение к домену export DEBIAN_FRONTEND=noninteractive apt install -y realmd sssd sssd-tools libnss-sss libpam-sss krb5-user adcli samba-common-bin sed -i 's/.*default_realm.*/default_realm = domain.COM/' /etc/krb5.conf echo "@#12345" | realm join domain.com --user user_who_can_join # Доменный пользователь с правом добавления станций sed -i 's/.*use_fully_qualified_names = True/use_fully_qualified_names = False/' /etc/sssd/sssd.conf grep -qF "pam_mkhomedir.so" /etc/pam.d/common-session || echo "session optional pam_mkhomedir.so" | tee -a /etc/pam.d/common-session grep -qxF "greeter-show-manual-login=true" /etc/lightdm/lightdm.conf || echo "greeter-show-manual-login=true" | tee -a /etc/lightdm/lightdm.conf grep -qxF "allow-guest=false" /etc/lightdm/lightdm.conf || echo "allow-guest=false" | tee -a /etc/lightdm/lightdm.conf grep -qxF "greeter-hide-users=true" /etc/lightdm/lightdm.conf || echo "greeter-hide-users=true" | tee -a /etc/lightdm/lightdm.conf sed -i '/autologin-user=user/d' /etc/lightdm/lightdm.conf # Настройка прокси в Firefox grep -qxF 'pref("network.proxy.type", 4);' /usr/lib/firefox/defaults/pref/channel-prefs.js || echo 'pref("network.proxy.type", 4);' | tee -a /usr/lib/firefox/defaults/pref/channel-prefs.js # Установка клиента RDP apt install -y freerdp-x11 libfreerdp-plugins-standard # Создание файла подключения RDP для доменного пользователя rm -rf /home/RD1 echo 'xfreerdp -k 0x00000409 -f -z -x 80 --plugin cliprdr --ignore-certificate -u ${USER} -p $(zenity --entry --title="Пароль" --hide-text --text="") --plugin rdpdr --data disk:Desktop:/home/${USER}@domain.com/Рабочий\ стол/ -- RD1.domain.com' | tee -a /home/RD1 chmod +x /home/RD1 echo '[Desktop Entry]' | tee -a /home/RD1.desktop echo 'Version=1.0' | tee -a /home/RD1.desktop echo 'Exec=/home/RD1' | tee -a /home/RD1.desktop echo 'Name=RD1' | tee -a /home/RD1.desktop echo 'GenericName=RD1' | tee -a /home/RD1.desktop echo 'Encoding=UTF-8' | tee -a /home/RD1.desktop echo 'Terminal=false' | tee -a /home/RD1.desktop echo 'Type=Application' | tee -a /home/RD1.desktop echo 'Icon=remote-desktop' | tee -a /home/RD1.desktop chmod +x /home/RD1.desktop grep -qxF "[ -d ~/Рабочий\ стол ] || mkdir ~/Рабочий\ стол/" /etc/skel/.profile || echo "[ -d ~/Рабочий\ стол ] || mkdir ~/Рабочий\ стол/" | tee -a /etc/skel/.profile grep -qxF "cp /home/RD1.desktop ~/Рабочий\ стол/RD1.desktop" /etc/skel/.profile || echo "cp /home/RD1.desktop ~/Рабочий\ стол/RD1.desktop" | tee -a /etc/skel/.profile # Ограничение прав пользователя user gpasswd sudo -d user |
… осталось убрать скрипт и оставить только Ansible! )