ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : درخواست آموزش Auto fix for file permissions and ownership



محمد 2013
July 25th, 2013, 19:35
سلام دوستان خوبید شما

من یه سوالی برام پیش اومده تو نت گشتم ولی چیزی خوبی پیدا نکردم

قصد تبلیغ ندارم برای بیشتر متوجه شدن شما اسم میبرم هاستنیگ های هستن مثله آبتین وب و کیمیا هاست از این قابلیت استفاده میکنند که مثلا یه هاست برای مشتری ساختن.
مشتری فایل ها رو فضای خودش میریزه به صورت دیفالت پرم فایل 600 یا 444 و پرم پوشه ها 755 هست میخواستم ببینم تو سی پنل این قابلیت به صورت دیفالت هست؟یا باید جای رو تیک زد یا فعال کرد یا نه افزونه ای اینکارو انجام میده

حتی اینکار میدونید باعث میشه امنیت کمی بالاتر بره در برابر سیم لینک

محمد 2013
July 25th, 2013, 20:00
یه سایت درباره این موضوع حرف زده ولی این نمیدونم میشه اعتماد کرد یا نه بعد این به صورت دستی اعمال میشه نه خودکار

Auto fix for file permissions and ownership | Boom Shadow (.net) (http://boomshadow.net/tech/fixes/fixperms-script/)

Woshka
July 25th, 2013, 21:27
منظورت اینه که این فایل ها پس از آپلود این پرمیشن را می گیرند؟

nginxweb
July 25th, 2013, 21:51
دوست گرامی هاستینگ ها برای امنیت بیشتر از این قابلیت استفاده میکنند و باید یک bash file مینوکس نوشته بشه و سپس بصورت cronjob در سرور تعریف گردد که پس از اجرا premission ها را ست کند و خودکار اینکار انجام خواهد شد

محمد 2013
July 25th, 2013, 22:25
یعنی با این فایل میشه همچین کاریو انجام داد بعد مشکلی برای بقیه فایلی کنترل پنل مشکلی پیش نمیاد
آخه این سایت های نام بردم دفعه اول این کارو انجام میدن بعد اگر کاربر دستی پرمیشن رو عوض کنه همون مقدار باقی میمونه اینجور که شما گفتیدید یعنی به مدتی معلومی دوباره چک میکنه


#! /bin/bash
#
# Date: Jan 26th 2012
# Author: Colin R.
# Revisions: Jacob "Boom Shadow" Tirey (boomshadow.net)
# Fixperms script for ServInt
#
# Fixperms script for cPanel servers running suPHP or FastCGI.
# Written for ServInt.net
# Copyright (C) 2012 Colin R.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. http://www.gnu.org/licenses/


# Set verbose to null
verbose=""


#Print the help text
helptext () {
tput bold
tput setaf 2
echo "Fix perms script help:"
echo "Sets file/directory permissions to match suPHP and FastCGI schemes"
echo "USAGE: fixperms [options] -a account_name"
echo "-------"
echo "Options:"
echo "-h or --help: print this screen and exit"
echo "-v: verbose output"
echo "-all: run on all cPanel accounts"
echo "--account or -a: specify a cPanel account"
tput sgr0
exit 0
}

# Main workhorse, fix perms per account passed to it
fixperms () {

#Get account from what is passed to the function
account=$1

#Check account against cPanel users file
if ! grep $account /var/cpanel/users/*
then
tput bold
tput setaf 1
echo "Invalid cPanel account"
tput sgr0
exit 0
fi

#Make sure account isn't blank
if [ -z $account ]
then
tput bold
tput setaf 1
echo "Need an account name!"
tput sgr0
helptext
#Else, start doing work
else
tput bold
tput setaf 4
echo "Fixing perms for $account:"
tput setaf 3
echo "------------------------"
tput setaf 4
echo "Fixing website files...."
tput sgr0
#Fix individual files in public_html
find /home/$account/public_html -type d -exec chmod $verbose 755 {} \;
find /home/$account/public_html -type f | xargs -d$'\n' -r chmod $verbose 644
find /home/$account/public_html -name '*.cgi' -o -name '*.pl' | xargs -r chmod $verbose 755
chown $verbose -R $account:$account /home/$account/public_html/*
find /home/$account/* -name .htaccess -exec chown $verbose $account.$account {} \;

tput bold
tput setaf 4
echo "Fixing public_html...."
tput sgr0
#Fix perms of public_html itself
chown $verbose $account:nobody /home/$account/public_html
chmod $verbose 750 /home/$account/public_html

#Fix subdomains that lie outside of public_html
tput setaf 3
tput bold
echo "------------------------"
tput setaf 4
echo "Fixing any domains with a document root outside of public_html...."
for SUBDOMAIN in $(grep -i document /var/cpanel/userdata/$account/* | awk '{print $2}' | grep home | grep -v public_html)
do
tput bold
tput setaf 4
echo "Fixing sub/addon domain document root $SUBDOMAIN...."
tput sgr0
find $SUBDOMAIN -type d -exec chmod $verbose 755 {} \;
find $SUBDOMAIN -type f | xargs -d$'\n' -r chmod $verbose 644
find $SUBDOMAIN -name '*.cgi' -o -name '*.pl' | xargs -r chmod $verbose 755
chown $verbose -R $account:$account $SUBDOMAIN
find $SUBDOMAIN -name .htaccess -exec chown $verbose $account.$account {} \;
done

#Finished
tput bold
tput setaf 3
echo "Finished!"
echo "------------------------"
printf "\n\n"
tput sgr0
fi

return 0
}

#Parses all users through cPanel's users file
all () {
cd /var/cpanel/users
for user in *
do
fixperms $user
done
}

#Main function, switches options passed to it
case "$1" in

-h) helptext
;;
--help) helptext
;;
-v) verbose="-v"

case "$2" in

-all) all
;;
--account) fixperms "$3"
;;
-a) fixperms "$3"
;;
*) tput bold
tput setaf 1
echo "Invalid Option!"
helptext
;;
esac
;;

-all) all
;;
--account) fixperms "$2"
;;
-a) fixperms "$2"
;;
*)
tput bold
tput setaf 1
echo "Invalid Option!"
helptext
;;
esac

isatis7t
July 26th, 2013, 20:07
کار cronjob اینه که به ازای هر مدتی که شما تعریف می کنید به صورت دوره ای یک کار خاصی رو انجام می ده.

این کار می تونه اجرا کردن یک اسکریپت باشه که دسترسی های کاربران را بررسی کند و آنها را تغییر می دهد.

در ضمن می توان در لینوکس تنظیمات کاربر را طوری تغییر داد که در هنگام خروج یک اسکریپت اجرا شده و تمام فایل های یک کاربر را تغییر دسترسی دهد.

beniii
July 27th, 2013, 22:24
Simple Bash Script to Fix Account Permissions :: The cPanel Admin (http://www.thecpaneladmin.com/fix-account-permissions)
Change owner of files - cPanel Forums (http://forums.cpanel.net/f5/change-owner-files-127045.html)