Написать программу которая по паролю будет определять уровень доступа

Здравствуйте. Есть задача: » В компьютерной системе зарегистрировано несколько пользователей. Разработать программу, которая будет определять сможет пользователь получить доступ к чтению (r), записи (w) или выполнение файлов (x), на основе имени учетной записи пользователя». У меня есть готовый код проверки логина и пароля. Но проблема в том, что он подходит только для одного логина.

Как поместить сюда еще логины, и как сделать разные сообщения для разных пользователей?

#include #include using namespace std; int main() < string login = «Alice»; string password = «Bobly»; string log1; string pass; for (int i=0; i> log1; if (log1 == login) < cout > pass; if (pass == password) < cout else cout > >
Отслеживать
задан 6 ноя 2017 в 19:41
189 1 1 золотой знак 2 2 серебряных знака 12 12 бронзовых знаков
вы хотите реализовать аналог: sudo -u [ -x ] ; echo $? ?
6 ноя 2017 в 20:17

Нет.

При правильном вводе пароля должно быть написано какие права для файла доступны пользователю. По типу: для пользователя Alice доступны права rw rw rw, а для Bob — r r r. По сути, после успешного входа Alice будет написано сообщения что доступны такие права, а для Bob — такие.

Как узнать пароль от Wi-Fi с помощью Python | Достаем пароли от Wi-Fi точек доступа в Windows

6 ноя 2017 в 20:21
что вы думаете, команда, которую я привёл делает?
6 ноя 2017 в 20:29

Вы хотите это сделать для какой-то реальной ОС (например, Linux) или для собственной модели доступа? Если для собственной, то опишите ее поподробнее

6 ноя 2017 в 21:05

Что-то типа этого. Для собственной модели доступа разумеется. Т.е. типа той команды которую вы написали.

7 ноя 2017 в 8:24

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Вот вариант проверки нескольких учетных записей. Если Вам надо было скорректировать приведенный в вопросе код — то можно так. А если Вас интересует команда в терминале для определения прав пользователей, то sudo . вам в помощь (см. комментарий jfs).

Читайте также:
Программа которая взламывает игры на компьютере

#include #include #include #include #include #include #include using index_t = std::uint64_t; int main(int argc, char* argv[]) < const index_t N = 3; // Number of attempts std::map< std::string, std::pair< std::string, std::string >> m; m.emplace(std::make_pair(std::string(«Alice»), std::make_pair(std::string(«1234»), std::string(«Hello, Alice! You can: [rw, rw, rw]»)))); m.emplace(std::make_pair(std::string(«Bob»), std::make_pair(std::string(«5678»), std::string(«Hello, Bob! You can: [r, r, r]»)))); std::string login, password; for (index_t i = 0; i < N; ++i) < std::cout > login; auto login_iterator = m.find(login); if (login_iterator != std::end(m)) < std::cout > password; if (login_iterator->second.first == password) std::cout second.second else std::cout system(«pause»); return EXIT_SUCCESS; >

Если у пользователя потребуется хранить дополнительную информацию, кроме пароля и строки со списком прав, то элемент контейнера надо заменить с pair на пользовательскую структуру и обращаться к полям этой структуры.

Вычисляем по IP с помощью Python | Как определить местоположение по IP

Источник: ru.stackoverflow.com

По паролю отправлять уровень доступа сотрудника к секретной информации в базе данных — Free Pascal

написать программу, которая по паролю будет отправлять уровень доступа сотрудника к секретной информации в базе данных. Доступ к базе имеют только шесть человек, разбитых на три группы по степени доступа. Она имеют следующие пароли: 9583, 1747 — доступны модули баз A,B,C; 3331, 7922 — доступны модули баз В,С; 9455, 8997- доступ модуль баз С.

Код к задаче: «По паролю отправлять уровень доступа сотрудника к секретной информации в базе данных»

Листинг программы

var pass: String; begin Write(‘Password: ‘); ReadLn(pass); Write(‘Access granted to: ‘); case pass of ‘9583’, ‘1747’: WriteLn(‘A,B,C’); ‘3331’, ‘7922’: WriteLn(‘В,С’); ‘9455’, ‘8997’: WriteLn(‘С’); else WriteLn(‘none’); end; end.

Источник: studassistent.ru

методические указания к лабораторнымJS

  1. Постановка задачи: Вычислить значение выражения по формуле (все переменные принимают вещественные значения):
  1. Интерфейс задачи:

  1. Листинг программы:

var x=parseInt(prompt(«Введите значение х»,»»)) a=(x*x-7*x+10) b=(x*x-8*x+12) c=a/b alert(c)Задача № 2

  1. Постановка задачи: Вычислить площадь и периметр правильного n-угольника, описанного около окружности радиуса R.
  2. Интерфейс задачи:
Читайте также:
Установить программу live webcam

  1. Листинг программы:

var n=parseInt(prompt(«Введите кол-во углов n»,»»)) var r=parseInt(prompt(«Введите радиус r»,»»)) a=2*r*(Math.tan((Math.PI)/n)) p=a*n s=(1/2)*n*a*r alert(«Площадь Периметр center»>Задача № 3

  1. Постановка задачи: Написать программу, которая по паролю определяет уровень доступа сотрудника к секретной информации в базе данных. Доступ к базе данных имеют только 6 сотрудников, разбитых на три группы по уровням достепа. Они имеют следующие пароли: 9583, 1747 – доступны модули баз А, В и С; 3331, 7922 — доступны модули баз В и С; 9455, 8997 – доступен модуль базы С.
  2. Интерфейс задачи:

  1. Листинг программы:

var a=prompt(«Введите пароль»,»») if ((a==»9583″) || (a==»1747″)) < alert(«Вам доступны базы A,B,C»)>else else else > > >Задача № 4

  1. Постановка задачи: Известен рост трёх человек. Определить, одинаков ли их рост.
  2. Интерфейс задачи:

  1. Листинг программы:

var a=parseInt(prompt(«Введите рост первого человека»,»»)) var b=parseInt(prompt(«Введите рост второго человека»,»»)) var c=parseInt(prompt(«Введите рост третьего человека»,»»)) if ((a=b) (b==c) (a==c)) alert(«Рост этих людей одинаков») elseЗадача № 5

  1. Постановка задачи: Мастям игральных карт условно присвоены следующие порядковые номера: «пики»-1, «трефы»-2, «бубны»-3, «червы»-4. по заданному номеру масти m (1 <=m<=4) определить название соответствующей масти.
  2. Интерфейс задачи:

  1. Листинг программы:

var m=parseInt(prompt(«Введите номер масти m»,»»)) switch (m)Задача № 6

  1. Постановка задачи: Даны два вещественных положительных числа х и у. арифметические действия над ними пронумерованы (сложение – 1, вычитание – 2, умножение – 3, деление — 4). Составить программу, которая по введённому номеру выполняет то или иное действие над числами.
  2. Интерфейс задачи:

  1. Листинг программы:

var x=parseInt(prompt («Введите х»,»»)) var y=parseInt(prompt («Введите y»,»»)) var z=parseInt(prompt («Арифметические действия 1-Сложение, 2-Вычитание, 3-Умножение, 4-Деление «,»»)) switch (z) < case 1: a=x+y alert (a) break case 2: a=x-y alert (a) break case 3: a=x*y alert (a) break case 4: a=x/y alert (a) break >Задача № 7

  1. Постановка задачи: Дано вещественное число х. Вычислить:
  2. Интерфейс задачи:

  1. Листинг программы:

x=parseInt(prompt(«Введите чиcло»,»»)) f=1 s=0 for (n=1;n <=13;++n)< for (k=1;k<=(2*n-1);++k)< f*=k>a=Math.pow((-1),(n+1)) b=(Math.pow(x,(2*n-1))) y=a*b/f s=s+y > alert(«s center»>Задача № 8

  1. Постановка задачи: Определить суммарный объём V в литрах 12ти вложенных друг в друга шаров со стенками толщиной 5 мм. Внутренний диаметр шара равен 10 см. считать, что шары вложены друг в друга без зазоров.
  2. Интерфейс задачи:
Читайте также:
Кто составляет производственную программу на производстве

  1. Листинг программы:

v=0 r=10 k=1 for (n=1;n <=2;++n)< v=v+4/3*r*r*r*Math.PI r=k*0.5+10 k=k+1 alert(v) >Задача № 9

  1. Постановка задачи: Дана последовательность слов. Напечатать все слова, предварительно выполнив преобразования по правилу: заменить в каждом слове первую встречную букву а буквой о, удалив все остальные (если в слове нет такой буквы, то ничего не делать).
  2. Интерфейс задачи:

  1. Листинг программы:

var str=prompt(«Введите строку»,»») document.writeln(«Исходная строка: «+str+»
«) l=str.length //длина строки s=new Array() slovo=new Array() k=0 for (i=0;i<=l-1;++i)< if (str.slice(i,i+1)==» «)< k=k+1>> s1=»» slovo=str.split(» «) for (i=0;i <=k;++i)< l=slovo[i].length a=slovo[i].indexOf(«а») s1=s1+» «+slovo[i].slice(0,a)+»о»>document.writeln(«Преобразованная строка: «+s1+»
«)Задача № 10

  1. Постановка задачи: Дан текст, заканчивающийся точкой. В алфавитном порядке напечатать все строчные русские гласные буквы (а, е, и, о, у, ы, э, ю, я), входящие в этот текст.
  2. Интерфейс задачи:

  1. Листинг программы:

var x=prompt(«Введите строку»,»») l=x.length s=»» mas=new Array() x1=new Array() x1=x.split(«») a=x1.sort() document.writeln(x) for (i=0;i <=l;++i)< switch(x1[i])< case x1[i]=»а»: s=s+x1[i] break case x1[i]= «е»: s=s+x1[i] break case x1[i]=»и»: s=s+x1[i] break case x1[i]=»о»: s=s+x1[i] break case x1[i]=»у»: s=s+x1[i] break case x1[i]=»ы»: s=s+x1[i] break case x1[i]=»э»: s=s+x1[i] break case x1[i]=»ю»: s=s+x1[i] break case x1[i]=»я»: s=s+x1[i] break >> document.writeln(«
«+s)Задача № 11

  1. Постановка задачи: Определить:

А) Координаты первого максимального элемента главной диагонали массива; Б) Координаты первого минимального элемента побочной диагонали массива; В) Координаты последнего минимального элемента главной диагонали массива; Г) Координаты последнего максимального элемента побочной диагонали массива; Во всех задачах просматривать диагональ сверху вниз.

  1. Интерфейс задачи:
  2. Листинг программы:

Задача № 12

  1. Постановка задачи: Задан массив, содержащий несколько нулевых элементов. Сжать его, выбросив эти элементы.
  2. Интерфейс задачи:

  1. Листинг программы:

var l=parseInt(prompt(«Введите количество элементов будущего массива»,»»)) mas=new Array() s=»» for (i=0;i <=l-1;++i)< mas[i]=prompt(«Введите mas[«+i+»]»,»») if (mas[i]!=0)< s=s+mas[i]>> s1=s.split(«») document.writeln(«Исходный массив: «+mas+»
«) document.writeln(«Преобразованный массив: «+s1+»
«) 12

11.04.2015 452.1 Кб 40 методичка по linux.DOC

Ограничение

Для продолжения скачивания необходимо пройти капчу:

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru