Полезно присвоить версию всему, даже для разработчиков. И, если реализовано хорошо с хорошим обучением, я думаю, что они найдут это более полезным, чем обременительный.
Если бы Вы только начинаете, я настоятельно рекомендовал бы использовать распределенную систему управления версиями как мерзавец или подвижный. Это - общая тенденция в мире, и существует много преимуществ. Легко работать в разъединенном режиме, без сетевой зависимости и способности сделать частную, неотполированную работу все еще при управлении версиями, регистрируя все централизованно, когда это готово.
И, чтобы не обратиться к обращениям к полномочиям или чему-либо, но проверить то, что Joel Spolsky должен сказать относительно темы. (Кавычка выбора: "Подверсия = Пиявки. Подвижный и Мерзавец = Антибиотики".) Среди прочего, он делает интересное замечание, что эти новые системы используют новую умственную модель, отличающуюся от традиционного управления версиями — который является, почему вхождение в этот вид подхода с начала является победой.
Для правильного chroot члена группы sftponly вам необходимо установить эти параметры в / etc / ssh / sshd_config
:
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory /srv/chroot/%u
ForceCommand internal-sftp
Требуется, чтобы домашний каталог, и каталоги вплоть до корня системы, для пользователей с root-доступом должны принадлежать root: root
Учитывая следующие значения для пользователя:
$ id user001
uid=1003(user001) gid=1003(user001) groups=1006(sftponly)
$ grep user001 /etc/passwd
user001:x:1003:1003::/input:/sbin/nologin
Вам нужна структура каталогов, подобная этой:
$ tree /srv/chroot
/srv/chroot
├── user001
│ └── input
Поскольку каталог HOME пользователя 001 оценивается после вызова chroot, он попадает в каталог input
, где действительны права на запись:
$ ls -lrtd /srv/chroot/user001/input
drwxrwx--- 2 user001 sftponly 4.0K Apr 07 17:55 /srv/chroot/user001/input