SFTP: файл посилань у засуджений (з укоріненим) каталогом


22

Я намагаюся налаштувати sftp, щоб кілька довірених людей могли отримати доступ / редагувати / створювати деякі файли. Я ув'язнив користувача в домашній каталог (/ home / name), але у мене виникли проблеми. Я хочу, щоб вони також мали змогу отримати доступ до інших частин VPS, оскільки це також ігровий сервер, веб-хостинг тощо, і я хочу, щоб вони мали повний контроль над файлами за межами своєї засудженої директорії.

Я спробував зробити символьне посилання (ln -s) до потрібного каталогу, але це не працює, як очікувалося. Я спробував (cp -rl) до тих файлів, до яких хотів надати доступ, і це спрацювало - вони можуть редагувати файли у своєму каталозі, і це змінює той, що зберігається поза в'язниці. АЛЕ вони не можуть створити нові файли (вони можуть, але це не буде оновлено поза в'язниці). Я знаю, що я, мабуть, не роблю цього "правильним шляхом", але що я можу робити, що хочу?

Відповіді:


40

Символьні посилання є чисто символічними: вони не містять нічого, крім шляху, тому коли ви відкриваєте симпосилання, ОС зчитує шлях і використовує його замість цього. У середовищі chroot посилання (особливо це стосується абсолютних шляхів), як правило, не вказують на те саме місце, на яке вони вказували у звичайному середовищі.

Якщо ОС сервера є Linux, найкраще зробити, щоб прив’язати-змонтувати весь каталог десь усередині каталогу chroot. Використовуючи це, важливо пам’ятати, що це не копія каталогу, все, що видалено тут, буде видалено з іншого каталогу (важливо, якщо користувач може подати mvфайли чи rm -rf). Зробити це:

mount --bind /some/directory /somewhere/else

Файли в каталозі повинні бути справжніми файлами. Символьні посилання тут, ймовірно, матимуть ті самі проблеми, що ви намагаєтеся в першу чергу пов’язати з файлами.


Дякую за вашу відповідь. Чи можете ви мені пояснити або вказати на підручник про те, як я можу змусити це працювати? У мене відключена ssh для гостей, тому вони мають лише sftp доступ. У який файл я кладу цю команду?
герцог

Хоча це не доцільно, ви також можете створити жорсткі посилання каталогів, що було б простіше, але тільки якщо всі файли знаходяться на одному пристрої.
Falcon Momot

Яка команда для цього
герцог

@KevinDuke Це не те, що користувачі можуть зробити самі, лише root може використовувати mountцей спосіб. Можливо, є спосіб вказати це /etc/fstabтак, що це робиться автоматично під час завантаження, але я не впевнений, як
DerfK

1
Дякую. Я прочитав кілька навчальних посібників і зрозумів це. Ваша відповідь справді допомогла вказати мені в правильному напрямку. Спасибі! Для тих, хто хоче знати, вони допомогли: aplawrence.com/Linux/mount_bind.html freebsd.org/doc/en_US.ISO8859-1/books/handbook/… redbottledesign.com/…
dukevin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.