Создать удаленного пользователя в OS X?

Я хотел бы создать пользователя в OS X, у которого есть привилегии удаленного доступа ssh, где они могут получить доступ к определенной папке /пути /в /the /goods /и добавлять /изменять /удалять файлы вручную или через rsync, в то время как остальные Mac находится вне пределов (вне их домашнего каталога).

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

Этот пользователь будет использоваться сервером сборки для входа и развертывания файлов. Я хочу использовать пару открытых /закрытых ключей, поэтому скрипт сборки не требует ввода пароля.

Как я могу это сделать?

14 голосов | спросил chrisan 25 FebruaryEurope/MoscowbSat, 25 Feb 2012 01:49:35 +0400000000amSat, 25 Feb 2012 01:49:35 +040012 2012, 01:49:35

1 ответ


7

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

http://thefragens.com /блог /2011/12 /chrootd-SFTP-на-макинтош-OS-X-сервер /

Ниже приведена основная часть инструкции из вышеприведенного сообщения.

Сначала вы должны создать нового пользователя в Администраторе рабочих групп и назначить им права доступа для SSH через Администратор сервера или назначить их группе, имеющей привилегии доступа SSH. Дальнейшее обсуждение ниже.

От терминала, начните правильно.

sudo cp /etc/sshd_config /etc/sshd_config.bkup

sudo chown root /
sudo chmod 755 /
sudo mkdir -p /chroot/user/scratchpad
sudo chown -R root /chroot
sudo chown user /chroot/user/scratchpad
sudo chmod -R 755 /chroot

Каждый добавочный новый добавленный пользователь будет чем-то вроде следующих.

sudo mkdir -p /chroot/user2/scratchpad
sudo chown root /chroot/user2
sudo chown user2 /chroot/user2/scratchpad
sudo chmod -R 755 /chroot/user2

В каждой папке путь к chroot-тюрьме должен принадлежать root. Я не думаю, что важно, в какой группе находится папка. То, что я делал выше, было

  1. backup /etc/sshd_config
  2. изменить права собственности на корневой каталог на root
  3. изменить права доступа корневого каталога на 755
  4. создать папку chroot
  5. создать папку пользователя внутри папки chroot
  6. создать папку внутри пользовательской папки, которую пользователь может изменить
  7. установить права собственности и разрешения

Теперь отредактируйте /etc/sshd_config к следующему.

#Subsystem  sftp    /usr/libexec/sftp-server
Subsystem   sftp    internal-sftp

Match User user
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
    ChrootDirectory /chroot/user

Это создает chroot-тюрьму, которая, когда пользователь войдет в систему, выведет их в папку /chroot/user, в этой папке находится папка, в которой они может добавить вещи в /chroot/user/scratchpad.

Если вы хотите создать группу в Workgroup Admin для «Chroot Users», а затем добавить новых пользователей, которые вы создали в Workgroup Admin в группу, вам не придется продолжать редактировать /etc/sshd_config. Вместо вышесказанного добавьте следующее. Убедитесь, что вы добавили группу «Chroot Users» в ACL-доступ ACL в Admin Admin.

Match Group chrootusers
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
    ChrootDirectory /chroot/%u

Чтобы проверить, работает ли это, выполните следующие действия с терминалом.

$ sftp [email protected]
Password:
sftp>
ответил afragen 25 FebruaryEurope/MoscowbSat, 25 Feb 2012 04:25:11 +0400000000amSat, 25 Feb 2012 04:25:11 +040012 2012, 04:25:11

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132