Zmuszanie aplikacji do tworzenia plików z uprawnieniami 0755

0

Używam serwera gier (ut2004) w Centos 6. Tworzy dema, logi i inne rzeczy, które muszę przetworzyć później z innymi aplikacjami. Ale problem polega na tym, że wszystkie te pliki mają domyślnie uprawnienie 0600, a ja potrzebuję 0755.

Czy można to naprawić?

Dzięki!

Vladimir Glushkov
źródło

Odpowiedzi:

1

Możesz użyć umask dla tego:

$ umask 100
$ touch d
$ ls -l d
-rw-rw-rw-  1 hashier  staff  0 Aug  9 16:20 d
$ umask 022
$ touch f
$ ls -l f
-rw-r--r--  1 hashier  staff  0 Aug  9 16:20 f

Więc to, co chcesz, jest ustawione

umask 022

Jest resetowany w każdej nowej powłoce logowania, więc możesz ustawić ją w swoim .bashrc lub .zshrc lub cokolwiek używasz.

hashier
źródło
Dziękuję za odpowiedź! Sprawdziłem aktualną umask dla mojego użytkownika i już była 022. Nawet zmiana na 000 w bashrc nie dała żadnego efektu - pliki, które tworzę, mają odpowiednie uprawnienia, ale serwer gry (który zrestartowałem ofc) nadal tworzy pliki z 0600 uprawnienia. Wygląda na to, że proces nie dziedziczy umask ode mnie (root). Czy robię coś źle?
Vladimir Glushkov
Czy sprawdziłeś /etc/fstab. To tylko zgadywanie, ale może umask zostaje tam ustawiony i może to ma pierwszeństwo. Jeśli uciekasz mount możesz zobaczyć opcje, z którymi partycja jest zamontowana.
hashier
I czekaj ... Ty i root jesteście dwoma różnymi użytkownikami? Po pierwsze: nie uruchamiaj serwera gry jako root. Po drugie: nie używaj roota jako domyślnego użytkownika! NIGDY! Po trzecie: umask ustawiony jako użytkownik, a nie w /etc/fstab to coś na użytkownika. Możesz spróbować ustawić go w skrypcie startowym serwera gry, ale po raz kolejny NIE uruchamiaj serwera gry jako root.
hashier
0

Lub możesz spróbować innego sposobu

$touch file
$chmod 755 file

Czy kontrolujesz proces, który tworzy pliki? Następnie dodaj drugą linię poniżej. :)

Juto
źródło