2016-12-12 5 views
0

Я хочу создать онлайн-репетитора, где любой пользователь (в основном ученики) может приходить и практиковать команды unix.Ограничить доступ пользователей к определенному каталогу в linux/ubuntu

Пользователю необходимо войти на веб-странице, и они будут иметь прямой доступ (с веб-страницы) в каталоге «пользователя» на Ubuntu Server

например Для «USER-1» его рабочий каталог будет установлен на:/home/ubuntu/user-1/

Для «USER-2» его рабочий каталог будет установлен на:/home/ubuntu/user-2/и т. д. до/home/ubuntu/user-n/

Теперь проблема в том, что я хочу, чтобы этот пользователь мог выполнять команду только в своем каталоге, то есть «/ home/ubuntu/user-1 /» он не может перемещаться в родительский каталог или любой другой системный каталог, разрешены только дочерние каталоги с доступом rw.

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

Однако я хочу создать отдельную учетную запись с разными каталогами пользователей с ограниченным доступом.

После входа пользователя на веб-странице его рабочий каталог будет установлен в:/главная/Ubuntu/пользователя - */

/дома/убунту/пользователь-1 /: пользователь-1 может получить доступ только этот каталог
/home/ubuntu/user-2 /: user-2 можно получить доступ Только в этом каталоге
.
.
.
/home/ubuntu/user-n /: пользователь может получить доступ только к этому каталогу

Я новичок в unix, любая идея о том, как я могу это сделать?

+0

Ознакомьтесь с группами и как их разрешить с помощью 'chmod' – MichaelMMeskhi

+0

http://unix.stackexchange.com/a/208995 – MichaelMMeskhi

ответ

0

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

Это способ сделать это с 2-х пользователей: С другой учетной записи вы должны создать пользователей каталогов, каждый раз, когда пользователь выполнить команду, сделать это с первого счета: CHMOD 600/главная/убунту/user- * & & chmod 664 user-n И вы выполняете каждую команду от второго пользователя, поэтому он будет иметь доступ только к каталогу user-n.

Но гораздо более чистым способом было бы иметь пользователя для домашнего каталога на сервере.

+0

Я понял проблему, которую вы указали. Но как я могу динамически создать пользователя для домашнего каталога. т.е. когда пользователь регистрируется на веб-сайте, его пользовательский доступ должен быть создан на сервере в тот самый момент. –

+0

@HemanshuBelani. Правда, вы не можете скриптовать adduser команд, потому что они интерактивны, но вы можете создать скрипт с командой useradd, чтобы каждый раз, когда вы создайте учетную запись на своем веб-сайте, просто запустите сценарий, чтобы, например, указать имя пользователя в параметре. – jjacobi

Смежные вопросы