Позвольте пользователю изменять свой пароль на chrooted среде

Я пытаюсь установить chrooted ssh и sftp сервер под сервером Ubuntu 16.04.3 LTS. Я следовал этому учебному руководству: https://rp29blog.wordpress.com/2016/06/26/setting-up-chroot-sftp-and-ssh

Я получил его работа. Я могу сделать ssh и sftp к chrooted среде, но я не могу изменить пароль chrooted пользователя. Я попробовал это: $-bash-4.3 passwd

но я добрался:пароль: не может определить Ваше имя пользователя.

Между прочим, я также включал команду "/usr/bin/passwd" в chrooted среду и скопировал файлы: группа, группа - gshadow, gshadow-, passwd, и passwd-к chrooted среде.

Я также понял, что, если я делаю "ls-l" в chrooted среде, названия группы не будут отображены. Я буду видеть вещи как: drwxr-xr-x 3 0 33 4096 15 февраля 12:26 домой

Но в реальной среде эта запись похожа: корневые www-данные drwxr-xr-x 3 4096 15 февраля 13:26 домой

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

Какова могла быть проблема? Мне действительно нужно это, пользователь, по крайней мере, может изменить его собственный пароль.

Наилучшие пожелания Josef

Здесь мой/etc/ssh/sshd_config:

Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 1024
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin prohibit-password
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication yes
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp internal-sftp
UsePAM yes

Match group chrooted
    ChrootDirectory /home/ssh_chroot
    X11Forwarding no
    AllowTcpForwarding no
    #Uncomment to allow only sftp to the chrooted jail, ssh access will be denied
    #ForceCommand internal-sftp

Здесь моя структура папок:

/home/ssh_chroot
├── bin
│  ├── bash
│  ├── cat
│  ├── chown
│  ├── cp
│  ├── date
│  ├── ls
│  ├── mkdir
│  ├── mv
│  ├── rm
│  ├── rmdir
│  ├── sh
│  └── touch
├── dev
│  ├── null
│  ├── random
│  ├── tty
│  └── zero
├── etc
│  ├── group
│  ├── group-
│  ├── gshadow
│  ├── gshadow-
│  ├── hosts
│  ├── ld.so.cache
│  ├── ld.so.conf
│  ├── nsswitch.conf
│  ├── passwd
│  └── passwd-
├── home
│  └── chusr
├── lib
│  ├── libc.so.6
│  ├── libdl.so.2
│  ├── libncurses.so.5
│  ├── libtinfo.so.5
│  └── x86_64-linux-gnu
│  ├── libacl.so.1
│  ├── libattr.so.1
│  ├── libaudit.so.1
│  ├── libcrypt.so.1
│  ├── libc.so.6
│  ├── libdl.so.2
│  ├── libexpat.so.1
│  ├── libm.so.6
│  ├── libpam_misc.so.0
│  ├── libpam.so.0
│  ├── libpcre.so.3
│  ├── libpthread.so.0
│  ├── libselinux.so.1
│  ├── libtinfo.so.5
│  ├── libutil.so.1
│  └── libz.so.1
├── lib64
│  └── ld-linux-x86-64.so.2
├── sbin
│  └── unix_chkpwd
├── usr
│  ├── bin
│  │  ├── clear
│  │  ├── dircolors
│  │  ├── groups
│  │  ├── id
│  │  ├── passwd
│  │  ├── tree
│  │  └── vi
│  └── lib
│  └── x86_64-linux-gnu
│  ├── libgpm.so.2
│  └── libpython3.5m.so.1.0
└── var
    └── www
0
задан 15 February 2018 в 10:37

2 ответа

Мой вопрос на самом деле еще не решен, но я думаю, что воздержусь от него. Я просто учил, что это - плохая идея скопировать файлы: группа, группа - gshadow, gshadow-, passwd, и passwd-и тень к новой среде.

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

Этот подход все еще не безопасен, так как пользователь будет работать возрасты с ключом, но я предполагаю, что могу время от времени делать недействительным их, т.е.: каждые 6 месяцев.

Для заинтересованного: Я не сделал получил ошибку: "Не может определить Ваше имя пользователя". больше. Вместо него я добрался:

passwd: Authentication token manipulation error
passwd: password unchanged

введя пароль текущего пользователя. Я выяснил, что некоторые файлы не были найдены на chroot среде путем выполнения этого:

strace passwd

особенно я наблюдал пути на каждой статистике (), читайте (), открытый (), подключение (), доступ (), statfs (), и readlink () вызов. Так, я скопировал некоторые файлы или ввел папки и linked/binded некоторые устройства. Но я не сделал получил его работа.

Так или иначе я воздержался выполнения этого по двум причинам:

  1. Одна из моих целей состоит в том, чтобы скрыть некоторые части системы в chroot. Howerver, если я должен был скопировать много файлов от моей основной системы, затем какой смысл того, чтобы делать это?

  2. Я также думаю, что, копируя основной файл паролей мои имеют некоторые проблемы: у Вас будет он на двух различных местах: в Вашей основной системе и в chroot. Так, если я заставляю "passwd" работать, были, будет сохраненный новый пароль? Я предполагаю в копии chroot, таким образом, в следующий раз пользовательские логины, его пароль будет все еще старым, сохраненным на основном passwd файле, не так ли?

Я просто задаюсь вопросом, как хостинговые компании решают это со своим "общим хостингом" программы. Я был покупателем нескольких из них, и я вижу, что, когда я использую ssh доступ, они предлагают, я только вижу ограниченную систему; даже файл паролей не там. Я думаю, что только видел свою домашнюю папку и некоторые файлы журнала с моих веб-сайтов.

0
ответ дан 31 October 2019 в 00:29

Хорошо, я решил проблему пароля с общественностью и закрытым ключом. Прием здесь должен вставить открытый ключ:/home/your_user/.ssh/authorized_keys

Это должно быть в реальном корне не дома расположено в chroot; иначе ключевая аутентификация не будет работать.

Только одна проблема остается здесь и - что Вы не можете вызвать сложные пароли. Если пользователь хочет, он может поместить или пустую фразу или что-то как: "1234".

Мне действительно жаль, что я не мог работать с аутентификацией по паролю. Можно, по крайней мере, вызвать некоторую сложность пароля с pam.

0
ответ дан 31 October 2019 в 00:29

Другие вопросы по тегам:

Похожие вопросы: