Автор Тема: Видимост на процеси & passwd  (Прочетена 5100 пъти)

ivo1204

  • Напреднали
  • *****
  • Публикации: 987
    • Профил
Видимост на процеси & passwd
« Отговор #15 -: Mar 07, 2008, 00:06 »
Не е лошо като идея , но и с  едно с едно просто разглеждане да директорията /proc  си е достатъчно , за да се разбере какво е стартирано:
/proc/2061/task/2061/exe->/usr/sbin/hald
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Видимост на процеси & passwd
« Отговор #16 -: Mar 07, 2008, 00:13 »
Като идея е пълна олигофрения, хич не бях сериозен '<img'>

Как и да е, беше си тролщина  '<img'>
Активен

"Knowledge is power" - France is Bacon

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Видимост на процеси & passwd
« Отговор #17 -: Mar 07, 2008, 00:54 »
//леко офф

tarator, ами системен администратор съм и да ти кажа, живот си живея, защото до моите системи достъп имам само аз. Потребителитe, на които им трябва ssh съм ги chroot-нал в техни си папки, където съм им дал само това, което аз искам, а потребителите нямат думата. Локални потребители нямам и дърпам по една молитва всеки ден никога повече да не ми се налага да се занимавам с такива. Да се занимавам само със щенията на машините е къде къде по-приятно от безбройните глупости на потребителите. Та... при невероятните експерименти на потребителите се пръкват и невероятни предложения за защита. Да, съгласен съм, че дадените предложения са комични, но как да решиш тотално даден проблем, който се явява заради човешки действия, като самите системи за измислени от хора? На всяко действие може да се измисли противодействие. Затова и дадените предложения не могат да се приемат за чиста монета. Човек трябва сам да си изгради защита, според потребителите си и тя да е изградена не на принципа "тотално решение", защото такова няма щом става дума за потребители, а на принципа "колко знаят моите потребители и как на мен ще ми е най-лесно за управление" '<img'>
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

tarator

  • Напреднали
  • *****
  • Публикации: 849
    • Профил
Видимост на процеси & passwd
« Отговор #18 -: Mar 07, 2008, 03:11 »
neter, не, на всяко действие _не може_ да се намери противодействие. В случая решението е да се пачне ядрото. Нищо друго не помага.
Активен

A gentleman is one who is never rude unintentionally. - Noel Coward

ivo1204

  • Напреднали
  • *****
  • Публикации: 987
    • Профил
Видимост на процеси & passwd
« Отговор #19 -: Mar 07, 2008, 03:54 »
Цитат
В случая решението е да се пачне ядрото. Нищо друго не помага.

Какво да му се пачва на ядрото ? На ядрото въобще не му трябва "/proc" директорията , нито proc-fs. Това се е само да даде информация на потребителските програми  . Ако не искаш , има си опция :
File systems -> Pseudo filesystems ->/proc file system support (PROC_FS)
P.P
Отделно много неща могат да /или не се виждат там , с отделни опции . И едва ли това е някаква дупка на сигурността , това е една виртуална  директория , която си е под контрола на ядрото , нищо не може да я повреди . То няма и какво , тя е виртуална.
Вчера ми се наложи да направя  chroot в компилирана с buildroot среда , да видя дали работи ( крос - компилирана , на х86_64 за х86 ) . Оказа се , командите на busybox ги има , ама не работят .Очаквах да са връзки към busybox. Да ама бяха линкове към /proc/.../ , и проработиха чак като монтирах /proc. Явно "/proc" има и друго предназначение , освен юзерите да гледат какво прави "root".

Макар че действително положението е малко комично ?!



Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Видимост на процеси & passwd
« Отговор #20 -: Mar 07, 2008, 09:53 »
Горе-долу такъв patch:

Цитат

--- base.c      2006-01-03 05:21:10.000000000 +0200
+++ base_patched.c      2008-03-07 09:46:15.000000000 +0200
@@ -180,15 +180,15 @@
 #define E(type,name,mode) {(type),sizeof(name)-1,(name),(mode)}

 static struct pid_entry tgid_base_stuff[] = {
-       E(PROC_TGID_TASK,      "task",    S_IFDIR|S_IRUGO|S_IXUGO),
+       E(PROC_TGID_TASK,      "task",    S_IFDIR|S_IRUSR|S_IXUSR),
        E(PROC_TGID_FD,        "fd",      S_IFDIR|S_IRUSR|S_IXUSR),
        E(PROC_TGID_ENVIRON,   "environ", S_IFREG|S_IRUSR),
        E(PROC_TGID_AUXV,      "auxv",    S_IFREG|S_IRUSR),
-       E(PROC_TGID_STATUS,    "status",  S_IFREG|S_IRUGO),
-       E(PROC_TGID_CMDLINE,   "cmdline", S_IFREG|S_IRUGO),
-       E(PROC_TGID_STAT,      "stat",    S_IFREG|S_IRUGO),
-       E(PROC_TGID_STATM,     "statm",   S_IFREG|S_IRUGO),
-       E(PROC_TGID_MAPS,      "maps",    S_IFREG|S_IRUGO),
+       E(PROC_TGID_STATUS,    "status",  S_IFREG|S_IRUSR),
+       E(PROC_TGID_CMDLINE,   "cmdline", S_IFREG|S_IRUSR),
+       E(PROC_TGID_STAT,      "stat",    S_IFREG|S_IRUSR),
+       E(PROC_TGID_STATM,     "statm",   S_IFREG|S_IRUSR),
+       E(PROC_TGID_MAPS,      "maps",    S_IFREG|S_IRUSR),
 #ifdef CONFIG_NUMA
        E(PROC_TGID_NUMA_MAPS, "numa_maps", S_IFREG|S_IRUGO),
 #endif
@@ -196,10 +196,10 @@
 #ifdef CONFIG_SECCOMP
        E(PROC_TGID_SECCOMP,   "seccomp", S_IFREG|S_IRUSR|S_IWUSR),
 #endif
-       E(PROC_TGID_CWD,       "cwd",     S_IFLNK|S_IRWXUGO),
-       E(PROC_TGID_ROOT,      "root",    S_IFLNK|S_IRWXUGO),
-       E(PROC_TGID_EXE,       "exe",     S_IFLNK|S_IRWXUGO),
-       E(PROC_TGID_MOUNTS,    "mounts",  S_IFREG|S_IRUGO),
+       E(PROC_TGID_CWD,       "cwd",     S_IFLNK|S_IRUSR),
+       E(PROC_TGID_ROOT,      "root",    S_IFLNK|S_IRUSR),
+       E(PROC_TGID_EXE,       "exe",     S_IFLNK|S_IRUSR),
+       E(PROC_TGID_MOUNTS,    "mounts",  S_IFREG|S_IRUSR),
 #ifdef CONFIG_MMU
        E(PROC_TGID_SMAPS,     "smaps",   S_IFREG|S_IRUGO),
 #endif
@@ -207,18 +207,18 @@
        E(PROC_TGID_ATTR,      "attr",    S_IFDIR|S_IRUGO|S_IXUGO),
 #endif
 #ifdef CONFIG_KALLSYMS
-       E(PROC_TGID_WCHAN,     "wchan",   S_IFREG|S_IRUGO),
+       E(PROC_TGID_WCHAN,     "wchan",   S_IFREG|S_IRUSR),
 #endif
 #ifdef CONFIG_SCHEDSTATS
-       E(PROC_TGID_SCHEDSTAT, "schedstat", S_IFREG|S_IRUGO),
+       E(PROC_TGID_SCHEDSTAT, "schedstat", S_IFREG|S_IRUSR),
 #endif
 #ifdef CONFIG_CPUSETS
        E(PROC_TGID_CPUSET,    "cpuset",  S_IFREG|S_IRUGO),
 #endif
-       E(PROC_TGID_OOM_SCORE, "oom_score",S_IFREG|S_IRUGO),
-       E(PROC_TGID_OOM_ADJUST,"oom_adj", S_IFREG|S_IRUGO|S_IWUSR),
+       E(PROC_TGID_OOM_SCORE, "oom_score",S_IFREG|S_IRUSR),
+       E(PROC_TGID_OOM_ADJUST,"oom_adj", S_IFREG|S_IRUSR|S_IWUSR),
 #ifdef CONFIG_AUDITSYSCALL
-       E(PROC_TGID_LOGINUID, "loginuid", S_IFREG|S_IWUSR|S_IRUGO),
+       E(PROC_TGID_LOGINUID, "loginuid", S_IFREG|S_IWUSR|S_IRUSR),
 #endif
        {0,0,NULL,0}
 };
@@ -226,11 +226,11 @@
        E(PROC_TID_FD,         "fd",      S_IFDIR|S_IRUSR|S_IXUSR),
        E(PROC_TID_ENVIRON,    "environ", S_IFREG|S_IRUSR),
        E(PROC_TID_AUXV,       "auxv",    S_IFREG|S_IRUSR),
-       E(PROC_TID_STATUS,     "status",  S_IFREG|S_IRUGO),
-       E(PROC_TID_CMDLINE,    "cmdline", S_IFREG|S_IRUGO),
-       E(PROC_TID_STAT,       "stat",    S_IFREG|S_IRUGO),
-       E(PROC_TID_STATM,      "statm",   S_IFREG|S_IRUGO),
-       E(PROC_TID_MAPS,       "maps",    S_IFREG|S_IRUGO),
+       E(PROC_TID_STATUS,     "status",  S_IFREG|S_IRUSR),
+       E(PROC_TID_CMDLINE,    "cmdline", S_IFREG|S_IRUSR),
+       E(PROC_TID_STAT,       "stat",    S_IFREG|S_IRUSR),
+       E(PROC_TID_STATM,      "statm",   S_IFREG|S_IRUSR),
+       E(PROC_TID_MAPS,       "maps",    S_IFREG|S_IRUSR),
 #ifdef CONFIG_NUMA
        E(PROC_TID_NUMA_MAPS,  "numa_maps",    S_IFREG|S_IRUGO),
 #endif
@@ -238,27 +238,27 @@
 #ifdef CONFIG_SECCOMP
        E(PROC_TID_SECCOMP,    "seccomp", S_IFREG|S_IRUSR|S_IWUSR),
 #endif
-       E(PROC_TID_CWD,        "cwd",     S_IFLNK|S_IRWXUGO),
-       E(PROC_TID_ROOT,       "root",    S_IFLNK|S_IRWXUGO),
-       E(PROC_TID_EXE,        "exe",     S_IFLNK|S_IRWXUGO),
-       E(PROC_TID_MOUNTS,     "mounts",  S_IFREG|S_IRUGO),
+       E(PROC_TID_CWD,        "cwd",     S_IFLNK|S_IRWXUSR),
+       E(PROC_TID_ROOT,       "root",    S_IFLNK|S_IRWXUSR),
+       E(PROC_TID_EXE,        "exe",     S_IFLNK|S_IRWXUSR),
+       E(PROC_TID_MOUNTS,     "mounts",  S_IFREG|S_IRUSR),
 #ifdef CONFIG_MMU
-       E(PROC_TID_SMAPS,      "smaps",   S_IFREG|S_IRUGO),
+       E(PROC_TID_SMAPS,      "smaps",   S_IFREG|S_IRUSR),
 #endif
 #ifdef CONFIG_SECURITY
-       E(PROC_TID_ATTR,       "attr",    S_IFDIR|S_IRUGO|S_IXUGO),
+       E(PROC_TID_ATTR,       "attr",    S_IFDIR|S_IRUSR|S_IXUSR),
 #endif
 #ifdef CONFIG_KALLSYMS
-       E(PROC_TID_WCHAN,      "wchan",   S_IFREG|S_IRUGO),
+       E(PROC_TID_WCHAN,      "wchan",   S_IFREG|S_IRUSR),
 #endif
 #ifdef CONFIG_SCHEDSTATS
-       E(PROC_TID_SCHEDSTAT, "schedstat",S_IFREG|S_IRUGO),
+       E(PROC_TID_SCHEDSTAT, "schedstat",S_IFREG|S_IRUSR),
 #endif
 #ifdef CONFIG_CPUSETS
        E(PROC_TID_CPUSET,     "cpuset",  S_IFREG|S_IRUGO),
 #endif
-       E(PROC_TID_OOM_SCORE,  "oom_score",S_IFREG|S_IRUGO),
-       E(PROC_TID_OOM_ADJUST, "oom_adj", S_IFREG|S_IRUGO|S_IWUSR),
+       E(PROC_TID_OOM_SCORE,  "oom_score",S_IFREG|S_IRUSR),
+       E(PROC_TID_OOM_ADJUST, "oom_adj", S_IFREG|S_IRUSR|S_IWUSR),
 #ifdef CONFIG_AUDITSYSCALL
        E(PROC_TID_LOGINUID, "loginuid", S_IFREG|S_IWUSR|S_IRUGO),
 #endif


Става въпрос за /path_to_linux_src/fs/proc/base.c

Това нещо от сорта и според мен е най-доброто решение на проблема '<img'>
Активен

"Knowledge is power" - France is Bacon

Akasha

  • Участници
  • ***
  • Публикации: 11
    • Профил
    • WWW
Видимост на процеси & passwd
« Отговор #21 -: Mar 07, 2008, 10:35 »
Такамз .. '<img'> пичове хубави са постовете но ... може и аз да не съм се пояснил незнам ... мисълта ми беше че ps е само за пример а иначе htop top ps mc ls /proc etc ... целта е обикновенния потребител дори да не си помисля да вижда роотски или на другите усери процесите .. просто да няма достъп до /proc и в същото време процесите му да вървят  '<img'>  а относно дали съм сигурен че паролата е такава 1000000% ....  сетнах парола през роот 123456 и когато искам да я сменя на потребителя през него самия ме пита за олд пасс и колкото и пъти да го мъча нестава ...  това става през su - а иначе потребителя си влиза през SSH със 123456 без проблеми .. незнам можеби някъде има опция когато роот смени паролата потребителя да неможе да си я сменя или нещо подобно .. не съм наясно .. затова питам вас '<img'>
P.S. Ако може по първият проблем отговори без "Прекомпилиране на ядро" смисъл .. не искам да омажа ядрото '<img'>
Активен

Don'T U DaRe Tell Me To Stop !!!

triplek

  • Напреднали
  • *****
  • Публикации: 564
    • Профил
Видимост на процеси & passwd
« Отговор #22 -: Mar 07, 2008, 10:52 »
Паролата за ssh login може да е различна от root паролата. '<img'>
Активен

Debian Lenny/sid

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Видимост на процеси & passwd
« Отговор #23 -: Mar 07, 2008, 11:12 »
Е ти защо реши, че като не може да чете в proc няма да "му вървят" процесите?
Активен

"Knowledge is power" - France is Bacon

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
РНР и passwd
Настройки на софтуер
lyub0 9 3731 Последна публикация Jul 20, 2005, 12:40
от
Root passwd и графичен режим
Настройка на програми
tarball 4 2417 Последна публикация Nov 14, 2006, 22:52
от TheNightRider
Passwd
Настройка на програми
tony1975 9 3108 Последна публикация Mar 21, 2007, 21:26
от neter
Passwd help
Настройка на програми
Akasha 3 2879 Последна публикация Feb 18, 2008, 14:08
от gat3way
Как да защитя /etc/passwd , /etc/shadow
Настройка на програми
blackpearl 17 5278 Последна публикация Feb 06, 2013, 01:21
от blackpearl