การจัดการ user, password และ folder permission บนเซิฟเวอร์
- sudo su - เปลี่ยนเป็น root กรณีไม่อยากพิมพ์ sudo บ่อยๆ
- sudo adduser NewUserName ตรง NewUserName คือชื่อ user ใหม่ (ตามด้วย --force-badname กรณีตั้งชื่อแบบที่ไม่ควรตั้ง แต่โดนรีเควสมา)
- sudo passwd NewUserName กำหนดพาสเวิร์ดให้ user ที่สร้าง (กรณีต้องการให้เปลี่ยน password ครั้งแรกที่ login ใช้คำสั่ง sudo chage --lastday 0 NewUserName ด้วยนะครับ)
-
sudo usermod -aG sudo NewUserName เป็นการนำ user เข้ากลุ่มของ sudo เพื่อให้มีสิทธิ์ระดับ Admin ตรง sudo เปลี่ยนเป็นกลุ่มอื่นๆ ที่เราตั้งได้ตามใจครับ การใช้ -a จะเป็นการบอกว่าเพิ่ม user ในกลุ่มอื่นนะครับ ไม่งั้นมันย้ายเราออกจากลุ่มเดิมไปอยู่ที่กลุ่มใหม่แทน
- nano /etc/passwd ไว้ดู list user ทั้งหมดที่มี (เปลี่ยน cat เป็น more เพื่อให้บอกว่าเราดูไปกี่ % แล้ว กรณีจำนวน user เยอะมากๆ ได้)
- sudo chage -l NewUserName เอาไว้ดูวันหมดอายุของ user นะครับ (กรณีที่ตั้งไว้)
-
sudo chage -E yyyy/mm/dd
NewUserName เอาไว้แก้ไขวันหมดอายุของ user นะครับ
-
sudo userdel NewUserName กรณีต้องการลบ user หรือ sudo userdel -r NewUserName กรณีต้องการลบไฟล์ และโฟลเดอร์ของ user ทิ้งไปด้วย
- sudo rm -r NameFolder กรณีที่ลบโฟลเดอร์ชื่อ NameFolder ของ user ที่เราต้องการ
- 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 เข้ากลุ่มก่อนนะครับ)
-
ls -A ไว้ดูโฟลเดอร์ที่ซ่อนอยู่นะครับ ส่วนมากเป็นโฟลเดอร์ที่สำคัญของระบบ กรณีใช้แบบ GUI จะใช้ Ctrl+h ก็ได้ครับ ่วนการทำให้โฟลเดอร์กลายเป็นเสมือนโฟลเดอร์ของระบบทำได้ด้วยการใส่ " . " หรือจุดทศนิยมนำหน้าชื่อโฟลเดอร์นะครับ
- ต่อจากข้อ 8. เดี๋ยวไม่ครบถ้วนกระบวนการ การสร้างกลุ่มใช้คำสั่ง " sudo addgroup
YourGroup
" โดย
YourGroup
คือชื่อกลุ่มที่เราจะตั้ง ส่วนถ้าลบก็จะเป็น " sudo delgroup
YourGroup
" นะครับ
- เอา user เข้ากลุ่มที่สร้าง " sudo adduser
NewUserName
YourGroup " และลบ user ออกจากกลุ่มใช้คำสั่งนี้นะครับ " sudo deluser NewUserName YourGroup "
-
nano /etc/group อันนี้ไว้เข้าไปดูกลุ่มที่เราสร้างไว้ ว่ามีสมาชิกเป็น user ไหนบ้างนะครับ
-
su -
NewUserName
กรณีที่อยากเข้าไปใช้ทดลองระดับสิทธิ์ของ
NewUserName และ " exit " เพื่อ logout กลับมาใช้ user เดิมของเรา
-
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 โดยตั้งให้ กลุ่มของโฟลเดอร์ เป็นกลุ่มที่มีเฉพาะแอดมิน หรือเราอยู่นะครับ)
- หัวข้อนี้เกี่ยวกับการตั้งค่า 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 สิทธิ์ยังเหมือนเดิมนะครับ
- ต่อจากหัวข้อ 17. นะครับ เนื่องจาก folder อันแรกสุดที่เราเรียกใช้คำสั่งกำหนด setfacl permission ให้ มันอาจจะไม่เหมือนกันได้ ดังนั้นถ้าเราอยากรู้ว่ามันถูกกำหนดอะไรไว้ เราต้องใช้คำสั่ง " getfacl NameFolder " ที่เราต้องการดูแทนนะครับ ซึ่งมันจะบอก default ไว้ข้างล่างนะครับ
- กรณีต้องการตั้งค่าให้มี มากกว่าหนึ่ง group ต่อหนึ่งโฟลเดอร์นะครับ ให้ใช้คำสั่ง sudo setfacl -m g:MoreGroup:rwx เพิ่มได้นะครับ โดย MoreGroup คือกลุ่มที่เราต้องการเพิ่ม และ rwx คือการกำหนดสิทธิ์ในการเข้าใช้ข้อมูลนะครับ
- sudo chown -R NewOwner:NewGroup NameFolder การเปลี่ยนเจ้าของโฟลเดอร์นะครับ ซึ่งอันนี้รวมถึงทุกอย่างข้างในโฟลเดอร์นั้นๆ ด้วย (เพราะ -R ถ้าเอาแค่โฟลเดอร์เดียวก็ลบออกได้ครับ) โดย NewOwner คือเจ้าของคนใหม่นะครับ NewGroup คือชื่อกลุ่ม ส่วน NameFolder คือชื่อโฟลเดอร์ที่ต้องการเปลี่ยนเจ้าของนะครับ ปล. อย่าลืม cd ไปที่เดียวกะโฟลเดอร์ก่อนนะครับ ไม่งั้นต้องอ้าง Path ด้วย เช่น /home/NameFolder ส่วนถ้าเราไม่ต้องการเปลี่ยนกลุ่มก็ใช้แค่ sudo chown -R NewOwner NameFolder ได้นะครับ
- sudo chgrp -R NewGroup NameFolder อันนี้ไว้ใช้เปลี่ยน group ของโฟลเดอร์นะครับ โดยที่ NewGroup เป็นชื่อกลุ่มที่เราต้องการให้เป็น ส่วน NameFolder คือโฟลเดอร์ที่เราต้องการเปลี่ยนกลุ่ม
- chmod g+s -R NameFolder อันนี้ไว้ใช้ตั้งค่า default ของ group ของโฟลเดอร์ที่จะมีการสร้างขึ้นใหม่นะครับ โดยมันจะใช้ค่า group เดียวกันกับโฟลเดอร์ที่เราใช้คำสั่งไป
- กรณีที่เราต้องการ login user อื่นๆ ผ่านทางจอ terminal ของเรา โดยที่ไม่ต้อง Log Out หรือ Switch User ให้ใช้คำสั่ง sudo login NameUser โดย NameUser คือชื่อของ user ที่ต้องการล็อคอินนะครับ ถ้าต้องการออกมาที่ user เดิม ก็ใช้คำสั่ง logout ได้เลยครับ
- อันนี้เพิ่มเติมมานะครับ เนื่องจากก่อนหน้านี้ไม่เคยคิดว่าจะพลาดตั้งชื่อผิดจนต้องเปลี่ยนชื่อไอดี กับชื่อเครื่อง แต่แล้ววันนึง ก็ทำงานจนค่ำๆ แล้วหิวข้าว แต่ร้านแถวนั้นก็ปิดหมดตั้งแต่หกโมงเพราะสถานการณ์โควิดละ เลยเบลอกันนิดหน่อย ตั้งชื่อเครื่อง และไอดีสลับกับอีกเครื่องนึง เลยต้องมานั่งหาคำสั่งแก้ดีกว่าลงใหม่ 555 ก่อนอื่นต้องมีอีกไอดีนึงที่มีสิทธิ์ sudo ก่อนนะครับ เพราะเราเปลี่ยนไอดีที่เราใช้อยู่ไม่ได้นะครับ พอสร้างเสร็จแล้วใช้คำสั่งเปลี่ยนชื่อไอดีเดิมของเรานะครับ usermod -l NewName -d /home/ NewName -m OldName โดยที่ NewName คือชื่อใหม่ที่เราต้องการ และ OldName คือชื่อเก่าที่เราตั้งพลาดนะครับ
- อันนี้ต่อจากเปลี่ยนชื่อไอดีนะครับ เรามาเปลี่ยนชื่อเครื่องกันต่อ ทั้งสองอันนี้เครดิตของ เว็บนี้นะครับ มีสองคำสั่งนะครับให้เข้าไปแก้ชื่อเครื่องเดิมเป็นชื่อเครื่องใหม่ใน sudo nano /etc/hostname กับ sudo nano /etc/hosts นะครับ แล้ว sudo reboot เพื่อรีสตาร์ทเครื่องนะครับ แล้วเราก็จะได้เครื่องใหม่พร้อมไอดีใหม่ของเราแล้วนะครับ
- อันนี้เอาไว้แก้ชื่อ user + hostname ที่มันแสดงใน terminal นะครับ ใช้คำสั่ง export PS1=' NewName : ' นะครับ โดย NewName คืออะไรที่เราอยากจะให้มันแสดงผลแทนของเดิมนะครับ (เหตุที่ทำเพราะของเดิมมันยาวจนเกะกะนะครับ)
ความคิดเห็น
แสดงความคิดเห็น