בעיות עם SHELL_EXEC

thezal

New member
בעיות עם SHELL_EXEC

שלום..... אני בונה אתר כלשהוא הבנוי על APACHE+LINUX אני מנסה לדוגמא להריץ את הפקודה הבאה AS IS shell_exec("sudo -u ".$myuser." useradd -g example -s /bin/false -p ".$password ." ".$username); אני מנסה להכניס יוזר מסויים למערכת . SUDO מכוון כך שלא הצטרך להקליד סיסמא . והסיסמא היא כבר מוצפנת משום מה נראה כאילו הפקודה אינה יוצאת לפועל.. למרות שאין הערות בדרך יש למישהו/י רעיונות או דרכים אחרות לפיצוע הפעולה?(הכנסת יוזר למערכת LINUX) תודה מראש יריב
 

אמיר ט

New member
SUDO

אולי אני עושה משהו לא בסדר, אבל בשני השרתים שלי אין כזאת פקודה בשם SUDO אתה יכול להריץ את הפקודה באופן דומה ע"י הקוד הבא
exec("su $myuser -c ´useradd -g example -s /bin/false -p $password $username´");​
אמיר.
 

תמר,

New member
אולי

אולי nobody לא מורשה להריץ sudo ואם הוא מורשה - זה חור גדול מאוד באבטחה
 

thezal

New member
לגבי SUDO

גם לי לא היה צריך להתקין RPM בהתאם יריב
 

thezal

New member
בעקרון הבעיה נפתרה....

שלום ! הגדרתי בSUDOERS שני משתמשים : האחד APACHE והשני יוזר רגיל. הטעות שלי הייתה שבשורתה ה SHELL_EXEC ניסיתי להריץ את הפקודה דרך יוזר השני ולא דרך יוזר APACHE ,לכן זה לא רץ. הורדתי את ה -U והרצתי את SUDO כ APACHE וזה הסתדר. אינ מודע שיש בור באבטחה אך אני אפתור את זה אח"כ , כמו כן יש מאד להזהר בפקודה שהרצתי. לדוגמא : sudo useradd -g hosting -s /bin/false -p blabla $username/ נניח username היה : tishma ; rm /-Rf . לא צריך היה לפרט מה היה יכול לקרות :( זאת תודות לbsdfireball שהאיר את תשומת לבי! תודה לך תמר ואמיר יריב
 

lizard

New member
אני חושב שתוכל לחשוב על מנגנון

טיפה יותר טוב להכנסת משתמשים ללינוקס. חוץ מזה, למה אתה צריך להכניס את המשתמש ? לאיזה סוג ACCOUNT ? מיכה
 

thezal

New member
נכון המנגנון לא הכי בטוח אבל...

בינתיים אני אשתמש כפי שציינתי , יש גם הגנה של JS שהלקוח לא יוכל להכניס תוים לא חוקיים ו/או רווחים (אשר יכולים לגרום נזק למערכת) אולי אח"כ אני אשנה את כל המנגנון לחצי אוטומטי (יגיע אלי בקשה כל שהיא דרך דוא"ל) ואז זה יהיה בטוח יותר. סוג של היוזרים יהיו מוגבלים במקום , בא נגיד שאני עושה סוג של FTP חינמי יריב
 

lizard

New member
אם אתה שולט בשרת ואתה רוצה רק

חשבונות FTP אז תחפש תוכנת FTP או PLUGIN לFTP שמאפשר עבודה מול בסיס נתונים. או לחילופין, נדצה לי שWU-FTP מאפשר לבנות קובץ משתמשים נפרד מהPASSWD של הלינוקס. כנ"ל אגב לנושא הדואל. אפשרות נוספת היא להתקין WU-FTP עם תמיכת KERBEROS או RADIUS (לא בטוח לגבי הRADIUS) ולהכניס משתמשים אליו. KERBEROS זאת מערכת AUTHENTICATION. אפשרות רביעית היא לקבל את המשתמשים ללינוקס עצמו דרך בסיס נתונים כגון DB FILE או אפילו MYSQL. חוץ מזה, בטוח מישהו כבר עשה משהו בסגנון, תחפש בטח יש תוכניות מוכנות שבהן חשבו על זה כבר. בהצלחה ואשמח לשמוע איך זה הסתדר. מיכה
 
למעלה