Как предоставить обычному пользователю оболочки доступ к определенной папке - PullRequest
1 голос
/ 02 апреля 2012

Мне нужно предоставить другому разработчику SSH доступ на чтение / запись к веб-корню и crontab на коробке Debian. Обычно я единственный, кто входит в систему, поэтому я использую для этого пользователя root. Этот новый пользователь не является полностью доверенным, поэтому я не могу предоставить ему root-доступ.

Пока мне удалось создать его как пользователя, используя:

useradd -m --shell=/bin/bash newUser

и я установил его открытый ключ, чтобы он мог войти через SSH.

Теперь мне нужно предоставить ему доступ на чтение / запись только к корневому веб-сайту одного из нескольких сайтов, работающих на этом сервере. Также он должен иметь возможность редактировать crontab.

Что мне нужно сделать?

UPDATE:

Я действительно решил (я думаю), как это сделать.

  1. изменил группу newUser:

    usermod -g mySiteGroup newUser

  2. рекурсивно добавлены разрешения на чтение / запись для корневой веб-папки

    chmod -R g + rw / var / www / mySite

Это похоже на работу. Пожалуйста, дайте мне знать, если я пропустил что-то важное или оставил что-то небезопасное. Спасибо Заранее спасибо

1 Ответ

0 голосов
/ 06 апреля 2012

Хотя это не так уж плохо, вот что я бы сделал:

  • создайте группу "dev" / "developers"
  • добавьте себя и нового пользователя вэто (пожалуйста, обратите внимание, что, делая это, я настоятельно не рекомендую регулярно использовать учетную запись root)
  • преуменьшить корень веб-сервера, чтобы сделать его принадлежащим группе «разработчиков»
  • , затем изменить егорекурсивно к 775/770 (это ваш единственный выбор, как администратор сервера, поиграть с ним, как вам нравится)

Это должно быть хорошо, теперь для crontab, вот выдержка из его страницы руководства:

Если файл /etc/cron.allow существует, то вы должны быть перечислены (по одному пользователю на строку), чтобы иметь возможность использовать эту команду.Если файл /etc/cron.allow не существует, но файл /etc/cron.deny существует, вы не должны быть указаны в файле /etc/cron.deny, чтобы использовать эту команду.

Если задана опция -u, она указывает имя пользователя, чей crontab должен использоваться (при перечислении) или изменяться (при редактировании).Если эта опция не указана, crontab проверяет «ваш» crontab, т. Е. Crontab человека, выполняющего команду.Обратите внимание, что su (8) может запутать crontab и что если вы работаете внутри su (8), вы всегда должны использовать опцию -u для безопасности.

Просмотрите документацию crontab и вернитесь сюдаподелиться результатами и дальнейшими вопросами.

...