Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Файлы, созданные программой  (Прочитано 746 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн legenda

  • Автор темы
  • Любитель
  • *
  • Сообщений: 77
  • Нестандартность мышления ключевой момент..
    • Просмотр профиля
    • Sib Arena Game Hosting
Файлы, созданные программой
« : 19 Мая 2015, 13:23:57 »
Доброго времени суток..

Есть вопрос:
Файлы, которые создает программа (сервер cs) запущенная юзверем, имеют права 644,а это означает, что в этот файл не дает записывать изменения.

Суть вопроса:
Как разграничить запуск программы от юзверя, с правами юзверя, да бы избежать дырок и багов.


Есть proftpd - заливаем файл через виртуального пользователя, а крон запускает уже сам hlds_run. И получается трабл с правами..

Велосипедист - бич экономики.  Велосипедисту не нужен бензин, страховка, больничный..

Оффлайн БТР

  • Заслуженный пользователь
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6293
    • Просмотр профиля
Re: Файлы, созданные программой
« Ответ #1 : 19 Мая 2015, 13:28:48 »
если у файла нет права на запись, то в него не сможет писать никто.

права формируются по принципу Владелец-Группа-Остальные.

Оффлайн legenda

  • Автор темы
  • Любитель
  • *
  • Сообщений: 77
  • Нестандартность мышления ключевой момент..
    • Просмотр профиля
    • Sib Arena Game Hosting
Re: Файлы, созданные программой
« Ответ #2 : 19 Мая 2015, 13:31:27 »
если у файла нет права на запись, то в него не сможет писать никто.

права формируются по принципу Владелец-Группа-Остальные.


Да в курсе как все делветмя и назначается..  Программа запускается при файлах 777

Пользователь решил продолжить мысль 19 Мая 2015, 13:33:17:
если у файла нет права на запись, то в него не сможет писать никто.

права формируются по принципу Владелец-Группа-Остальные.

И никто, а именно САМА программа должна вносить и читать файл..  Она же его создает и сама же не может прочитать..
« Последнее редактирование: 19 Мая 2015, 13:33:17 от legenda »
Велосипедист - бич экономики.  Велосипедисту не нужен бензин, страховка, больничный..

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Файлы, созданные программой
« Ответ #3 : 19 Мая 2015, 13:45:25 »
Если я правильно понял вопрос, то посмотрите в сторону umask.

Оффлайн legenda

  • Автор темы
  • Любитель
  • *
  • Сообщений: 77
  • Нестандартность мышления ключевой момент..
    • Просмотр профиля
    • Sib Arena Game Hosting
Re: Файлы, созданные программой
« Ответ #4 : 19 Мая 2015, 13:50:08 »
Если я правильно понял вопрос, то посмотрите в сторону umask.
вот это и я хотел бы узнать, где прописать umask...

Пользователь решил продолжить мысль 19 Мая 2015, 14:17:09:
Запуск программы (сервера counter strike 1.6) происходит в папках proftpd и с правами файлы там 777. После запуска программы один из плагинов создает файл, в котором должен прописывать нечто.. А файл создается под umask 644 и другого юзверя.. хотя пишет что тот же юзверь..
Так вопрос стоит в том, чтго бы запуск был от юзверя, файлы юзверя и что бы программа могла в них вносить свои изменения..У меня пока что это не получатся..
« Последнее редактирование: 19 Мая 2015, 14:17:09 от legenda »
Велосипедист - бич экономики.  Велосипедисту не нужен бензин, страховка, больничный..

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Файлы, созданные программой
« Ответ #5 : 19 Мая 2015, 14:24:33 »
Например, вот так:
vk@vlad:~$ umask
0022
vk@vlad:~$ touch aaa
vk@vlad:~$ ls -al aaa
-rw-r--r-- 1 vlad DU 0 мая   19 14:22 aaa
vk@vlad:~$ umask 0007
vk@vlad:~$ touch bbb
vk@vlad:~$ ls -al bbb
-rw-rw---- 1 vlad DU 0 мая   19 14:23 bbb

Оффлайн legenda

  • Автор темы
  • Любитель
  • *
  • Сообщений: 77
  • Нестандартность мышления ключевой момент..
    • Просмотр профиля
    • Sib Arena Game Hosting
Re: Файлы, созданные программой
« Ответ #6 : 19 Мая 2015, 14:43:25 »
Блиииин.. ТЫ сам то понял что напечатал? Это я могу сделать и через chmod только смысл???


РЕБЯТА!!!! Прошу прочитать внимательно ещё раз и понять, что программа создает файл, не я.. не вася пупки!!! и создает с правами 644.. И в этот файл она долдна залить информацию!!! НО!!!! она не может этого сделать.. когда сам прописываешь ей права, то бишь umask то она работает до первой перезагрузки карты.. а нужно что бы она сама создала, сама пользовалась, и что бы ни кто не мог залезть в этотй файл..(последнее не обязательно)
Велосипедист - бич экономики.  Велосипедисту не нужен бензин, страховка, больничный..

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Файлы, созданные программой
« Ответ #7 : 19 Мая 2015, 14:47:03 »
Ну а чуть подумать и задать umask для программы?

( umask 0007; programma )
(или с любым другим требуемым umask)

Оффлайн legenda

  • Автор темы
  • Любитель
  • *
  • Сообщений: 77
  • Нестандартность мышления ключевой момент..
    • Просмотр профиля
    • Sib Arena Game Hosting
Re: Файлы, созданные программой
« Ответ #8 : 19 Мая 2015, 15:13:38 »
Заманчивый способ.. попробую применить его...

Пользователь решил продолжить мысль 19 Мая 2015, 15:36:50:
Ну а чуть подумать и задать umask для программы?

( umask 0007; programma )
(или с любым другим требуемым umask)

У меня получается такой запуск:
#!/bin/bash
screen -dmS xxxxx ./hlds_run -game cstrike +maxpalyer 32 +map de_dust2
Запуск происходит из файла:  start.sh
« Последнее редактирование: 19 Мая 2015, 15:36:50 от legenda »
Велосипедист - бич экономики.  Велосипедисту не нужен бензин, страховка, больничный..

Оффлайн БТР

  • Заслуженный пользователь
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6293
    • Просмотр профиля
Re: Файлы, созданные программой
« Ответ #9 : 19 Мая 2015, 15:48:50 »
legenda, если бы ты больше читал, чем писал, то знал бы, что программа работает не "сама по себе", а от имени и с правами пользователя, который её запускает.

все процессы имеют владельца. Запускаешь скрипт - он сможет писать туда, куда можешь писать ты.

команду umask можно вставить в скрипт запуска сервера.

Оффлайн legenda

  • Автор темы
  • Любитель
  • *
  • Сообщений: 77
  • Нестандартность мышления ключевой момент..
    • Просмотр профиля
    • Sib Arena Game Hosting
Re: Файлы, созданные программой
« Ответ #10 : 19 Мая 2015, 16:51:53 »
legenda, если бы ты больше читал, чем писал, то знал бы, что программа работает не "сама по себе", а от имени и с правами пользователя, который её запускает.

все процессы имеют владельца. Запускаешь скрипт - он сможет писать туда, куда можешь писать ты.

команду umask можно вставить в скрипт запуска сервера.

Товарищ.. а что дерзим то? Я спросил помощи, если ты знаешь - то пиши по существу а не флуди.. не зарабатывай флудильными сообщениями себе репутацию.. Я попробывал поставить umask 000 в конфигурацию запуска и запуск не произошел.. Я поставил его:
#!/bin/bash
screen -dmS xxxxx umask 000 ./hlds_run -game cstrike +maxpalyer 32 +map de_dust2
если поставил не правльно, то подскажи куда поставить... а не начинай тут колкости всякие писать..

Пользователь решил продолжить мысль 20 Мая 2015, 05:35:47:
Нашел много информации, пытаюсь её освоить. Проблема заклюяается в написании кода.. Есть операнды и есть команды. По подробнее бы найти информацию о наборах команд. В общем у меня получилось так:

(Нажмите, чтобы показать/скрыть)

В общем это то, к чему я пришел. А вот дальше прошу объяснить, к чему я пришел. Это я делал уже методом тыка.. Плохо конечно, когда не знаешь элементы кода. Но я восполняю эти пробелы.. Правда не с большой скоростью.
« Последнее редактирование: 20 Мая 2015, 05:35:48 от legenda »
Велосипедист - бич экономики.  Велосипедисту не нужен бензин, страховка, больничный..

Оффлайн legenda

  • Автор темы
  • Любитель
  • *
  • Сообщений: 77
  • Нестандартность мышления ключевой момент..
    • Просмотр профиля
    • Sib Arena Game Hosting
Re: Файлы, созданные программой
« Ответ #11 : 22 Мая 2015, 16:32:28 »
Переделал другой скрипт.. получилось более читабельно
#!/bin/bash
PIDS=`pidof hlds_run`
for p in $PIDS; do
          chrt -f -p 98 $p
done
Велосипедист - бич экономики.  Велосипедисту не нужен бензин, страховка, больничный..

 

Страница сгенерирована за 0.019 секунд. Запросов: 22.