Skocz do zawartości
Zaloguj się, aby obserwować  
SanKen

procesy w htop PILNE!

Polecane posty

Witam mam pytanie potrzebuje wyłączyć podgląd procesów przez innego użytkownika. np. że zaloguje się na user i jak są inne procesy z apache,mysql.To ich nie widać,a jak uruchomię coś z konta user to automatycznie sie pokazuje tylko to co działa na tym użytkowniku.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kopaczka

O ile się nie myle to zależy od kernela.

Ale mogę się mylić. ;)

 

To nie wina htopa tylko konfiguracji serwera.

Htop pokazuje tylko wynik polecenia ps z jakimiś dodatkowymi atrybutami. Chyba ps aux czyli wszystkie procesy.

 

Pozdrawiam

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Potrzebujesz chyba Kernela z Łatą Grsecurity. Albo zablokuj użytkownikom włączanie htop'a ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No właśnie potrzebne im to jest tylko by zabić 1 program.

No chyba że napisze mi ktoś skrypt w bash by

zabijał i wznawiał polecenie screen o nazwie B3

ścieżki sobie zmienię

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

W źródłach w kernelu w pliku fs/proc/base.c w okolicach linii 2769 masz:

 

 

static struct dentry *proc_pid_instantiate(struct inode *dir,
                          				struct dentry * dentry,
                          				struct task_struct *task, const void *ptr)
{
       struct dentry *error = ERR_PTR(-ENOENT);
       struct inode *inode;

       inode = proc_pid_make_inode(dir->i_sb, task);
       if (!inode)
               goto out;

       inode->i_mode = S_IFDIR|S_IRUGO|S_IXUGO;
       inode->i_op = &proc_tgid_base_inode_operations;
       inode->i_fop = &proc_tgid_base_operations;
       inode->i_flags|=S_IMMUTABLE;

       inode->i_nlink = 2 + pid_entry_count_dirs(tgid_base_stuff,
               ARRAY_SIZE(tgid_base_stuff));

       dentry->d_op = &pid_dentry_operations;

       d_add(dentry, inode);
       /* Close the race of the process dying before we return the dentry */
       if (pid_revalidate(dentry, NULL))
               error = NULL;
out:
       return error;
}

 

Zamień linię:

 

inode->i_mode = S_IFDIR|S_IRUGO|S_IXUGO;

 

na linię:

 

inode->i_mode = S_IFDIR|S_IRUSR|S_IXUSR;

 

Przekompiluj i zainstaluj poprawiony kernel.

Wtedy użytkownicy będą mogli oglądąć tylko swoje procesy.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wracając do tematu. Ten kernel to jest już w ubuntu czy muszę go zainstalować ? Bo nie mogę wyszukać tego pliku?(base.c)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×