Запрет автозапуска FortiClient на MacOS

Отключить автоматический запуск FortiClient VPN при входе пользователя в систему в настоящее время невозможно, выбрав «Системные настройки»> «Пользователи и группы»> «Элементы входа», как в большинстве случаев.

Вместо этого FortiClient использует LaunchAgents для запуска самого себя - что нам нужно сделать, так это отредактировать следующие файлы plist с помощью выбранного текстового редактора.

1. Откройте следующий файл plist с повышенными привилегиями и отредактируйте его с помощью nano в помощью Терминале:

sudo nano /Library/LaunchAgents/com.fortinet.forticlient.credential_store.plist

2. Найдите ключ RunAtLoad и измените true на false:

<key>RunAtLoad</key>
<true/>

чтобы получилось так:

<key>RunAtLoad</key>
<false/>

3. Сохраните и выйдите из nano, нажав [CTRL + X], [Y] и [Return / Enter].

4. Проделайте те же шаги и для fct_launcher:

sudo nano /Library/LaunchAgents/com.fortinet.forticlient.fct_launcher.plist

5. Измените RunAtLoad на false:

<key>RunAtLoad</key>
<false/>

6. Готово !

Оригинал:
https://gaborhargitai.hu/disable-forticlient-vpn-autostart-on-login-under-macos/

Опубликовано в MAC OS

SAP GUI for Java (MacOS) on Apple MacBook Air 13 M1

I confirm that I can run SAP GUI on Apple MacBook Air 13 M1.

P.S. Actually SAP GUI uses own java so you can download SAP GUI in dmg format and install it without java.

SAP for Java (MacOS). Вход без пароля.

Хотелось бы использовать, конечно, SSO 2.0 для MacOS, но на безрыбье, как говорится..

В SAP GUI for JAVA под MacOS можно создать ярлык и сохранением логина и пароля. Удобно его перетащить в dock что быстрого вызова:

  • Правой кнопкой в SAP GUI нажимаем на нужной системе > Save Connection Data as Document, сохраняем где-нибудь
  • Находим этот файл и открываем его текстовым редактором
  • К connection string добавляем данные (вводим свой user= и pass=):
    conn=/H/192.0.0.11/S/3200&user=mysaplogin&pass=mysecretpassword&expert=true
  • Сохраняем, перетаскиваем файл в док в правую часть

Не безопасно хранить пароли в открытом виде, но если очень надо - то можно.

Для безопасности зашифруйте диск включив FileVault , отключите гостевой вход, смените пароль root, а то в последнее время он пустой бывает ))

MacOS не работают горячие клавиши в itunes

Раньше работало, а сейчас почему-то перестало? А это из-за хрома, точнее из-за Google Play Music. Для лечения откроем настройки Google Chrome > Расширения > в самом низу ссылка на "Быстрые клавиши". Уберем там привязку горячих клавиш.

Опубликовано в MAC OS

Mac OS. Конвертировать jpg в pdf каждый в свой файл с сохранением названия. Используем imagemagick.

port install imagemagick
Команда конвертации в pdf с сохранением оригинального названия файла:
convert *.jpg -set filename:original %t +adjoin %[filename:original].pdf

Конвертация с незначительным снижением качества:

convert -monitor -gaussian-blur 0.05 -quality 85% *.jpg resized%04d.jpg

Использование встроенного TFTP-сервера на Mac OS

В Mac OS существует встроенный tftp-сервер. Его удобно использовать для заливки прошивок на устройства по протоколу tftp. Запуск его осуществляется в две команды.
Для начала проверим что в tftp.plist определен корневой каталог tftp-сервера (по умолчанию это /private/tftpboot):
nano /System/Library/LaunchDaemons/tftp.plist:
<key>ProgramArguments</key>
        <array>
                <string>/usr/libexec/tftpd</string>
                <string>-i</string>
                <string>/private/tftpboot</string>
        </array>
Подгружаем tftp.plist:
sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist
Запускаем tftp-сервер:
sudo launchctl start com.apple.tftpd 
 Остановка tftp-сервера:
sudo launchctl stop com.apple.tftpd 
Открываем папку: 
open /private/tftpboot
Копируем прошивку в этот каталог.
На прошиваемом устройстве вводим IP-адрес нашей системы Mac OS, указываем протокол tftp и имя прошивки. Не забываем проверить права на файл.
Содержимое tftp.plist по умолчанию:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Disabled</key>
        <true/>
        <key>Label</key>
        <string>com.apple.tftpd</string>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/libexec/tftpd</string>
                <string>-i</string>
                <string>/private/tftpboot</string>
        </array>
        <key>inetdCompatibility</key>
        <dict>
                <key>Wait</key>
                <true/>
        </dict>
        <key>InitGroups</key>
        <true/>
        <key>Sockets</key>
        <dict>
                <key>Listeners</key>
                <dict>
                        <key>SockServiceName</key>
                        <string>tftp</string>
                        <key>SockType</key>
                        <string>dgram</string>
                </dict>
        </dict>
</dict>
</plist>

MacOs. Ошибка при подключении по SSH: Too many authentication failures for root.

Суть проблемы:
Для подключения по SSH вы используете сертификаты для определенных хостов, а для других заходите по паролю. Сертификаты добавлены в keychain (связку ключей) с помощью ssh-add -K *.pem для удобного вызова без указания конкретного сертификата ключом -i. После этого при попытке захода по ssh на сервера, где не настроен сертификат, по паролю получаем ошибку: Too many authentication failures for root (ну или другой пользователь).

Причина:

К сожалению подстановка ключей не интеллектуальна, она не знает к какому хосту какой ключ нужно подставлять. Проверить это можно указав ключ -v при подключении к хосту, где нет сертификатов.

Получим что-то подобное:

OpenSSH_6.9p1, LibreSSL 2.1.7
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: /etc/ssh/ssh_config line 102: Applying options for *
debug1: Connecting to msk-saprouter [192.0.0.3] port 22.
debug1: Connection established.
debug1: Host 'msk-saprouter' is known and matches the RSA host key.
debug1: Found key in /Users/User/.ssh/known_hosts:3
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Volumes/PEMS/cert1.pem
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: /Volumes/PEMS/cert2.pem
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: /Volumes/PEMS/cert3.pem
Received disconnect from 192.0.0.3: 2: Too many authentication failures for root

Выходит, что сертификаты перебираются по очереди, пока не найдется нужный, или не истечет кол-во попыток неудачного подключения.

 

Решения:

  1. Ииспользовать для хостов без сертификатов ключ -o PubkeyAuthentication=no
    пример: ssh root@192.0.0.3 -o PubkeyAuthentication=no. 
    Для систем с сертификатом ключ будет продолжать подставляться из-за ssh-add -K *.pem.
  2. Изменить порядок методов аутентификации:правим файл sudo nano /etc/ssh/ssh_config

    находим строку: PreferredAuthentications gssapi-with-mic,hostbased,publickey,keyboard-interactive,password

    меняем на: PreferredAuthentications password,gssapi-with-mic,hostbased,publickey,keyboard-interactive.Тогда для всех хостов система будет спрашивать пароль, а для указания сертификата нужно будет воспользоваться ключом -i:
    ssh root@192.0.0.3 -i /Volumes/PEMS/cert1.pem
  3. Создать алиас для команды ssh:
    правим sudo nano ~/.bash_profile
    добавляем строку alias zzh='ssh -o PubkeyAuthentication=no'

    Тогда для доступа по сертификатам используем команду ssh, указывать ключ не придется, а для хостов без сертификата используем команду (алиас) zzh, которая укажет ssh что не нужно использовать сертификаты и она спросит пароль.
  4. Насильно объявить сертификаты для каждого хоста:
    sudo nano ~/.ssh/config:

     Host host1
      IdentityFile /Volumes/PEMS/cert1.pem
      IdentitiesOnly yes
      Port 22
    Host host2
      IdentityFile /Volumes/PEMS/cert2.pem
      IdentitiesOnly yes
      Port 22
    Host host3
      HostName 192.0.0.3
      IdentitiesOnly yes
      Port 22
      User root

Тогда для хостов с сертификатом будет выбираться именно его сертификат, а для хостов с паролем будет запрашиваться пароль.

 

 

 

 

Если игра или программа не запускается, а в консоли «…denied since it was quarantined…»

Exec of /Games/Call of Duty 2.app/Contents/MacOS/Call of Duty 2 denied since it was quarantined by TextEdit and created without user consent, qtn-flags was 0x00000006

Так случается когда система блокирует приложение. Варианта решения два:

  • перенести приложение в /Applications
  • выполнить команду sudo xattr -dr com.apple.quarantine /<directory-path>/<app-name>.app/  ,  где /<directory-path>/<app-name>.app/ - путь к приложению

В случае Call of Duty если при запуске сетевой игры она ругается на то, что не может создать какой-то файл - дайте права на каталог с игрой на запись текущему пользователю:

sudo chmod 775 /<directory-path>/<app-name>.app/ -R

После обновления MacOS до 10.10.1 перестали запускаться программы

После запуска программы, например, Adobe Media Encoder видим в консоле надпись :

Adobe Media Encoder CS6[3909]: WARNING: The Gestalt selector gestaltSystemVersion is returning 10.9.1 instead of 10.10.1. Use NSProcessInfo's operatingSystemVersion property to get correct system version number.

 

Внимание! Данная настройка почти наверняка может привести к не возможности запуска встроеных в MacOS программ, ведь они тоже проверяют версию OS и она окажется старее, чем нужно!

В программе зашита проверка на версию OS, можно попробовать подменить эту версию:

открываем консоль, выполняем:

sudo nano -w /System/Library/CoreServices/SystemVersion.plist

Правим:

        <key>ProductUserVisibleVersion</key>

        <string>10.9.1</string>

        <key>ProductVersion</key>

        <string>10.9.1</string>

Cохраняем.

Перезагружаем и получаем мертвую панель:  :-P

Снимок экрана 2014-11-26 в 14.28.45

Снимок экрана 2014-11-26 в 14.24.56

Чтобы вернуть все обратно, отредактируйте /System/Library/CoreServices/SystemVersion.plist через, например, Sublime, потому что терминала у вас уже не будет :-P

Конкретно для этого случая помогло вот что: запустить программы >Adobe Media Encoder > показать содержимое пакета > contents > mac os > Adobe Media Encoder. Он хоть и будет ругаться на версию, но запустится.