Автор Тема: Настройка на права  (Прочетена 7982 пъти)

consolebg

  • Напреднали
  • *****
  • Публикации: 14
    • Профил
Настройка на права
« -: Jan 05, 2023, 20:40 »
Здравейте,

Имам следното питане:

Създавам нов потребител в системата. Как да направя така че този потребител да не може да вижда нищо друго освен неговата home директория?

Освен това искам да го огранича само до създаване на файлове и директории както и тяхното редактиране. Никаква опция за execute да няма както и да каквито и да било други команди (защото потребителя трябва да може да се логне през ftp или ssh).

Примерно ако си е в неговата home директория да не може да мине едно ниво на зад с cd или с ls, както дори и uname да не може да изпълни.

Евентуално да може да ползва touch да си създаде файл,mkdir, rmdir,cd само между неговите директории cp, само между неговите директории, но без никакъв шанс да изпълни shell или нещо подобно.

Благодаря предварително [_]3
Активен

jet

  • Напреднали
  • *****
  • Публикации: 3473
  • Distribution: debian
  • Window Manager: kde
    • Профил
Re: Настройка на права
« Отговор #1 -: Jan 05, 2023, 22:43 »
правиш /home на отделен дял и го монтираш с опция noexec
правиш също:
chmod o-rwx /home
Активен

..⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁
  ⢿⡄⠘⠷⠚⠋
  ⠈⠳⣄⠀⠀⠀⠀  Debian, the universal operating system.

nslave

  • Напреднали
  • *****
  • Публикации: 160
  • Distribution: Fedora / Debian
  • Window Manager: Xfce
    • Профил
Re: Настройка на права
« Отговор #2 -: Jan 11, 2023, 13:55 »
Решението за което се сещам е с chroot jail на потребителя, което ти дава голяма гъвкавост, но и вероятно доста усилия за да го направиш както трябва. Така можеш да му дадеш достъп само до определени команди, които присъстват в bin папката на затвора му. Съответно тъй като ще вижда само затвора си, няма да може да види какви други потребители има на машината, както вероятно и други благини за които не се сещам в момента.

Друг вариант е може би на самият потребител да му се зададе някакъв ограничен шел, така като гледам bash има опция за стартиране в restricted режим. Не съм го пробвал, но вероятно може да ти свърши работа. За целта трябва при създаването на потребителя да му зададеш за шел по подразбиране /bin/rbash или след това да го зададеш в /etc/passwd. Но пак ще иска четене и настройки за да се стигне до това, което целиш.
Активен

aleximilian

  • Напреднали
  • *****
  • Публикации: 64
  • Distribution: Debian
    • Профил
Re: Настройка на права
« Отговор #3 -: Jan 11, 2023, 15:36 »
Добра идея е да погледнеш възможностите на ACL
Активен

LouiseCox

  • Новаци
  • *
  • Публикации: 1
    • Профил
Re: Настройка на права
« Отговор #4 -: May 16, 2023, 10:39 »
Здравейте,

Имам следното питане:

Създавам нов потребител в системата. Как да направя така че този потребител да не може да вижда нищо друго освен неговата home директория?

Освен това искам да го огранича само до създаване на файлове и директории както и тяхното редактиране. Никаква опция за execute да няма както и да каквито и да било други команди (защото потребителя трябва да може да се логне през ftp или ssh).

Примерно ако си е в неговата home директория да не може да мине едно ниво на зад с cd или с ls, както дори и uname да не може да изпълни.

Евентуално да може да ползва touch да си създаде файл,mkdir, rmdir,cd само между неговите директории cp, само между неговите директории, но без никакъв шанс да изпълни shell или нещо подобно.

Благодаря предварително [_]3
или не можете да приложите AI Mirror Mod APK Premium Unlocked на уебсайта Getmodnow със безопасно, безплатно

Здравейте,

За да ограничите потребителския достъп, можете да използвате инструмента за ограничаване на shell достъпа chroot. Чрез този инструмент може да ограничите потребителя само до тази директория, която сте задали като home директория.

За да създадете нов потребител, използвайте командата useradd. Това ще създаде нов потребител в системата ви. След като сте създали потребителя, използвайте командата chroot, за да го ограничите само до home директорията му. Можете да направите това, като поставите следното в края на файла /etc/ssh/sshd_config или /etc/vsftpd.conf, в зависимост от това кой инструмент използвате:

Match User {име на потребителя}
ChrootDirectory /home/{име на потребителя}
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no

« Последна редакция: May 18, 2023, 05:27 от LouiseCox »
Активен