احتمال داره که بخواید از نرمافزار Viber استفاده کنید، ولی بخاطر سابقه قبلی اون (مثل نیاز به دسترسی ریشه برای اجرا) و به دلیل بستهبودن سورس این نرمافزار، نتونید به اون اعتماد بکنید.
خوب من آخرین نسخه Viber رو با MD5 زیر گرفتم:
4dec3ade37a3738c6f084858a4554861 viber.deb
فایلها و کدهای نصب از جمله preinst و postinst رو بررسی کردم، مجوزهای فایلهای مختلف و همچنین کتابخانههایی که همراهش بود رو چک کردم و در کل به نظر میاد که مشکلی نداره و دیگه دسترسی ریشه هم نمیگیره.
درسته که نمیتونه کنترل کلی روی سیستم شما داشته باشه، ولی هنوز میتونه به مقدار عمدهای از اطلاعات کاربر اجرا کننده این برنامه دسترسی داشته باشه و من پیشنهاد نمیکنم که از اون استفاده کنید.
اگر مجبور به استفاده از Viber هستید، پیشنهاد من استفاده Viber با یک کاربر دیگه هستش. برای چنین کاری بدون نیاز به Logout کردن، از روش زیر استفاده کنید:
ابتدا Viber رو نصب کنید، ولی اون رو اجرا نکنید.
wget http://download.cdn.viber.com/cdn/desktop/Linux/viber.deb
sudo dpkg -i viber.deb
حالا یک کاربر جدید برای Viber به همراه یک محل برای ذخیره تنظیمات اون بسازید:
sudo useradd viber -U
sudo mkdir /home/viber
sudo chown viber:viber /home/viber
حالا Viber رو مجبور کنید که از اون کاربر استفاده کنه:
sudo chown viber:viber /opt/viber/Viber
sudo chmod +s /opt/viber/Viber
و اجازه بدید که کاربر viber به صفحه نمایش شما وصل بشه:
xhost +SI:localuser:viber
echo "xhost +SI:localuser:viber" >> ~/.profile
قاعدتا الان باید کار کنه، ولی خوب اینطور نیست
بدلیل کمبود وقت دیگه سعی نکردم بگردم ببینم دلیلش چیه، ولی اگر کسی دلیلش رو پیدا کرد بگه تا این پست رو تغییر بدم. برای اینکه مجبور به کار بکنیمش، این روش رو استفاده کردم:
ابتدا اجازه بدید که Viber با کاربر viber توسط sudo بدون نیاز به گذرواژه اجرا بشه:
echo "ALL ALL=(viber) NOPASSWD: /opt/viber/Viber" | sudo tee -a /etc/sudoers
حالا یک اسکریپت برای اجرای Viber بنویسید:
echo "HOME='/home/viber' sudo -u viber /opt/viber/Viber" | sudo tee /opt/viber/run_viber
sudo chmod +x /opt/viber/run_viber
و لینک اون رو هم تغییر بدید تا نیاز نباشه که همیشه از طریق ترمینال اون رو اجرا کنید:
sudo sed -i 's/viber\/Viber/viber\/run_viber/g' /usr/share/applications/viber.desktop
الان همه چیز کار میکنه بجز صدا! برای حل این مشکل، باید به بقیه کاربرها اجازه بدیم که به Pulse وصل بشن. حواستون باشه که این دستورات به همه افرادی که روی این کامپیوتر هستند اجازه میده که از Pulse استفاده کنند و میتونه یک مشکل امنیتی محسوب بشه، ولی در اکثر موارد در کامپیوترهای خانگی مشکلی نیست.
cd ~
mkdir -p .pulse
cp /etc/pulse/default.pa ~/.pulse/
echo "load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1" >> .pulse/default.pa
sudo mkdir -p /home/viber/.pulse
echo "default-server = 127.0.0.1" | sudo tee /home/viber/.pulse/client.conf
sudo chown -R viber:viber /home/viber/.pulse
یک بار کامپیوتر رو دوباره راهاندازی کنید و همه چیز باید به خوبی کار بکنه