Автор Тема: xfce, slackware, право за четене на файл  (Прочетена 4403 пъти)

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
xfce, slackware

Пиша програмка, която чете по един и същ начин два файла. Единият е текстов, а другият - изображение.

И двата файла са с права -rwxr--r-- и собственост root.root

Текстовият е в /usr/local/etc  . Нямам никакъв проблем с четенето му.
Картинката, независимо в коя директория се намира, получавам грешка при четене "Access Denied". В терминал нямам проблем с четенето и. Ако сменя собствеността с тази на потребителя или добавя право за писане, грешката изчезва.

След много експерименти отхвърлих грешка в програмата. Какво мога да направя, освен варианта с даване на права за запис върху файла?
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

jet

  • Напреднали
  • *****
  • Публикации: 3472
  • Distribution: debian
  • Window Manager: kde
    • Профил
Re: xfce, slackware, право за четене на файл
« Отговор #1 -: Mar 05, 2021, 19:09 »
Излиза, че програмката с която "четеш" картинката се мъчи да я отваря и за писане - твоя програмка ли е или някоя известна.
Активен

..⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁
  ⢿⡄⠘⠷⠚⠋
  ⠈⠳⣄⠀⠀⠀⠀  Debian, the universal operating system.

Naka

  • Напреднали
  • *****
  • Публикации: 3395
    • Профил
Re: xfce, slackware, право за четене на файл
« Отговор #2 -: Mar 05, 2021, 20:20 »
Да не би да се мъчи да променя някой exif флаг по картинката..
А те са много... Нещо от рода на last accessed ???. ....
То и exif-а вече не се наричаше така ами има още няколко по нови (и собственически) стандарта тип exif.
Активен

Perl - the only language that looks the same before and after encryption.

jet

  • Напреднали
  • *****
  • Публикации: 3472
  • Distribution: debian
  • Window Manager: kde
    • Профил
Re: xfce, slackware, право за четене на файл
« Отговор #3 -: Mar 05, 2021, 21:13 »
В повечето езици за писане като отваряш файл, казваш и как да бъде отворен - за четене, за писане и т.н.

Например fopen C и С++
r"   read: Open file for input operations. The file must exist.
"w"   write: Create an empty file for output operations. If a file with the same name already exists, its contents are discarded and the file is treated as a new empty file.
"a"   append: Open file for output at the end of a file. Output operations always write data at the end of the file, expanding it. Repositioning operations (fseek, fsetpos, rewind) are ignored. The file is created if it does not exist.
"r+"   read/update: Open a file for update (both for input and output). The file must exist.
"w+"   write/update: Create an empty file and open it for update (both for input and output). If a file with the same name already exists its contents are discarded and the file is treated as a new empty file.
"a+"   append/update: Open a file for update (both for input and output) with all output operations writing data at the end of the file.


fopen Php:
'r'   Open for reading only; place the file pointer at the beginning of the file.
'r+'   Open for reading and writing; place the file pointer at the beginning of the file.
'w'   Open for writing only; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.
'w+'   Open for reading and writing; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.
'a'   Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it. In this mode, fseek() has no effect, writes are always appended.
'a+'   Open for reading and writing; place the file pointer at the end of the file. If the file does not exist, attempt to create it. In this mode, fseek() only affects the reading position, writes are always appended.
'x'   Create and open for writing only; place the file pointer at the beginning of the file. If the file already exists, the fopen() call will fail by returning false and generating an error of level E_WARNING. If the file does not exist, attempt to create it. This is equivalent to specifying O_EXCL|O_CREAT flags for the underlying open(2) system call.
'x+'   Create and open for reading and writing; otherwise it has the same behavior as 'x'.
'c'   Open the file for writing only. If the file does not exist, it is created. If it exists, it is neither truncated (as opposed to 'w'), nor the call to this function fails (as is the case with 'x'). The file pointer is positioned on the beginning of the file. This may be useful if it's desired to get an advisory lock (see flock()) before attempting to modify the file, as using 'w' could truncate the file before the lock was obtained (if truncation is desired, ftruncate() can be used after the lock is requested).
'c+'   Open the file for reading and writing; otherwise it has the same behavior as 'c'.
'e'   Set close-on-exec flag on the opened file descriptor. Only available in PHP compiled on POSIX.1-2008 conform systems.
Активен

..⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁
  ⢿⡄⠘⠷⠚⠋
  ⠈⠳⣄⠀⠀⠀⠀  Debian, the universal operating system.

spec1a

  • Напреднали
  • *****
  • Публикации: 3837
    • Профил
Re: xfce, slackware, право за четене на файл
« Отговор #4 -: Mar 05, 2021, 21:21 »
xfce, slackware

Пиша програмка, която чете по един и същ начин два файла. Единият е текстов, а другият - изображение.

И двата файла са с права -rwxr--r-- и собственост root.root

Текстовият е в /usr/local/etc  . Нямам никакъв проблем с четенето му.
Картинката, независимо в коя директория се намира, получавам грешка при четене "Access Denied". В терминал нямам проблем с четенето и. Ако сменя собствеността с тази на потребителя или добавя право за писане, грешката изчезва.

След много експерименти отхвърлих грешка в програмата. Какво мога да направя, освен варианта с даване на права за запис върху файла?

   Да не би да има някакви специфични флагове ?
Виж какво ти дават командите:

getfacl file
lsattr file
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: xfce, slackware, право за четене на файл
« Отговор #5 -: Mar 06, 2021, 01:45 »
Оказа се, че четенето не е едно и също четене. Четенето в буфер иска права за запис, а четенето на стринг - не.

В единия случай ползвам BlockRead, а за текстовия файл - ReadLn

Ако се опитам да чета текстовия файл с BlockRead получавам същата грешка, каквато и за изображението.
« Последна редакция: Mar 06, 2021, 01:48 от laskov »
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

remotexx

  • Напреднали
  • *****
  • Публикации: 3194
    • Профил
Re: xfce, slackware, право за четене на файл
« Отговор #6 -: Mar 06, 2021, 10:29 »
Колега,  от нечетене е цялата работа.  При положение че още от време оно Борланд и в частност  обектния паскал  покрай  тях идват с най добрата  документация

Файла трябва да се отвори с Reset за четене като предварително му се смени подразбиращата стойност на filemode от 2/RW  на 0/RO

Reset
Open file for reading
...
Description
Reset opens a file F for reading. F can be any file type. If F is a text file, or refers to standard I/O (e.g : '') then it is opened read-only, otherwise it is opened using the mode specified in filemode.
...
FileMode
Default file mode for untyped files.

Declaration
Source position: systemh.inc line 696

const FileMode: Byte = 2;

Description
FileMode determines how untyped files are opened for reading with Reset. It can have the following values:

0.  open file readonly
1.  open file write only
2.  open file read/write
https://www.freepascal.org/docs-html/rtl/system/filemode.html

May the source be with you
https://m.youtube.com/watch?v=QE-fUAnIfw0&t=1m30s

П.П. и както казваше един бивш колега в подписа си /викам му бивш само щото не съм му виждал скоро подписа/ - нечетенето /5 мин./ на документация/та не спестява 2 часа некликане с мишката после  :P
« Последна редакция: Mar 06, 2021, 11:12 от remotexx »
Активен

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8769
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: xfce, slackware, право за четене на файл
« Отговор #7 -: Mar 06, 2021, 10:36 »
E, все пак Вальо не е програмист. Пише на FreePascal (може би защото го е учил), за да си решава належащи проблеми. Не искам да казвам нищо за работодателя му, защото преди няколко години ми се обиди, като казах нещо. Но в общи линии бюджет няма и Вальо трябва да владее магия и билкарство, за да работят нещата. Хич не му е лесно.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: xfce, slackware, право за четене на файл
« Отговор #8 -: Mar 06, 2021, 18:09 »
Колега,  от нечетене е цялата работа.
Тъкмо си мислех, че съм открил бъг! :) (за пореден път :)  )

Благодаря! Благодаря на всички прочели и писали, също!

... преди няколко години ми се обиди, като казах нещо. ...
Не си спомням. Извинявай, ако съм реагирал емоционално!
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8769
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: xfce, slackware, право за четене на файл
« Отговор #9 -: Mar 06, 2021, 18:31 »
А, не прав си си. Сигурно щях да направя абсолютно същото. Човек малко или много се отъждествява с работодателя си. Всеки ден хвърля половината от него в усилия да избута още малко напред. Най-много важи за такива като теб, които са отдадени. Ние нищо не знаем и нищо не разбираме. Ние сме обикновени зяпачи и дърдорковци.

Всъщност случая беше поучителен за мен. Да не си вра много гегата, дето не ми е работа.

Поздрави!
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

remotexx

  • Напреднали
  • *****
  • Публикации: 3194
    • Профил
Re: xfce, slackware, право за четене на файл
« Отговор #10 -: Mar 06, 2021, 19:49 »
E, все пак Вальо не е програмист. ...Не искам да казвам нищо за работодателя му, защото преди няколко години ми се обиди, като казах нещо.

А бе хора - обяснявайте като за компютърджий
Аз разбрах, че шефчето му се е обидил нещо  ???

https://vicove.com/vic-17592
Жена на програмист го праща до магазина и казва:
- Купи един салам. Ако има яйца вземи десет.
Програмистът се връща с десет салама от магазина. Жена му:
- Защо си купил десет салама!?
- Защо ли?!? Ами имаше яйца ...

П.П. Па и никой не иска да си пие биричката с 10 яйца  ;D
« Последна редакция: Mar 06, 2021, 19:52 от remotexx »
Активен

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8769
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: xfce, slackware, право за четене на файл
« Отговор #11 -: Mar 06, 2021, 23:16 »
Не, аз не познавам шефа на Вальо, дори не припарих до работното му място, макар да имах огромно желание да се запознаем (и.л.и. и двамата сме плешиви и много си приличаме на външен вид, не чак близнаци), ама наистина не ми се говори. Едвам го омилостивих след последния път, нищо, че не помни. От как съм тук, напусна Съпорта, напусна Къпътена, напусна Версия. Аз съм най-лошия модератор на света. Вместо да привличам хора, непрекъснато се обиждат и напускат, въпреки неистовото ми желание да ги задържа.
« Последна редакция: Mar 06, 2021, 23:20 от go_fire »
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: xfce, slackware, право за четене на файл
« Отговор #12 -: Mar 07, 2021, 21:57 »
... дори не припарих до работното му място,  ...
Е защо? На мен щеше да ми е интересно да пием по бира.  [_]3
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8769
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: xfce, slackware, право за четене на файл
« Отговор #13 -: Mar 08, 2021, 11:21 »
Ами то е свързано с историята, която не исках да разказвам.

Годината е 2018, лятото. Жена ми си беше заработила едни 300 лв. извънредни. Не ги е откраднала, честно си ги спечели. И ми каза: само два пъти сме си правили семейна почивка и никога не сме водили децата на море (ходили са многократно без нас). Вече порастват и съвсем скоро няма да искат да ходят с нас никъде (това май вече се случва). Аз също не съм ходила от осемдесет и девета. Измисли нещо. Трябва да имаме някакви спомени.

Съгласен бях. Веднъж ходихме в Гърция за три дни, но беше без тях, а и не ми се повтаря особено.

От няколко години мой приятел-състудент във Варна ме канеше на гости. Аз не ходех по финансови причини, но тогава реших да му се обадя. Той има къща за гости в някакво село, хан-Кубратово или нещо такова. Хубаво местенце не далеч от бившата Дружба по средата на пътя за Кранево. Оговорихме се и даже още едно семейство от компанията ни щяха да дойдат. На място щяхме да намерим и трето, но те бяха на Златните. Горе-долу се събрахме от Видин, през Благоевград та до Силистра. Бяха няколко незабравими дни.

Нашия приятел беше толкова доволен, че сме там, че и пари не ни взе на двете семейства. Така имахме повече да харчим за децата, а те желаеха да посетят места като Събуей, Макдоналдс, Кънтъки фрай чикан. Поне според Гългъл последното го имаше само на едно място във Варна, голям, разкошен Mall. Три пъти по-голям от единствения при нас и на около половина от „стадиона“ Ринг до Икеа. Но пък там имаше и от другите две вериги закусвални, та не обикаляхме много. Варна е огромен град. За тези няколко дни изхарчих бензин като за почти половин година във Видин.

Но още преди да идем си бях навил на пръста и си повтарях на ум през цялото време, че ще издиря Валентин, а трябваше да намеря начин да се видя и с Ангел. За съжаление постоянното присъствие точно тогава беше решил да не влиза много във форума и не можех да го издебна на линия. За Ласков просто щях да попитам някой служител на входа, все щях да намеря човек, който да го познава.

Имах огромното желание да го комбинирам с изживяване за децата. Бях ходил веднъж около дванадесет годишен и бях много впечатлен. H2O е хубаво момичешко сериалче, ама друго е да го видиш на живо, макар не в австралийски мащаб. Пък и по обективни причини децата ми не се заглеждаха много по H2O, като бяха мънички. Предпочитаха „Финиас и Фърб“, „Железния алхимик“, „Хлебарките“ и подобни. Това последното на мен ми беше направо гнусно все едно гледам кой знае защо кръстеното „Fear factor“. От друга страна, ако се заглеждах по русалките, това щеше да си е чиста проба педофилия. Затова — хлебарки.

Обаче усещах, че нещо не е наред. Още с пристигането си започнах да говоря за това на домакините ни. В семейството вече бях подготвил почвата и всичките ми домашни бяха съгласни и го очакваха. Обаче моя приятел и неговото семейство бърчеха вежди, кой знае защо и само пускаха недомлъвки — ами хубаво, ще видим, добре е. На третия, предпоследен ден, най-после успях да ги навия да ни заведат в Морската градина (аз дори не помнех, че се намира там). В моя град също има паркове (далеч по-малки) и аз много ги обичам, защото са най-близката ми връзка с природата в урбанистичния свят на порастналите.

Отзовахме се на някакъв километричен паркинг, най-големия, който съм виждал. Буквално беше нещо като три-четири километра целия. Разстоянието до тогавашната ми работа беше по-малко, а тя беше в центъра, а аз живея в краен квартал, бетонна пустош. После качихме някакви стълби. Аз бях доволен, но в компанията ни имахме пълнички, които мрънкаха. То и аз съм много дебел, но няма нищо по-ободряващо от една разходка.

Нарочно го разказвам дълго и цветно, за да внуша, с какво нетърпение очаквах събитието.

И стигнахме. Един площад пълен с млади и усмихнати хора. И тук вече разбрах защо през цялото време домакините ми (съпругата на приятеля ми е местна арменка) бяха толкова начумерени. Оказа се, че за да влезем цялото семейство, трябва да платим двеста лева. Няма детски билет.  Моите хора през цялото време са го знаели, но не са искали да угасяват пламъка ми. Варна е скъп за живеене град, но тази цена дори не е за българи. Ръководството си е казало, ще работим само за чуждите туристи, нашите да си гледат работата. Или пък, ами то това е за един път в живота, няма да повториш, затова, ако искаш.

Май очакваха стъписването ми и бяха подготвили план — предложиха да се разходим. За щастие наблизо имаше друга атракция — нещо свързано с Джурасик, беше двадесет лева, поносимо. Момчетата много се вдъхновиха. Но пак ударихме на камък. Имахме среща с другите ни приятели (онези на Златните) в някакъв лунапарк, който нямахме никаква идея, къде се намира (оказа се близо) и щяхме да се загубим сами във Варна. Затова не посетихме и динозаврите, а чинно последвахме водачите си към „Воден свят“ или нещо такова се казваше лунапарка.

После времето сякаш отлетя. Не можехме да се наприказваме и не разбрахме кога се е стъмнило, че и среднощ стана.

Почти цялата си останала почивка прекарвахме на плажа в Кранево. Там съм ходил няколко пъти на пионерски лагер и поради тази причина е предпочитано място за видинчани. Свикнали са с него от деца. Само дето село Кранево изобщо не беше село и нямаше точно нищо общо с детския ми спомен. Беше си се превърнало в стандартен, курортен комплекс. И беше фрашкано с руснаци. Сядам буквално в някакво заведение на улицата и ми дават меню на руски. Нямаше даже на английски.

Между другото нямам никаква идея защо руснаците харесват черноморието ни. То никак не им понася. Те всички са с бяла кожа и след половин ден у нас заприличват на раци. Много лесно се разпознават на улицата. Ако някой е дебел и прилича на луд фен на ЦСКА, обезателно този човек е руснак.

На следващата година отидохме за три дни на Ахтопол. Двете нощувки ни струваха по-малко от едно виждане на морската фауна. Всъщност за ядене дадохме повече пари. Цените там са много по-поносими от тези в Кранево и Варна. Единствения проблем  беше, че се намира диагонално точно на другия край на България, а когато минахме покрай Слънчев бряг, едвам успях да успокоя децата и да не останем там, което си беше невъзможно.

Та вече имаме спомени и от морето. Само децата да не ги беше срам от нас и да можехме да имаме и някакви снимки заедно. Последните ни снимки с тях са от преди да станат юноши.

п.п. Само да подчертая. Не обвинявам твоите шефове в нищо. Това е много скъпо удоволствие, а от теб знам, че вече не е държавно, съответно няма субсидия. За мен е очевидно, че дори с безумно скъп билет едвам връзвате бюджета, а туристическия сезон е едва четири месеца у нас. Ние не сме Гърция и Турция с дълъг сезон. Просто ми е кофти, че не успях да го покажа на децата си. Ама сега, човек се разпостира според чергата си.
« Последна редакция: Mar 08, 2021, 11:40 от go_fire »
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: xfce, slackware, право за четене на файл
« Отговор #14 -: Mar 08, 2021, 12:03 »
Офф ... , да. През лятото цените са високи. Има детски билет, но и той не е евтин. През зимата е евтино, но пък представление с 2-ма души в залата не е същото като усещане.  [_]3
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3