Проблема: все файлы, созданные программами (например, gem, apache + mod_rails или tar) от имени пользователей root или user создаются с правами "--------w-". umask у каждого из пользователей выдает 0644, что меня вполне устраивает.
Соответственно, в связи с этой проблемой множество глюков.
OS: Suse Entherpirse Linux 10
Подскажите, пожалуйста, куда копать?
Решено: настройка прав, у созданных программами файлов (почему-то по-умолчанию запрещено всё)
Модераторы: SLEDopit, Модераторы разделов
-
petrushka_sch2
- Сообщения: 252
- ОС: Mandriva 2007.1
-
nesk
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Решено: настройка прав, у созданных программами файлов
petrushka_sch2 писал(а): ↑22.10.2009 19:05umask у каждого из пользователей выдает 0644, что меня вполне устраивает.
umask каких прав у файла при создании быть не должно.
Например есть установить маску 777, то все файлы будут создаваться с правами 000
То есть если сделать маску 022, то файлы будет создаваться с правами 644, а каталоги с правами 755
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
Спасибо сказали:
-
petrushka_sch2
- Сообщения: 252
- ОС: Mandriva 2007.1
Re: Решено: настройка прав, у созданных программами файлов
Верно, работает. Спасибо. А есть ли файл конфигурации, отвечающий за это?
-
SLEDopit
- Модератор
- Сообщения: 4824
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: Решено: настройка прав, у созданных программами файлов
если программа запускается от обычного пользователя (например архиватор), то ~/.bashrcpetrushka_sch2 писал(а): ↑22.10.2009 19:17Верно, работает. Спасибо. А есть ли файл конфигурации, отвечающий за это?
если от системного (например apache), то это прописывается в конфигурационных файлах (в данном примере в сусе /etc/sysconfig/httpd , если память мне не изменяет)
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
-
petrushka_sch2
- Сообщения: 252
- ОС: Mandriva 2007.1
-
petrushka_sch2
- Сообщения: 252
- ОС: Mandriva 2007.1
Re: Решено: настройка прав, у созданных программами файлов
Кака-то мистика. Для рута прописал в /etc/bash.bashrc. Для него umask теперь в вечном 0022. А вот для пользователя нечто странное.
При входе в систему:
Подскажите, где ещё может быть прописано изменение umask?!
Код: Выделить всё
user@server:~> cat ~/.bashrc
umask 022
echo `umask`При входе в систему:
Last login: Sat Oct 24 16:52:22 2009 from myhost
0022
user@server:~> date && umask
Sat Oct 24 16:55:27 MSD 2009
0664
Подскажите, где ещё может быть прописано изменение umask?!
-
Frank
- Сообщения: 1059
- ОС: Ubuntu, Debian
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Решено: настройка прав, у созданных программами файлов
petrushka_sch2 писал(а): ↑24.10.2009 16:53Подскажите, где ещё может быть прописано изменение umask?!
а с чего вы взяли, что при входе выполняется ~/.bashrc ?
сначала /etc/profile, потом ~/.bash_profile. для подробностей читайте man bash
-
petrushka_sch2
- Сообщения: 252
- ОС: Mandriva 2007.1
Re: Решено: настройка прав, у созданных программами файлов
Есть только bashrc
Везде прописано 022:
В итоге оказалось, что загвоздка была в файле ~/.profile . Неверный umask стоял там.
Код: Выделить всё
$ls ~/.bash*
/home/petruninmm/.bash_history /home/petruninmm/.bashrcВезде прописано 022:
Код: Выделить всё
$grep "umask" /etc/*
/etc/bash.bashrc:umask 022
/etc/csh.login:umask 022
/etc/ksh.kshrc:umask 022
/etc/profile:umask 022В итоге оказалось, что загвоздка была в файле ~/.profile . Неверный umask стоял там.
