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!

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.


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. :)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.