Автор Гілка: Права доступу, неможливо скопіювати файл  (Прочитано 2254 раз)

Відсутній v.2.1

  • Письменник
  • *****
  • дописів: 639
  • Карма: +0/-0
Бувають різні ситуації в результаті яких утворюються непотрібні заборони на файли.
Иноді хочеш наприклад скопіювати  файл з флешки, чи з иншого диску, де встановлений Лінукс, а він тобі каже Permission denied.
Якщо ви мегахакер і працюєте в консолі, то ви цього можливо й не помітите. Але що робити якщо для того щоб скопіювати такий файл доводиться щоразу лізти в інтренет і шукати потрібні команди?

Як зробити файл загальнодоступним і вільним для копіювання, я пробував міняти атрибути на запис
chmod 222 ім’я файла
але над ним все одно іконка з перекресленим червоним квадратиком.

Скопіювати його через консоль вдалося, але тепер над ним з’явився ще й значок з замочком.

Михайло Даниленко

  • Гість
Бо ви дали будь-кому право писати в файл, зате забрали у всіх (в тому числі й себе) право його читати. До речі, я не знаю, чи дійсно вам вдалося його скопіювати. Про всяк випадок порівняйте розміри файлів.

Михайло Даниленко

  • Гість
Або дайте вивід
$ ls -l <файл>
і
$ ls -l <скопійований файл>

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
chmod a+r ім_я файлу
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній borman

  • Графоман
  • ****
  • дописів: 416
  • Карма: +0/-0
  • Debianizer
Іноді аж тягне познущатись...

Виглядало б це мабуть приблизно так:

Цитата
Починаючи з версії 2.6.25 в ядрі Linux з'явилась можливість семантичного файлового менеджменту, що в світлі дотримання unix-парадигми "все - файл", обіцяє здійснити прорив у відносинах розуму людського з комп'ютерним. Простіше кажучи - зовсім недалекі ті часи коли людині не доведеться запам'ятовувати безліч малозрозумілих та відірваних від реальності команд - достатньо буде однієї, котра, проаналізуючи просте і цілком зрозуміле побажання користувача (на кшталт "зробити файл доступним для читання"), просто його виконує! Містика, фантастика, скажете ви? Ні, вже реальність І реалізація - проста, як і все геніальне. На рівні ядра знаходиться додатковий рівень, що організовує високоентропічні блоки системи з задано-прогнозованим рівнем невизначеності в єдину чутливу нейронну мережу, такий собі псевдо-штучний розум, що здатен розпізнати та втілити в життя доволі складні конструкції. На рівні користувача за все відповідає бібліотека libtelepathy.so, що є частиною libc починаючи з останньої версії (і входить до багатьох популярних дистрибутивів, серед яких Debian Lenny, Fedora 10, Ubuntu 8.10, тощо). Між ними - новий системний виклик fluide, для якого було виділено попередньо зарезервований номер 42 (ось вона, відповідь технічних геніїв сьогодення на Головне питання життя, Всесвіту та всього такого!).

Ну і головне. Доторкнутися до майбутнього, спробувати все самостійно можна вже зараз. Для початку потрібно зареєструватись в системі під користувачем root (авжеж, ви правильно зрозуміли - міць та сила нейронного розуму не повинна підкорятися "простим смертним"). Спеціальна команда rm (англ. remark, додати нотатку), дозволяє повідомити ядро про свої наміри щодо відповідного файлу - чи то стандартний файл, файл пристрою або сокет - жодної різниці! Хіба не диво? Наприклад, спробуйте rm -f <назва_файлу> 'зробити доступним для запису', і 100-відсотково будете здивовані результатом! Тут, rm - це власне команда, що звертається до бібліотеки libtelepathy, опція -f вмикає режим fluid, назва_файлу коментарів не потребує і, власне, родзинка - те, що ви хочете зробити. Тут варто схилити голову перед мудрістю та генієм розробників, котрі використали потужність нейронної мережі для автоматичного розпізнання мови за словарним запасом наявних в системі словників. Тобто, встановлюйте aspell-cn, та спілкуйтесь з системою хоч китайською! Втім, для отримання найсильніших вражень, достатньо і української - спробуйте прямо зараз. Одразу після вводу команди нейронна мережа виконає обробку наданої інформації, та, за умови наявності всіх прав, ядро здійснить ваше бажання. Щоправда в процесі обробки маніпуляції з файлом проводити буде неможливо - а це близько однієї-двох хвилин. Не лякайтесь, якщо файл навіть зникне зі списку наявних в даній теці. Все йде за планом. Пришвидшити процес можна за допомогою команди sync.

Нумо, ще не згасла іскра допитливості в щирих душах експериментаторів? Діліться вашими враженнями, описуйте проблеми з якими довелось стикнутися і разом ми зробимо цю систему ще кращою! Майбутнє чекає і вашого внеску!


dd if=/dev/zero of=/dev/null

Відсутній v.2.1

  • Письменник
  • *****
  • дописів: 639
  • Карма: +0/-0
Дякую, трохи розібрався. Просто одразу не додумався, що значення атрибутів можна додавати. (1+2+4)
Копіював за допомогою sudo cp
Початковий файл не залишився, це не дуже важливо.

Борман, ви пропустили перший розділ опусу, коли було створено ту частину системи, яка ускладнює розуміння людини і комп’ютера. А тільки потім було створену систему для її спрощення. Звичайно,  таке ускладнення випрадане безпекою та иншими причинами, воно найкраще на цей час, але ще дуже далеке до зручности. І не ліньки було так багато писати?
« Змінено: 2009-02-17 19:15:10 від vitre »

Відсутній funtik

  • Кореспондент
  • ***
  • дописів: 138
  • Карма: +0/-0
  • Linux... because life is too short for reboots!
Цитата
І не ліньки було так багато писати?
Borman цитату привів, чи то мені здалось?  ::)

Відсутній borman

  • Графоман
  • ****
  • дописів: 416
  • Карма: +0/-0
  • Debianizer
Борман, ви пропустили перший розділ опусу, коли було створено ту частину системи, яка ускладнює розуміння людини і комп’ютера. А тільки потім було створену систему для її спрощення. Звичайно,  таке ускладнення випрадане безпекою та иншими причинами, воно найкраще на цей час, але ще дуже далеке до зручности. І не ліньки було так багато писати?
Ви надто серйозно до того ставитесь :)
А писати зовсім не ліньки — дивно, але 30 годин безсоння діють безвідмовно, щоправда не рекомендував би такий варіан допінгу любителям екстремальних відчуттів.
dd if=/dev/zero of=/dev/null