دستورات کار با گروه‌ها، کاربران و دسترسی‌ها

تو پست قبلی یه مخزن گیت روی دراپ‌باکس راه انداختم. ولی خوب وقتی آدم راسپبری داره چرا یه همچین مخزنی رو روی راسپبری راه نندازه؟ برای این کار باید کمی دسترسی کاربران رو تنظیم می‌کردم. من تا حالا در این سطح ناچار به انجام این کار نشده بودم. بنا بر این خیلی هم با دستوراتش آشنا نبودم. واسه همین تو این پست یه خلاصه‌ای از دستورات جدیدی که یادگرفتم و مربوط به کار با کاربرا، گروه‌ها و مجوزها بود می‌ذارم تا بعدا پست اصلی رو بنویسم.

کاربران و گروه‌ها
تو لینوکس هر کسی که داره با کامپیوتر کار می‌کنه یه کاربره. هر کاربر حداقل به یه گروه تعلق داره و البته می‌تونه متعلق به چند تا گروه هم باشه. دستورایی که برای کار با کاربران و گروه‌ها نیاز داشتم اینا بودن:

اضافه کردن یه کاربر جدید [bash]useradd user[/bash]
اضافه کردن یک کاربر جدید به علاوه ساختن فولدر home برای او [bash]useradd -m user[/bash]
عوض کردن پسورد کاربر [bash]passwd user[/bash]
اضافه کردن یه کاربر جدید به یه گروه جدید [bash]useradd -gbasicgroup user[/bash]
اضافه کردن یه کاربر جدید به دو گروه [bash]useradd -gbasicgroup -Ganothergroup user[/bash]
گرفتن اطلاعات کاربر [bash]id user[/bash]
لیست کل کاربران [bash]users[/bash]
لیست کل گروه‌ها [bash]groups[/bash]
لیست گروه‌های کاربر [bash]groups user[/bash]
اضافه کردن یه گروه جدید [bash]groupadd group[/bash]
اضافه کردن یه کاربر موجود به یه گروه [bash]usermod -a -G group user[/bash]
حذف کاربر از یک گروه [bash]userdel user group[/bash]
حذف کاربر به طور کلی [bash]userdel user[/bash]
حذف کاربر و فولدر خانه‌اش [bash]userdel -r user[/bash]

فایل‌ها و مجوزها
تو سیستم فایل ext هر فایلی سه تا خاصیت داره:
۱. یک کاربر مالک
۲. یک گروه مالک
۳. مجوزهای دسترسی برای کاربر مالک، گروه مالک و هر کس دیگری غیر این دو

این‌ها هم دستورایی که برای کار با مجوز فایل‌ها و دایرکتوری ها نیاز داشتم:

دیدن اطلاعات فایل
[bash]ls -l[/bash]
جلوی هر فایل مجوزها، اسم کاربر و اسم گروه نمایش داده می‌شه. فرمت مجوزها به شکل drwxrwxrwx هست. کاراکتر اول اگه – باشه یعنی یه فایل معمولیه و اگه d باشه یعنی یه دایرکتوریه. rwx اول مربوط به کاربر، rwx بعدی مربوط به گروه و rwx آخر مربوط به همه افراده. r نشون دهنده حق خوندن، w نشون دهنده حق نوشتن و x نشون دهنده حق اجرا کردنه. اگر کسی هر کدوم از این مجوزها رو نداشته باشه به جاش یه – نمایش داده می‌شه. مثلا اگه مجوز یه فایل drwxr–r-x باشه یعنی کاربر مالک فایل می‌تونه فایل رو بخونه، روش بنویسه و اجراش کنه، گروه فایل می‌تونه فقط بخونتش و همه افراد دیگه می‌تونن فایل رو بخونن و اجرا کنن.

تغییر دسترسی دایرکتوری برای گروه به شکل بازگشتی
[bash]chmod -R g+rwx DirectoryName[/bash]
تو این دستور حرف g برای گروهه. برای مالک اصلی o برای همه از a استفاده می‌شه. اگه هیچ حرفی نباشه اتوماتیک a در نظر گرفته می‌شه. + برای اعطای دسترسی و – برای سلب دسترسیه.

تغییر مالک فایل‌ها
[bash]chown username file1 file2 …[/bash]
تغییر مالک یک دایررکتوری به شکل بازگشتی
[bash]chown -R username somedir[/bash]
تغییر گروه فایل
[bash]chgrp groupname file1 file2 ….[/bash]
تغییر گروه یک دایرکتوری به شکل بازگشتی
[bash]chgrp -R groupname somedir[/bash]
تغییر مالک و گروه
[bash]chown username:groupname file1 file2 …[/bash]

مخزن گیت روی دراپ‌باکس

اکثر پروژه‌های شخصی‌ای که روشون کار می‌کنم رو روی گیت‌هاب قرار می‌دم. ولی خوب درباره مقاله‌ها حداقل تا پیش از انتشارشون نمی‌شه این کار رو کرد. البته می‌تونستم از بیت‌باکت یا نسخه آکادمیک گیت‌هاب استفاده کنم. اما به نظرم استفاده از دراپ‌باکس ساده‌تر بود.

برای این کار اولا برنامه‌‌ی دراپ‌باکس رو روی کامپیوترم نصب کردم. بعدش یه فولدر git تو فولدر دراپ‌باکس درست کردم. بعد توی اون فولدر، یه ریپازیتوری ایجاد کردم:
[bash]
git init –bare mytestrepo.git
[/bash]
لابد می‌دونید که سوییچ bare یه ریپازیتوری بدون نسخه درحال کار ایجاد می‌کنه. به این ترتیب فقط فایل‌های مربوط به گیت توش نگهداری می‌شه.
بعد توی ریپازیتوری خودم این فولدر رو به عنوان یکی از remoteها معرفی کردم:
[bash]
git remote add origin /path/to/dropbox/folder/git/mytestrepo.git
[/bash]
در مرحله آخرهم با یه push فایل‌ها رو می‌فرستم تو دراپ‌باکس. از این جا به بعد خود دراپ‌باکس زحمت sync رو واسمون می‌کشه.

یه افزونه خوب برای تغییر پ.ر.ا.ک.س.ی در کروم

ابزارای زیادی برای تغییر پ.ر.ا.ک.س.ی تو کروم هستن. ولی به نظر من EverP.r.o.x.y خوش‌دست ترین اون‌هاست. چند تا قابلیت کلیدیش که موجب می‌شه خیلی خوش‌دست باشه اینا هستن:

– تو حالت اتوماتیک خودش بر اساس لیستی که از دامین‌ها داره اتوماتیک پ.ر.ا.ک.س.ی رو تغییر می‌ده
– وقتی جایی ف.ی.ل.ت.ر شده، خودش یه لیست از دامین‌ها رو برای رفع اون پیش‌نهاد می‌ده
– می‌شه توش لاگین کرد تا لیست دامنه‌های شما به طور اتوماتیک بین براوزرهاتون آپدیت بشه