การจัดการ user, password และ folder permission บนเซิฟเวอร์

  1. sudo su - เปลี่ยนเป็น root กรณีไม่อยากพิมพ์ sudo บ่อยๆ 
  2. sudo adduser NewUserName ตรง NewUserName คือชื่อ user ใหม่ (ตามด้วย --force-badname กรณีตั้งชื่อแบบที่ไม่ควรตั้ง แต่โดนรีเควสมา)
  3. sudo passwd NewUserName กำหนดพาสเวิร์ดให้ user ที่สร้าง (กรณีต้องการให้เปลี่ยน password ครั้งแรกที่ login ใช้คำสั่ง  sudo chage --lastday 0 NewUserName ด้วยนะครับ)
  4. sudo usermod -aG sudo NewUserName เป็นการนำ user เข้ากลุ่มของ sudo เพื่อให้มีสิทธิ์ระดับ Admin ตรง sudo เปลี่ยนเป็นกลุ่มอื่นๆ ที่เราตั้งได้ตามใจครับ การใช้ -a จะเป็นการบอกว่าเพิ่ม user ในกลุ่มอื่นนะครับ ไม่งั้นมันย้ายเราออกจากลุ่มเดิมไปอยู่ที่กลุ่มใหม่แทน
  5. nano /etc/passwd ไว้ดู list user ทั้งหมดที่มี (เปลี่ยน cat เป็น more เพื่อให้บอกว่าเราดูไปกี่ % แล้ว กรณีจำนวน user เยอะมากๆ ได้)
  6. sudo chage -l NewUserName เอาไว้ดูวันหมดอายุของ user นะครับ (กรณีที่ตั้งไว้)
  7. sudo chage -E yyyy/mm/dd NewUserName เอาไว้แก้ไขวันหมดอายุของ user นะครับ
  8. sudo userdel NewUserName กรณีต้องการลบ user หรือ sudo userdel -r NewUserName กรณีต้องการลบไฟล์ และโฟลเดอร์ของ user ทิ้งไปด้วย
  9. sudo rm -r NameFolder กรณีที่ลบโฟลเดอร์ชื่อ NameFolder ของ user ที่เราต้องการ
  10. ls -l กรณีอยากดูไฟล์ในโฟลเดอร์ทั้งหมดว่ามีกำหนดสิทธิ์ในการ read(r,1), write(w,2), execute(x,4) อะไรบ้าง ซึ่งจะเรียงตามนี้ file type, owner, group, others เช่น -rwxr-xr-- ตัวแรกถ้าเป็น - คือไฟล์ธรรมดา, d คือโฟลเดอร์, l คือไฟล์ที่มีการเรียกใช้ ตามด้วย 3 ตัวอักษร rwx คืออนุญาตให้เจ้าของไฟล์ อ่าน, เขียน, รัน ได้ตามด้วย r-x อนุญาตให้กลุ่ม อ่าน, รัน ได้สุดท้ายคือ r-- คือคนอื่นๆ ที่ไม่ใช่เจ้าของ และไม่อยู่ในกลุ่มเดียวกัน ทำได้แค่อ่านอย่างเดียว (แต่ในการแชร์โฟลเดอร์ให้คนในกลุ่มใช้งานได้ ต้องแอดโฟลเดอร์เข้ากลุ่มเพิ่มด้วยคำสั่ง " sudo chgrp -R YourGroup NameFolder " โดย YourGroup คือชื่อกลุ่มที่ต้องการแอดเข้า ทีนี้ทุกคนในกลุ่มก็จะใช้โฟลเดอร์นี้ได้ ดังนั้นอย่าลืมสร้างกลุ่ม และแอด user เข้ากลุ่มก่อนนะครับ) 
  11. ls -A ไว้ดูโฟลเดอร์ที่ซ่อนอยู่นะครับ ส่วนมากเป็นโฟลเดอร์ที่สำคัญของระบบ กรณีใช้แบบ GUI จะใช้ Ctrl+h ก็ได้ครับ ่วนการทำให้โฟลเดอร์กลายเป็นเสมือนโฟลเดอร์ของระบบทำได้ด้วยการใส่ " . " หรือจุดทศนิยมนำหน้าชื่อโฟลเดอร์นะครับ
  12. ต่อจากข้อ 8. เดี๋ยวไม่ครบถ้วนกระบวนการ การสร้างกลุ่มใช้คำสั่ง " sudo addgroup YourGroup " โดย YourGroup คือชื่อกลุ่มที่เราจะตั้ง ส่วนถ้าลบก็จะเป็น " sudo delgroup YourGroup " นะครับ
  13. เอา user เข้ากลุ่มที่สร้าง " sudo adduser NewUserName
    YourGroup " และลบ user ออกจากกลุ่มใช้คำสั่งนี้นะครับ " sudo deluser NewUserName YourGroup "
  14. nano /etc/group อันนี้ไว้เข้าไปดูกลุ่มที่เราสร้างไว้ ว่ามีสมาชิกเป็น user ไหนบ้างนะครับ
  15. su - NewUserName กรณีที่อยากเข้าไปใช้ทดลองระดับสิทธิ์ของ NewUserName และ " exit " เพื่อ logout กลับมาใช้ user เดิมของเรา
  16. sudo chmod 777 NameFolder ใช้กำหนดสิทธิ์ในการใช้งาน folder โดยให้ค่า execute(x,4), write(w,2), read(r,1) รวมเป็น 7 และอักษร 3 ตัวเรียงตามลำดับสิทธิ์ owner, group, others เช่น 751 คือ rwxr-xr-- แบบเดียวกับในข้อ 8. นะครับ ถ้าอยากให้ทั้ง subfolder ข้างในได้รับสิทธิ์แบบเดียวกันไปด้วยใช้ sudo chmod -R 777 NameFolder หรือจะใช้คำสั่ง sudo chmod -R u=rwx, g=r-x, o=r-x NameFolder (กรณีอยากให้เราเข้าโฟลเดอร์ทุกคนได้ โดยที่ทุกคนเข้าโฟลเดอร์คนอื่นไม่ได้นะครับ ให้ตั้ง 770 โดยตั้งให้ กลุ่มของโฟลเดอร์ เป็นกลุ่มที่มีเฉพาะแอดมิน หรือเราอยู่นะครับ)
  17. หัวข้อนี้เกี่ยวกับการตั้งค่า Default Permission ให้ folder นะครับ เพราะหัวข้อข้างบนคือคำสั่งที่กำหนดให้กับ folder ที่สร้างไว้แล้วนะครับ แต่ไม่รวมถึง folder ที่จะถูกสร้างขึ้นมาใหม่ ดังนั้นจึงต้องใช้คำสั่ง " sudo setfacl -R -d -m u::rwx -m g::rwx -m o::rwx NameFolder/ " แล้วหลังจากนี้ทุกไฟล์ที่สร้างในโฟลเดอร์ก็จะใช้ค่า permission ตามนี้นะครับ u คือ user หรือ owner ที่เป็นเจ้าของไฟล์นะครับ g คือ group และ o คือ other ส่วน rwx ก็เหมือนเดิมครับ อ่าน, เขียน, รัน ( 000 หรือ - มีค่าเท่ากัน คือไม่ให้สิทธิ์นะครับ) แต่ตัว NameFolder สิทธิ์ยังเหมือนเดิมนะครับ
  18. ต่อจากหัวข้อ 17. นะครับ เนื่องจาก folder อันแรกสุดที่เราเรียกใช้คำสั่งกำหนด setfacl  permission ให้ มันอาจจะไม่เหมือนกันได้ ดังนั้นถ้าเราอยากรู้ว่ามันถูกกำหนดอะไรไว้ เราต้องใช้คำสั่ง " getfacl NameFolder " ที่เราต้องการดูแทนนะครับ ซึ่งมันจะบอก default ไว้ข้างล่างนะครับ
  19. กรณีต้องการตั้งค่าให้มี มากกว่าหนึ่ง group ต่อหนึ่งโฟลเดอร์นะครับ ให้ใช้คำสั่ง  sudo setfacl -m g:MoreGroup:rwx เพิ่มได้นะครับ โดย  MoreGroup คือกลุ่มที่เราต้องการเพิ่ม และ  rwx คือการกำหนดสิทธิ์ในการเข้าใช้ข้อมูลนะครับ
  20. sudo chown -R NewOwner:NewGroup NameFolder การเปลี่ยนเจ้าของโฟลเดอร์นะครับ ซึ่งอันนี้รวมถึงทุกอย่างข้างในโฟลเดอร์นั้นๆ ด้วย (เพราะ -R ถ้าเอาแค่โฟลเดอร์เดียวก็ลบออกได้ครับ) โดย  NewOwner คือเจ้าของคนใหม่นะครับ  NewGroup คือชื่อกลุ่ม ส่วน  NameFolder  คือชื่อโฟลเดอร์ที่ต้องการเปลี่ยนเจ้าของนะครับ ปล. อย่าลืม cd ไปที่เดียวกะโฟลเดอร์ก่อนนะครับ ไม่งั้นต้องอ้าง Path ด้วย เช่น /home/NameFolder ส่วนถ้าเราไม่ต้องการเปลี่ยนกลุ่มก็ใช้แค่  sudo chown -R NewOwner NameFolder ได้นะครับ
  21. sudo chgrp -R NewGroup NameFolder อันนี้ไว้ใช้เปลี่ยน group ของโฟลเดอร์นะครับ โดยที่  NewGroup เป็นชื่อกลุ่มที่เราต้องการให้เป็น ส่วน  NameFolder คือโฟลเดอร์ที่เราต้องการเปลี่ยนกลุ่ม 
  22. chmod g+s -R NameFolder อันนี้ไว้ใช้ตั้งค่า default ของ group ของโฟลเดอร์ที่จะมีการสร้างขึ้นใหม่นะครับ โดยมันจะใช้ค่า group เดียวกันกับโฟลเดอร์ที่เราใช้คำสั่งไป
  23. กรณีที่เราต้องการ login user อื่นๆ ผ่านทางจอ terminal ของเรา โดยที่ไม่ต้อง Log Out หรือ Switch User ให้ใช้คำสั่ง sudo login NameUser โดย NameUser คือชื่อของ user ที่ต้องการล็อคอินนะครับ ถ้าต้องการออกมาที่ user เดิม ก็ใช้คำสั่ง logout ได้เลยครับ
  24. อันนี้เพิ่มเติมมานะครับ เนื่องจากก่อนหน้านี้ไม่เคยคิดว่าจะพลาดตั้งชื่อผิดจนต้องเปลี่ยนชื่อไอดี กับชื่อเครื่อง แต่แล้ววันนึง ก็ทำงานจนค่ำๆ แล้วหิวข้าว แต่ร้านแถวนั้นก็ปิดหมดตั้งแต่หกโมงเพราะสถานการณ์โควิดละ เลยเบลอกันนิดหน่อย ตั้งชื่อเครื่อง และไอดีสลับกับอีกเครื่องนึง เลยต้องมานั่งหาคำสั่งแก้ดีกว่าลงใหม่ 555 ก่อนอื่นต้องมีอีกไอดีนึงที่มีสิทธิ์ sudo ก่อนนะครับ เพราะเราเปลี่ยนไอดีที่เราใช้อยู่ไม่ได้นะครับ พอสร้างเสร็จแล้วใช้คำสั่งเปลี่ยนชื่อไอดีเดิมของเรานะครับ usermod -l NewName -d /home/ NewName -m OldName โดยที่ NewName คือชื่อใหม่ที่เราต้องการ และ OldName คือชื่อเก่าที่เราตั้งพลาดนะครับ
  25. อันนี้ต่อจากเปลี่ยนชื่อไอดีนะครับ เรามาเปลี่ยนชื่อเครื่องกันต่อ ทั้งสองอันนี้เครดิตของ เว็บนี้นะครับ มีสองคำสั่งนะครับให้เข้าไปแก้ชื่อเครื่องเดิมเป็นชื่อเครื่องใหม่ใน sudo nano /etc/hostname กับ sudo nano /etc/hosts นะครับ แล้ว sudo reboot เพื่อรีสตาร์ทเครื่องนะครับ แล้วเราก็จะได้เครื่องใหม่พร้อมไอดีใหม่ของเราแล้วนะครับ
  26. อันนี้เอาไว้แก้ชื่อ user + hostname ที่มันแสดงใน terminal นะครับ ใช้คำสั่ง export PS1=' NewName : ' นะครับ โดย  NewName คืออะไรที่เราอยากจะให้มันแสดงผลแทนของเดิมนะครับ (เหตุที่ทำเพราะของเดิมมันยาวจนเกะกะนะครับ)

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

โปรโมชั่นเน็ต TOT

โน๊ตบุ๊ค acer switch sa5-271 แบตบวม T^T

Blog นี้สร้างเพื่อ?