{"action":"created","issue":{"url":"https://api.github.com/repos/frantiseksimorda/lsum/issues/25","labels_url":"https://api.github.com/repos/frantiseksimorda/lsum/issues/25/labels{/name}","comments_url":"https://api.github.com/repos/frantiseksimorda/lsum/issues/25/comments","events_url":"https://api.github.com/repos/frantiseksimorda/lsum/issues/25/events","html_url":"https://github.com/frantiseksimorda/lsum/issues/25","id":97681819,"number":25,"title":"Skript a správa účtů vůbec","user":{"login":"karlosss","id":8711362,"avatar_url":"https://avatars.githubusercontent.com/u/8711362?v=3","gravatar_id":"","url":"https://api.github.com/users/karlosss","html_url":"https://github.com/karlosss","followers_url":"https://api.github.com/users/karlosss/followers","following_url":"https://api.github.com/users/karlosss/following{/other_user}","gists_url":"https://api.github.com/users/karlosss/gists{/gist_id}","starred_url":"https://api.github.com/users/karlosss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karlosss/subscriptions","organizations_url":"https://api.github.com/users/karlosss/orgs","repos_url":"https://api.github.com/users/karlosss/repos","events_url":"https://api.github.com/users/karlosss/events{/privacy}","received_events_url":"https://api.github.com/users/karlosss/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/frantiseksimorda/lsum/labels/question","name":"question","color":"cc317c"},{"url":"https://api.github.com/repos/frantiseksimorda/lsum/labels/task","name":"task","color":"5319e7"}],"state":"open","locked":false,"assignee":{"login":"frantiseksimorda","id":1432571,"avatar_url":"https://avatars.githubusercontent.com/u/1432571?v=3","gravatar_id":"","url":"https://api.github.com/users/frantiseksimorda","html_url":"https://github.com/frantiseksimorda","followers_url":"https://api.github.com/users/frantiseksimorda/followers","following_url":"https://api.github.com/users/frantiseksimorda/following{/other_user}","gists_url":"https://api.github.com/users/frantiseksimorda/gists{/gist_id}","starred_url":"https://api.github.com/users/frantiseksimorda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frantiseksimorda/subscriptions","organizations_url":"https://api.github.com/users/frantiseksimorda/orgs","repos_url":"https://api.github.com/users/frantiseksimorda/repos","events_url":"https://api.github.com/users/frantiseksimorda/events{/privacy}","received_events_url":"https://api.github.com/users/frantiseksimorda/received_events","type":"User","site_admin":false},"milestone":null,"comments":2,"created_at":"2015-07-28T11:28:02Z","updated_at":"2015-07-28T17:18:09Z","closed_at":null,"body":"Včera to vypadalo, že si úplně nerozumíme, tak to tady zkusím nějak rozepsat.\r\n\r\nCelé udělátko má několik částí. První část (a taky ta jediná, co nutně musí běžet pod rootem) se chová následovně:\r\n- z databáze vycucne příkaz (celý napsaný tak, jako kdybys ho psal ručně do konzole)\r\n- provede ho (tak, jako kdybys stisknul enter)\r\n- do databáze zapíše timestamp, jak to dopadlo, a k tomu ještě pokud možno celý stderr, co to vyhodí - přece to nějak musí jít\r\n\r\nTady rovnou první dotaz: pokud se do toho někdo nabourá, tak nám do databáze zapíše \"rm -rf /\" a jsme v piči. Proto bych možná zkusil nějaký enum (asi bude docela sranda zjistit, jak se to v Django modelech dělá, ale nějak to půjde) nebo aspoň kontrolu v této vrstvě s tím, že skript pustí pouze příkazy useradd a smbpasswd, zbytek bude ignorovat. Do seznamu povolených se dá kdykoli cokoli dopsat, kdyby se zjistilo, že to potřebujeme. Taky bych ještě z bezpečnostních důvodů zakázal středník. @frantiseksimorda ?\r\n\r\nDalší části už potom můžou běžet pod Djangem. \r\n\r\nDruhá část: Engine na příkazy bude zjišťovat, jaké loginy jsou vygenerovány, ale nevytvořeny, jaké účty jsou určeny k zabanování, ale zatím ještě nezabanovány apod., bude tvořit unixové příkazy a zapisovat je do databáze, aby je skript mohl vykonat.\r\n\r\nTřetí částí je potom databáze, která obsahuje informace o účtech. Zde je u každého účtu true/false, zda je aktivní, jeho uživatelské jméno a podobně. Tohle už máme navrženo, ale ještě to nefunguje. Vezmu si to na starost já, tobě bych nechal ty první dvě části, jestli tomu teda nějak rozumíš. Ta první je na 10 minut, ta druhá už asi nějakou chvilku zabere.\r\n\r\n@frantiseksimorda ?"},"comment":{"url":"https://api.github.com/repos/frantiseksimorda/lsum/issues/comments/125683062","html_url":"https://github.com/frantiseksimorda/lsum/issues/25#issuecomment-125683062","issue_url":"https://api.github.com/repos/frantiseksimorda/lsum/issues/25","id":125683062,"user":{"login":"karlosss","id":8711362,"avatar_url":"https://avatars.githubusercontent.com/u/8711362?v=3","gravatar_id":"","url":"https://api.github.com/users/karlosss","html_url":"https://github.com/karlosss","followers_url":"https://api.github.com/users/karlosss/followers","following_url":"https://api.github.com/users/karlosss/following{/other_user}","gists_url":"https://api.github.com/users/karlosss/gists{/gist_id}","starred_url":"https://api.github.com/users/karlosss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karlosss/subscriptions","organizations_url":"https://api.github.com/users/karlosss/orgs","repos_url":"https://api.github.com/users/karlosss/repos","events_url":"https://api.github.com/users/karlosss/events{/privacy}","received_events_url":"https://api.github.com/users/karlosss/received_events","type":"User","site_admin":false},"created_at":"2015-07-28T17:18:08Z","updated_at":"2015-07-28T17:18:08Z","body":"tak jako v zásadě je to asi jedno, chtěl jsem tomu skriptu akorát co nejvíc odlehčit, tohle by asi taky mělo jít"}}