Загрузка данных


Все команды выполняются под root (`su -`), кроме шага 7. Замените `USER`, `server`, `share`, `DOMAIN` на свои.

**1. Система и время**
```
dnf update -y
dnf install -y chrony
systemctl enable --now chronyd
timedatectl set-timezone Europe/Moscow
```

**2. Смарт-карты и драйвер токена**
```
dnf install -y pcsc-lite pcsc-lite-ccid opensc pcsc-tools
systemctl enable --now pcscd
cd /путь/к/драйверу
dnf install -y ./librtpkcs11ecp*.rpm
```
(для Рутокен; для JaCarta ставьте rpm с aladdin-rd.ru)

**3. КриптоПро CSP**
```
cd /путь/к/архиву
tar xf linux-amd64_rpm.tgz
cd linux-amd64_rpm
./install.sh
dnf install -y ./cprocsp-rdr-pcsc-64*.rpm ./cprocsp-rdr-rutoken-64*.rpm ./cprocsp-rdr-cryptoki-64*.rpm ./lsb-cprocsp-pkcs11-64*.rpm
```
Плагин (из архива КриптоПро ЭЦП Browser plug-in, распакованного так же):
```
dnf install -y ./cprocsp-pki-cades-64*.rpm ./cprocsp-pki-plugin-64*.rpm
```
Лицензия и проверка:
```
/opt/cprocsp/sbin/amd64/cpconfig -license -set 5050X-XXXXX-XXXXX-XXXXX-XXXXX
/opt/cprocsp/sbin/amd64/cpconfig -license -view
```

**4. Корневые сертификаты УЦ (для всех)**
```
/opt/cprocsp/bin/amd64/certmgr -inst -store mroot -file /путь/root.cer
/opt/cprocsp/bin/amd64/certmgr -inst -store mCA -file /путь/ca.cer
```

**5. Доступ пользователя к токену (polkit)**
```
cat > /etc/polkit-1/rules.d/49-pcsc.rules <<'EOF'
polkit.addRule(function(action, subject) {
    if ((action.id == "org.debian.pcsc-lite.access_pcsc" ||
         action.id == "org.debian.pcsc-lite.access_card") &&
        subject.isInGroup("users")) {
        return polkit.Result.YES;
    }
});
EOF
systemctl restart pcscd polkit
```

**6. Офис и шрифты**
```
dnf install -y libreoffice libreoffice-langpack-ru libreoffice-help-ru hunspell-ru
dnf install -y ./r7-office*.rpm
mkdir -p /usr/share/fonts/msttcore
cp /путь/к/шрифтам/*.ttf /usr/share/fonts/msttcore/
fc-cache -f -v
```
(Р7-Офис или ONLYOFFICE ставьте по необходимости.)

**7. Сетевая папка Windows Server 2022**
```
dnf install -y cifs-utils samba-client
smbclient -L //server -U 'DOMAIN\USER'
```
Файл с учёткой:
```
cat > /root/.smbcred <<'EOF'
username=USER
password=ПАРОЛЬ
domain=DOMAIN
EOF
chmod 600 /root/.smbcred
```
Точка монтирования и fstab (uid/gid берутся у нужного пользователя):
```
mkdir -p /mnt/share
echo "//server/share /mnt/share cifs credentials=/root/.smbcred,vers=3.0,uid=$(id -u USER),gid=$(id -g USER),iocharset=utf8,file_mode=0664,dir_mode=0775,_netdev,nofail,x-systemd.automount 0 0" >> /etc/fstab
systemctl daemon-reload
mount -a
ls /mnt/share
```
Вместо `USER` в `id -u`/`id -g` подставьте логин обычного пользователя.

**8. Действия под обычным пользователем (без sudo)**
Войдите под его учёткой, вставьте токен:
```
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifycontext -fqcn
/opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont '\\.\Aktiv Rutoken lite 00 00\ИмяКонтейнера'
/opt/cprocsp/bin/amd64/certmgr -list -store uMy
```
Имя контейнера берите из вывода первой команды. Затем в Яндекс Браузере или Chromium-Gost включите расширение «КриптоПро ЭЦП Browser plug-in» и проверьте на демо-странице КриптоПро.

**9. Итоговая проверка**
```
timedatectl
systemctl status pcscd
mount | grep share
```
Если что-то не сработает, пришлите текст ошибки и номер шага.