Postfix s MySQL

SQL

Postfix s MySQL
« kdy: 23. 02. 2018, 11:09:46 »
Ahoj, mam vytvorenu tabulku v MySQL:
CREATE TABLE `virtual_users` (
  `id` int(11) NOT NULL auto_increment,
  `domain_id` int(11) NOT NULL,
  `password` varchar(106) NOT NULL,
  `email` varchar(100) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`),
  FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


Do tabulky vkladam uzivatelov s heslom.

INSERT INTO `mailserver`.`virtual_users`
  (`id`, `domain_id`, `password` , `email`)
VALUES
  ('1', '1', ENCRYPT('password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'email1@example.com'),
  ('2', '1', ENCRYPT('password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'email2@example.com');


Moja otazka je, aky by bol rozdiel, keby to  vkladam sposobom
('1', '1', MD5('password'), 'email1@example.com')

Aky je v tom rozdiel?
Popripade ak by mi mohol niekto povedat, co znamena/robi ENCRYPT('password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16)))


postmaster

Re:Postfix s MySQL
« Odpověď #1 kdy: 23. 02. 2018, 13:10:56 »
Předně se vyser na postfix a raději si nainstaluj exim4.

D.J.Bobo

Re:Postfix s MySQL
« Odpověď #2 kdy: 23. 02. 2018, 13:43:01 »
Citace od: postmaster kdy 23. 02. 2018, 13:10:56
Předně se vyser na postfix a raději si nainstaluj exim4.
A můžeš nám ostatním, co to nechápeme, napsat proč?

Já třeba Postfix používám a jsem spokojený. Nicméně, třeba změním názor.

K dotazu:
Nechápu, proč se trápíš s příkazy a raději nepoužiješ PostfixAdmin, kde je vše za tebe vyřešeno.

SQL

Re:Postfix s MySQL
« Odpověď #3 kdy: 23. 02. 2018, 13:53:19 »
Citace
K dotazu:
Nechápu, proč se trápíš s příkazy a raději nepoužiješ PostfixAdmin, kde je vše za tebe vyřešeno.

Pretože by som sa rad niečo priučil nez to vyklikal cez klikatko...

Re:Postfix s MySQL
« Odpověď #4 kdy: 23. 02. 2018, 20:11:37 »
Citace od: SQL kdy 23. 02. 2018, 11:09:46
Do tabulky vkladam uzivatelov s heslom.

INSERT INTO `mailserver`.`virtual_users`
  (`id`, `domain_id`, `password` , `email`)
VALUES
  ('1', '1', ENCRYPT('password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'email1@example.com'),
  ('2', '1', ENCRYPT('password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'email2@example.com');


Moja otazka je, aky by bol rozdiel, keby to  vkladam sposobom
('1', '1', MD5('password'), 'email1@example.com')

Aky je v tom rozdiel?
V prvním případě se do databáze ukládá osolený SHA-512 hash, ve formátu funkce crypt(3). V druhém případě se heslo pouze hashuje MD5 bez soli, což je velmi špatný nápad. Taky to nejspíš nebude fungovat, pokud Postfix očekává záznam ve formátu crypt.

Citace od: SQL kdy 23. 02. 2018, 11:09:46
Popripade ak by mi mohol niekto povedat, co znamena/robi ENCRYPT('password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16)))