Permission คือ สิทธิ์ในการเข้าถึง Files หรือ Directories ภายในระบบปฏิบัติการ Unix โดยแบ่งออกได้เป็น 3 กลุ่มของผู้ใช้
chmod 777 file.php
คำสั่งด้านบนนี้เชื่อว่า 80% ที่อ่านบทความนี้น่าจะรู้ความหมายของมันแล้วว่า
เป็นการให้สิทธิ์กับ User ที่เป็นเจ้าของ File | Group ที่เป็นเจ้าของ File | Other คนอื่นๆ
User ที่เป็นเจ้าของ File | Group ที่เป็นเจ้าของ File | Other คนอื่นๆ
7 ตำแหน่งที่ 1 | 7 แหน่งที่ 2 | 7 ตำแหน่งตัวที่ 3
แล้ว 7 คืออะไร มาจากไหน
คำตอบคือมาจากผลรวม
ของการ + เลข 3 ตัวแค่นั้นเอง
Octal Symbol Permission
0 --- No Permissions
1 --x Execute
2 -w- Write
4 r-- Read
ยกตัวอย่างกันอีกรอบ
chmod 755 file.php
ความหมายของเลข 755 ก็คือ
ตัวเลข ที่บอกถึงสิทธิ์การเข้าถึง ของไฟล์ file.php
7 ตัว แรก คือสิทธิ์ของเจ้าของไฟล์ = จะ อ่าน , เขียน , รันไฟล์ ได้
5 ตัวที่ สอง คือสิทธิ์ของคือสิทธิ์ของ สมาชิกที่อยู่ Group เดียวกับเจ้าของ File: จะอ่าน , รันไฟล์ ได้
5 ตัวที่ สาม คือสิทธิ์ของ User ทั่วไป จะอ่าน , รันไฟล์ ได้
img : https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAjhyphenhyphenqa8HsgdNM2V9h4e1T4hPEJDFaO-PXIGfxIiyo7W-jDmV4wH0vWhXx89kZUu6plDyAfyXjzaxBV23xR40zISQzTHgKStUA8Uvda6lNWMPbiB8mFJ9h-wzFC-KDWSKDh2-o_hZQhAE/s1600/chmod4.png
" เทคนิคง่ายๆคือเลขจำเลข 421
และประโยค read , write , execute ให้ได้
ก็จะสามารถใช้งานคำสั่ง chmod ได้แล้วครับ !! "
โดยปกติที่เราใช้คำสั่ง ls -l เพื่อแสดงรายละเอียดไฟล์และ Directory
root@ak1:~$ ls -l
total 870908
-rw-rw-r-- 1 ak1 ak1 169182 ม.ค. 29 13:45 image.jpg
-rw-rw-r-- 1 ak1 ak1 890964337 ก.พ. 2 19:40 hello.zip
drwxrwxr-x 4 ak1 ak1 4096 ก.พ. 2 13:52 burpsuite
drwxr-xr-x 2 ak1 ak1 4096 มี.ค. 31 2010 cmsexplorer
drwxrwxr-x 4 ak1 ak1 4096 ธ.ค. 27 20:30 coding
drwxr-xr-x 2 ak1 ak1 405504 ม.ค. 31 20:54 crunch
Octal Symbol Permission
0 --- No Permissions
1 --x Execute
2 -w- Write
4 r-- Read
ยกตัวอย่างกันอีกรอบ
chmod 755 file.php
ความหมายของเลข 755 ก็คือ
ตัวเลข ที่บอกถึงสิทธิ์การเข้าถึง ของไฟล์ file.php
7 ตัว แรก คือสิทธิ์ของเจ้าของไฟล์ = จะ อ่าน , เขียน , รันไฟล์ ได้
5 ตัวที่ สอง คือสิทธิ์ของคือสิทธิ์ของ สมาชิกที่อยู่ Group เดียวกับเจ้าของ File: จะอ่าน , รันไฟล์ ได้
5 ตัวที่ สาม คือสิทธิ์ของ User ทั่วไป จะอ่าน , รันไฟล์ ได้
img : https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAjhyphenhyphenqa8HsgdNM2V9h4e1T4hPEJDFaO-PXIGfxIiyo7W-jDmV4wH0vWhXx89kZUu6plDyAfyXjzaxBV23xR40zISQzTHgKStUA8Uvda6lNWMPbiB8mFJ9h-wzFC-KDWSKDh2-o_hZQhAE/s1600/chmod4.png
" เทคนิคง่ายๆคือเลขจำเลข 421
และประโยค read , write , execute ให้ได้
ก็จะสามารถใช้งานคำสั่ง chmod ได้แล้วครับ !! "
โดยปกติที่เราใช้คำสั่ง ls -l เพื่อแสดงรายละเอียดไฟล์และ Directory
root@ak1:~$ ls -l
total 870908
-rw-rw-r-- 1 ak1 ak1 169182 ม.ค. 29 13:45 image.jpg
-rw-rw-r-- 1 ak1 ak1 890964337 ก.พ. 2 19:40 hello.zip
drwxrwxr-x 4 ak1 ak1 4096 ก.พ. 2 13:52 burpsuite
drwxr-xr-x 2 ak1 ak1 4096 มี.ค. 31 2010 cmsexplorer
drwxrwxr-x 4 ak1 ak1 4096 ธ.ค. 27 20:30 coding
drwxr-xr-x 2 ak1 ak1 405504 ม.ค. 31 20:54 crunch
ก็จะสามารถใช้งานคำสั่ง chmod ได้แล้วครับ !! "
โดยปกติที่เราใช้คำสั่ง ls -l เพื่อแสดงรายละเอียดไฟล์และ Directory
root@ak1:~$ ls -l
total 870908
-rw-rw-r-- 1 ak1 ak1 169182 ม.ค. 29 13:45 image.jpg
-rw-rw-r-- 1 ak1 ak1 890964337 ก.พ. 2 19:40 hello.zip
drwxrwxr-x 4 ak1 ak1 4096 ก.พ. 2 13:52 burpsuite
drwxr-xr-x 2 ak1 ak1 4096 มี.ค. 31 2010 cmsexplorer
drwxrwxr-x 4 ak1 ak1 4096 ธ.ค. 27 20:30 coding
drwxr-xr-x 2 ak1 ak1 405504 ม.ค. 31 20:54 crunch
อ่าน Permisstion แบบตัวเลขด้วยคำสั่ง stat
$stat -c '%A %a %n' *
ช่วยให้สามารถอ่านค่าของ permission ได้ง่ายขึ้น
ด้วยคำสั่ง stat : display file or file system status
ตามด้วย -c ช่วยทำการขึ้นบรรทัดใหม่ให้อ่านง่ายขึ้น
%A จะแสดงค่าในรูปแบบอักษร drwxr-xr-x
%a จะแสดงค่าในรูปแบบตัวเลข 777
%n จะแสดง File name
Example
root@ak1:~$ stat -c '%A %a %n' *
-rw-rw-r-- 664 image.jpg
-rw-rw-r-- 664 hello.zip
drwxrwxr-x 775 burpsuite
drwxr-xr-x 755 cmsexplorer
drwxrwxr-x 775 coding
drwxr-xr-x 755 crunch
ความต่างเรื่อง permissionระหว่าง File กับ Directory
4 = r (read)2 = w (write)
1 = x (execute)
สิทธิในฝั่งไฟล์
Read permission อนุญาติให้ file สามารถเปิดได้
Write permission อนุญาติให้ file สามารถแก้ไขได้
Execute permission อนุญาติให้ file สามารถทำงานโดยตรงจาก shell ถ้าเป็น script หรือ binary file
เมื่อนำไปใช้กับ Directory (folder)
Read permission อนุญาติให้ directory สามารถแสดงลิสต์ภายในได้
Write permission อนุญาติให้ files หรือ directories สามารถถูกสร้างหรือลบภายใน directory
Execute permission อนุญาติให้ข้อมูลใน directory สามารถเข้าถึงได้
วิธีการใช้คำสั่ง chmod เพื่อปรับเปลี่ยนสิทธิ
แบบ Octal values (ตัวเลขฐานแปด)
$ chmod 700 folder
เมื่อเราใช้คำสั่ง ls -l
output : -rwx------ 1 olan group1 346 Apr 27 03:32 folder
ทบทวน
ตัวแรก 7 เป็นการกำหนด permission ให้ user เป็น rwx
ตัวแรก 0 เป็นการกำหนด permission ให้ group เป็น ---
ตัวแรก 0 เป็นการกำหนด permission ให้ other เป็น ---
ถ้าต้องการเปลี่ยนแปลง Permission ทั้งหมดใน Directory ปัจจุบัน
และ sub directories ทั้งหมด สามารถใช้คำสั่ง
$chmod -R u+r {folder}
คำสั่ง umask - $umask 022
ใช้สำหรับตั้งค่าเมื่อมีการสร้าง files หรือ directories ใหม่
จะมีค่าตามที่กำหนดในคำสั่ง umask
หลังจากเรียกใช้คำสั่ง umask 022 แล้ว file หรือ directories ที่สร้างใหม่
จะมี permission เป็น 022 เสมอ
คำสั่ง chown
ใช้สำหรับการเปลี่ยนแปลง Owner (เจ้าของไฟล์ , Directory)$chown north contact_info
คำสั่ง chgrp
ใช้ในการเปลี่ยน group
$ chgrp students data_file
$ ls -l data_file
: output :
-rwxrwx--- 1 north students 812 Jan 27 11:20 data_file
Reference :
http://askubuntu.com/questions/152001/how-can-i-get-octal-file-permissions-from-command-line
http://share.olanlab.com/th/it/blog/view/89