С чего начинается программирование...

читать лучше с начала!

На сайті розглядаються основи роботи з мультимедійною інформацією на персональному комп'ютері. Описано ряд програм для закису, обробки й відтворення звуку й зображення.

Представлено деякі Wіndows-програми комунікацій реального часу ( ІP-Телефонії).

Також сайт присвячен розробці власних програм для роботи з аудио й відео, передачі звукової й візуальної інформації в локальних мережах і Інтернеті.

Серед наших користувачів, як правило, користувачі комп'ютера в дома й в офіса, так і на починаючих розроблювачів програмного забезпечення - ми даємо основи програмування в середовищі Borland C++ Buіlder. Наша аудиторія - це, перш за все, школярі старших класів, студенти і широке коло людей, що просто використовують комп'ютер вдома й на роботі.

ЗМІННІ СЕРЕДОВИЩА ВИКОНАННЯ


FORM Команда й опції для лістингу SORT Команда й опції для сортування результату SRC Вихідний каталог, від якого потрібно починати пошук


      ОПИС

      НАВІЩО НАМ ПОТРІБНИЙ КОМАНДНИЙ ФАЙЛ chkset?

      Ми вже розглянули проблеми безпеки, які можуть виникнуть, коли для файлів, що виконуються, установлений в одиницю біт разрешения установки ідентифікатора користувача. Це означає, що вони могут запускати інтерпретатор shell з кореневий або з іншим привілеєм високого рівня. З тією же метою може бути встановлений в одиницю біт дозволу установки ідентифікатора групи. Тому системний администратор повинен безупинно розшукувати й перевіряти всі файли в системі, для яких установлені ці біти, щоб подивитися, не используются чи вони для несанкціонованих цілей.
      Не для всіх інтерпретаторів shell, що порушують захист, власником є суперкористувач (root). Один користувач може запустити shell, власником якого є інший користувач, що має болеї високі привілеї. Це фактично надає користувачеві, що запустили shell, всі можливості власника файлу.
      Знайти shell-інтерпретатори, що встановлюють ідентифікатор полязователя або групи, буває легко, а буває й важко, у залежності від їхнього авторства. Легко знайти такі, які:
      а) мають незвичайні імена (деякі порушники люблять выстав
      лять свої досягнення напоказ);
      б) містять у виконується файле, що, символьні рядки, які
      можна прочитати;
      в) розміщені в незвичайному або очевидному каталозі;
      г) не мають обмежень щодо того, хто може їх запус
      тить.
      Для витончених shell-інтерпретаторів характерно наступне:
      а) вони мають імена, схожі на звичайні команди системи UNIX;
      б) мають розміри файлів, які відповідають іншим файлам,
      розміщеним неподалік від них;
      в) містять сховані символьні рядки, які не так-те
      легко прочитати;
      г) мають, можливо, спеціальну опцію, що запускає shell, або
      навіть спеціальний пароль, необхідний для його запуску.
      Самі хуліганські з них є справжніми командами системи UNIX, переробленими в кореневі shell-інтерпретатори, які потім переустановлюються замість первісних shell-інтерпретаторів. Єдиний надійний спосіб ідентифікувати цей останній тип запустити побайтовое порівняння між вашою дистрибутивною копією доманды системи UNIX і тією версією, що є присутнім у справжній момент у вашій системі.
      Звичайно, перед тим як ви зможете перевірити файли із включеними бітами дозволу установки користувальницького/групового идентификатора, вам потрібно знайти всі такі файли. У системі UNIX це роблять дві команди: find(1) і ncheck(1M). Утиліта find шукає файли по нашої точний специфікації й може бути використана для пошуку файлів із заданийным набором прав доступу, включаючи біти установки ідентифікаторів. Ncheck друкує упереміш спеціальні файли й файли з дозволеної установкою ідентифікатора користувача. Це дуже великий список, читання й пошук у ньому мнас, що цікавлять, файлів займає багато часу. Таким чином, корисно створити командний файл, що надає нам всю необхідну інформацію й тільки таку інформацію. Chkset использует команду find і шукає тільки файли із включеними бітами разрешения установки користувальницького/групового ідентифікатора, так що результат містить лише необхідну нам інформацію, і цим результатім можна відразу ж скористатися.


      ЩО РОБИТЬ chkset?

      Chkset має два режими функціонування: один для сканування всієї системи в цілому, а іншої для сканування зазначених дерев каталогів. Це гарна властивість, тому що сканування кожного файлу системи займає дуже багато часу. Якщо є багато більших дисковых пристроїв, перевірка всього вмісту системи може зайняти целый година. Утиліта chkset також дуже сильно завантажує центральний процессор через всі процеси, які вона генерує. Указуючи імена каталогів, ви можете виконати перевірку лише на певній області системного дерева. Відзначимо, однак, що оскільки chkset користується командою find, вона сканує не тільки зазначений вами каталог, але й ВСІ підлеглі каталоги. Помітимо також, що chkset виявляє ВСІ файли із установленими в одиницю бітами установки пользовательского/групового ідентифікатора, а не тільки ті, власником яких является суперкористувач (root).
      Результат роботи chkset можна видати також двома способами. Якщо не застосовувати ніяку опцію, то форма видачі результату визначається командою "find ... -print", що означає повні маршрутні імена найденных файлів. Потім ці повні імена сортуються.
      Якщо застосовується опція -l, те для форматування результату искористується команда "ls -ld", що породжує довгий формат лістингу. При цьому роздруковуються повна вказівка прав доступу, число зв'язків, владілок, розмір і ім'я файлу. Цей результат також сортується по именам.
      Вибирайте той або інший формат залежно від обставин. Якщо вам потрібно перевірити велику ділянку системи й одержати список підозрілих файлів, застосуєте лістинг за замовчуванням (без опцій), тому що він компактніше й, як ми побачимо пізніше, займає значно менше процесорного часу. Якщо ви хочете зайнятися певним каталогом і подивитися на його файли докладно, скористайтеся опцією l. Вона надає більше інформації й рятує від необхідності вручну набирати команди ls для файлів, що цікавлять вас.
      Відзначимо, що цю команду може запустити хто завгодно, а не тільки адміністратор, що має привілеї суперкористувача. Однак, якщо вона запускається звичайним користувачем, то команда find усередині командного файлу chkset обмежена тими файлами, до яких користувач має доступ на читання. Так що ви могли б запропонувати більше привилегированним користувачам запускати chkset у якості однієї з їх особистих мер безпеки. Зрозуміло, якщо chkset запускається суперпользователем, те обмеження прав доступу до файлів несуттєві й можна піддати перевірці всі файли.

[...]
Початок
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201] [202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227] [228] [229] [230] [231] [232] [233] [234] [235] [236] [237] [238] [239] [240] [241] [242] [243] [244] [245] [246] [247] [248] [249] [250] [251] [252] [253] [254] [255] [256] [257] [258] [259] [260] [261] [262] [263] [264] [265] [266] [267] [268] [269] [270] [271] [272] [273] [274] [275] [276] [277] [278] [279] [280] [281] [282] [283] [284] [285] [286] [287] [288] [289] [290] [291] [292] [293] [294] [295] [296] [297] [298] [299] [300] [301] [302] [303] [304] [305] [306] [307] [308] [309] [310] [311] [312] [313] [314] [315] [316] [317] [318] [319] [320] [321] [322] [323] [324] [325] [326] [327] [328] [329] [330] [331] [332] [333] [334] [335] [336] [337] [338] [339] [340] [341] [342] [343] [344] [345] [346] [347] [348] [349] [350] [351] [352] [353] [354] [355] [356] [357] [358] [359] [360] [361] [362] [363] [364] [365] [366] [367] [368] [369] [370] [371] [372] [373] [374] [375] [376] [377] [378] [379] [380] [381] [382] [383] [384] [385] [386] [387] [388] [389] [390] [391] [392] [393] [394] [395] [396] [397] [398] [399] [400] [401] [402] [403] [404] [405] [406] [407] [408] [409] [410] [411] [412] [413] [414] [415] [416] [417] [418] [419] [420] [421] [422] [423] [424] [425] [426] [427] [428] [429] [430] [431] [432] [433] [434] [435] [436] [437] [438] [439] [440]