1. Си / Говнокод #18242

    +143

    1. 1
    fp_env = popen("env", "r");

    не ну я даже не знаю.

    Запостил: Dummy00001, 27 Мая 2015

    Комментарии (48) RSS

    • от туда же, десятком строк ниже:
      sprintf(buf, "\nexport LD_LIBRARY_PATH=%s", chLibraryPath);
      fwrite(buf, strlen(buf), 1, fp);
      Ответить
    • Ну это проблема всего того, что переписывается с шелла на нормальные языки -- только API вызовов процессов усложняются. Народ буквы в файле ищет через subprocess.Popen("cat file.txt | grep what", ...), че уж тут говорить )
      Ответить
      • в перловой официальной доке есть перлы типа:
        @file_lines = `cat $file_name`;

        типа если обработка ошибок по барабану, то вот так проще файл читать.
        Ответить
        • Ясен хуй кроссплатформенность не нужна.
          Ответить
          • назови мне хотя бы одну человеческую платформу на которой нет cat'а.
            Ответить
            • windows ?
              Ответить
              • с каких пор винды стали человеческой платформой? ;)
                Ответить
                • ммм ну уже лет как 20. 15 точно.
                  Можно конечно устроить мини срач по поводу форточек. Но у меня нет настроения. По этому сразу к концу срача. Виндовс говно но говно с человечьим лицом. И в Skyrim под линью не поиграешь.
                  Ответить
                  • Угу, заебали дегенераты, считающие, "что винда в права доступа не умеет". Очнитесь, 9х давно умер, в 2001 появилась xp.
                    Ответить
                    • > что винда в права доступа не умеет <
                      Как раз таки наоборот, они там сделаны ебанутей некуда.
                      Ответить
                      • А ты rwx хотел? Что ебанутого?
                        Ответить
                        • Да просто линупсята виндовые права всё никак осилить не могут :)
                          Ответить
                          • да их и не всякий виндозник осиливает. и даже профи изредка делают "дилетантские" ошибки, потому что система слегка ёбнутая.

                            ЗЫ виндовые права (почти) на линухе к слову тоже есть - "POSIX" ACL http://en.wikipedia.org/wiki/Access_control_list и NFS ACL https://wiki.freebsd.org/NFSv4_ACLs
                            Ответить
                          • Я боюсь, что линупсята у себя-то окромя rwx ничего не осилили. Наверно большинство даже не сталкивалось с ситуацией, когда их не хватает.
                            Ответить
                            • На самом деле, rwx для owner/group/others почти всегда хватает. Ну кроме случаев, когда надо организовать файлопомойку со сложными правилами.
                              Ответить
                              • > На самом деле, rwx для owner/group/others почти всегда хватает.

                                чисто математически, rwx и ACL аналогичны. в прошлом читал научную бумажку где чудак биекцию между ними строил. IIRC c rwx используются доп подкаталоги для дополнительных прав.

                                > Ну кроме случаев, когда надо организовать файлопомойку со сложными правилами.

                                я с виндовым админом который отвечал за нечто подобное (корпоративная файлопомойка для конфедециальных данных) на курилке пару лет тусовался.

                                их рекород - на одном каталоге было что-то около 200 ACL записей.

                                начали волноватся когда размер перешёл за 1ТБ - но уже было поздно, потому что с одной стороны слишком много времени займет что бы почистить, с другой стороны удалять потенциально важный документ как то очко играет.
                                Ответить
                              • Вот тебе пример. Есть у пользователей каталог на сервере, если положить файлы в каталог WWW - они становятся доступны в site/~login. Дай доступ только веб серверу, но не другим пользователям, через rwx
                                Ответить
                                • т.е. другие пользователи могут только через интернет к файлу доступаться? типа локально скопировать файл - нельзя. а гуглянуть его - пожалуйста? это даже не смешно.


                                  ЗЫ пример кривой потому что вообще не проблема ни в одной системе контроля доступа. chgroup www; chown o-rwx; chown g+rx-w;
                                  Ответить
                                  • Сервер поддерживает php, в исходниках могут быть пароли.

                                    Ок, а теперь предположим, что кроме сервака еще один юзер должен иметь к файлу доступ. Или мы хотим расшарить доступ к файлу нескольким юзерам.
                                    Ответить
                                    • Как там кстати svn+ssh:// работает?
                                      Ответить
                                    • > Сервер поддерживает php, в исходниках могут быть пароли.

                                      LOL
                                      Ответить
                                    • > кроме сервака еще один юзер должен иметь к файлу доступ
                                      А вот тут уже ACL'ы понадобятся :)

                                      setfacl u:vasyan:r file
                                      setfacl u:www-data:r file

                                      Ну и включить при монтировании FS их поддержку.
                                      Ответить
                                • Плоховатый пример, на rwx слишком безболезненно разруливается.

                                  Дай на эту папку чтение для группы www-data (в которой только один юзер, под которым крутится веб-сервак) да и всё.
                                  Ответить
                                  • Годные примеры должны содержать создателя-владельца?
                                    Ответить
                                    • Не. В годном примере надо несколько левых личностей, которым нужен разный доступ к этому файлу. Вот как в примере 3_14dar'а - вебсервер на чтение И другой юзер на запись.
                                      Ответить
                                  • >Дай на эту папку чтение для группы www-data
                                    Каг?
                                    Ответить
                                    • Dummy00001 выше написал как.
                                      Ответить
                                      • Так это называется не "Дай на эту папку чтение для группы www-data" а "замени группу для папки на www-data", или я не прав?
                                        Ответить
                                        • > или я не прав
                                          Прав.
                                          Ответить
                                          • Т.е. группа не добавляется, а заменяется? Теперь сделай так для 2+ юзеров
                                            Ответить
                                            • > а заменяется
                                              Так точно. Если мне такой сценарий понадобится - я включу Posix ACL'ы. Просто на типичном шаред хостинге нужна анальная огороженность юзеров друг от друга, и это тупо нинужно.
                                              Ответить
                                              • Я где-то говорил про шаред хостинг?

                                                > я включу Posix ACL
                                                Обосрамс rwx засчитывать?
                                                Ответить
                                                • > Обосрамс rwx засчитывать?
                                                  Нет. owner/group/other по определению слабее ACL'ов. Но в типичных для никсов ситуациях это не особо мешает. А групповое насилие над файлами за пределами файлопомоек для никсов не типично.

                                                  А если owner/group/others не хватает - включи ACL'ы.
                                                  Ответить
                                                  • >чисто математически, rwx и ACL аналогичны. в прошлом читал научную бумажку где чудак биекцию между ними строил. IIRC c rwx используются доп подкаталоги для дополнительных прав.

                                                    >в типичных для никсов ситуациях
                                                    Которые как обычно каждый трактует как хочет. Защитываю слив (т.к. на все случаи жизни их не хватит)
                                                    Ответить
                                                    • Да поди с помощью хардлинков, дополнительных каталогов, дополнительных групп и какой-то матери. В общем, на боевом сервере юзать такое никто не будет.
                                                      Ответить
                                                    • > Защитываю слив (т.к. на все случаи жизни их не хватит)
                                                      Пресвятая толстота... Обычные замки и двери тоже предлагаешь не юзать, т.к. они непригодны для банковских хранилищ (т.е. на все случаи жизни их не хватает)?
                                                      Ответить
                                                      • Ну то что здесь написали про смену группы кагбэ тоже по-моему костыль. Т.е. на расшаривание файлов одному конкретному пользователю оно тупо не предназначено. Так можно договориться до того что бат шелл языком назвать.
                                                        Ответить
                                                        • написали про смену группы кагбэ тоже по-моему костыль. Т.е. на расшаривание файлов одному конкретному пользователю оно тупо не предназначено
                                                          Это почему ?
                                                          Лине часто есть группы с одним пользователем.
                                                          Ответить
                • Как погода в прыщемирке? Пиццу на лопате сегодня уже заносили?
                  Ответить
                  • Нет, на лопате заносили только навоз. А что, кушать хочется?
                    Ответить
                    • И как, поели?
                      Ответить
                      • Не, не получилось. Уж хотели было отведать, так припёрся Баллмер, сказал, что оно не лицензионное и унёс куда-то.
                        Ответить

    Добавить комментарий