Android

คำสั่ง Chown ใน linux (เป็นเจ้าของไฟล์)

Linux - Change Permissions and Ownership for Files and Folders (chmod, chown, members, groups )

Linux - Change Permissions and Ownership for Files and Folders (chmod, chown, members, groups )

สารบัญ:

Anonim

คำสั่ง chown ช่วยให้คุณสามารถเปลี่ยนผู้ใช้และ / หรือความเป็นเจ้าของกลุ่มของไฟล์ไดเรกทอรีหรือลิงก์สัญลักษณ์ที่กำหนด

ใน Linux ไฟล์ทั้งหมดจะเชื่อมโยงกับเจ้าของและกลุ่มและได้รับมอบหมายสิทธิ์การเข้าถึงสำหรับเจ้าของไฟล์สมาชิกกลุ่มและอื่น ๆ

ในบทช่วยสอนนี้เราจะแสดงวิธีใช้คำสั่ง chown ผ่านตัวอย่างการปฏิบัติ

วิธีใช้ chown

ก่อนที่จะเข้าสู่วิธีการใช้คำสั่ง chown เริ่มต้นด้วยการทบทวนไวยากรณ์พื้นฐาน

นิพจน์คำสั่ง chown ใช้แบบฟอร์มต่อไปนี้:

chown USER FILE(s)

USER เป็นชื่อผู้ใช้หรือ ID ผู้ใช้ (UID) ของเจ้าของใหม่ GROUP เป็นชื่อของกลุ่มใหม่หรือ group ID (GID) FILE(s) คือชื่อของไฟล์ไดเรกทอรีหรือลิงก์หนึ่งไฟล์หรือมากกว่า รหัสตัวเลขควรนำหน้าด้วยสัญลักษณ์ +

  • USER - หากระบุเฉพาะผู้ใช้ผู้ใช้ที่ระบุจะกลายเป็นเจ้าของไฟล์ที่กำหนดความเป็นเจ้าของกลุ่มจะไม่เปลี่ยนแปลง USER: - เมื่อชื่อผู้ใช้ตามด้วยเครื่องหมายโคลอน : และไม่ได้ระบุชื่อกลุ่มผู้ใช้จะกลายเป็นเจ้าของไฟล์และความเป็นเจ้าของกลุ่มไฟล์จะเปลี่ยนเป็นกลุ่มล็อกอินของผู้ใช้ USER:GROUP - หากระบุทั้งผู้ใช้และกลุ่ม (โดยไม่มีการเว้นวรรคระหว่างผู้ใช้) ความเป็นเจ้าของผู้ใช้ของไฟล์จะเปลี่ยนเป็นผู้ใช้ที่กำหนดและความเป็นเจ้าของกลุ่มจะเปลี่ยนเป็นกลุ่มที่กำหนด :GROUP - หากผู้ใช้ถูกละไว้และกลุ่มจะนำหน้าด้วยโคลอน : เฉพาะความเป็นเจ้าของกลุ่มของไฟล์จะเปลี่ยนเป็นกลุ่มที่กำหนด : หากมีเพียงโคลอน : จะได้รับโดยไม่ระบุผู้ใช้และกลุ่มจะไม่มีการเปลี่ยนแปลงใด ๆ

ตามค่าเริ่มต้นความสำเร็จ chown จะไม่สร้างผลลัพธ์ใด ๆ และส่งกลับค่าศูนย์

ใช้ ls -l เพื่อค้นหาว่าใครเป็นเจ้าของไฟล์หรือกลุ่มของไฟล์:

ls -l filename.txt

-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt |- | | | +-----------> Group +-------------------> Owner

เฉพาะผู้ใช้ root หรือผู้ใช้ที่มีสิทธิ์ sudo เท่านั้นที่สามารถเปลี่ยนความเป็นเจ้าของกลุ่มของไฟล์ได้

วิธีการเปลี่ยนเจ้าของไฟล์

ในการเปลี่ยนเจ้าของไฟล์ให้ใช้คำสั่ง chown ตามด้วยชื่อผู้ใช้ของเจ้าของใหม่และไฟล์เป้าหมายเป็นอาร์กิวเมนต์:

chown USER FILE

ตัวอย่างเช่นคำสั่งต่อไปนี้จะเปลี่ยนความเป็นเจ้าของไฟล์ชื่อ file1 เป็นเจ้าของใหม่ชื่อ linuxize :

chown linuxize file1

หากต้องการเปลี่ยนความเป็นเจ้าของไฟล์หรือไดเรกทอรีหลายรายการให้ระบุเป็นรายการที่คั่นด้วยช่องว่าง คำสั่งด้านล่างเปลี่ยนความเป็นเจ้าของไฟล์ชื่อ file1 และไดเรกทอรี dir1 เป็นเจ้าของใหม่ชื่อ linuxize :

chown linuxize file1 dir1

ID ผู้ใช้ที่เป็นตัวเลข (UID) สามารถใช้แทนชื่อผู้ใช้ ตัวอย่างต่อไปนี้จะเปลี่ยนความเป็นเจ้าของไฟล์ชื่อ file2 เป็นเจ้าของใหม่ด้วย UID 1000 :

chown 1000 file2

หากมีเจ้าของตัวเลขเป็นชื่อผู้ใช้กรรมสิทธิ์จะถูกโอนไปยังชื่อผู้ใช้ เพื่อหลีกเลี่ยงคำนำหน้านี้ ID ด้วย + :

chown 1000 file2

วิธีการเปลี่ยนเจ้าของและกลุ่มของไฟล์

ในการเปลี่ยนทั้งเจ้าของและกลุ่มของไฟล์ให้ใช้คำสั่ง chown ตามด้วยเจ้าของใหม่และกลุ่มที่คั่นด้วยโคลอน (:) โดยไม่มีการเว้นวรรคและไฟล์เป้าหมาย

chown USER:GROUP FILE

คำสั่งต่อไปนี้จะเปลี่ยนความเป็นเจ้าของไฟล์ชื่อ file1 เป็นเจ้าของใหม่ชื่อ linuxize และ users กลุ่ม:

chown linuxize:users file1

หากคุณไม่ใช้ชื่อกลุ่มหลังเครื่องหมายโคลอน (:) กลุ่มของไฟล์จะถูกเปลี่ยนเป็นกลุ่มเข้าสู่ระบบของผู้ใช้ที่ระบุ:

chown linuxize: file1

วิธีการเปลี่ยนกลุ่มของไฟล์

ในการเปลี่ยนเฉพาะกลุ่มไฟล์ให้ใช้คำสั่ง chown ตามด้วยโคลอน (:) และชื่อกลุ่มใหม่ (โดยไม่มีช่องว่างระหว่างกัน) และไฟล์เป้าหมายเป็นอาร์กิวเมนต์:

chown:GROUP FILE

คำสั่งต่อไปนี้จะเปลี่ยนกลุ่มการเป็นเจ้าของไฟล์ชื่อ file1 เป็น www-data :

chown:www-data file1

คำสั่งอื่นที่คุณสามารถใช้เพื่อเปลี่ยนความเป็นเจ้าของกลุ่มของไฟล์คือ chgrp

วิธีการเปลี่ยนความเป็นเจ้าของลิงค์สัญลักษณ์

เมื่อไม่ใช้ตัวเลือกการเรียกซ้ำคำสั่ง chown จะเปลี่ยนความเป็นเจ้าของกลุ่มของไฟล์ที่ symlink ชี้ไม่ใช่ลิงก์สัญลักษณ์เอง

ตัวอย่างเช่นหากคุณพยายามเปลี่ยนเจ้าของและกลุ่มของสัญลักษณ์ลิงค์ symlink1 ที่ชี้ไปที่ /var/www/file1 chown จะเปลี่ยนความเป็นเจ้าของไฟล์หรือไดเรกทอรีที่ symlink ชี้ไปที่:

chown www-data: symlink1

โอกาสที่จะเปลี่ยนความเป็นเจ้าของเป้าหมายคุณจะได้รับข้อผิดพลาด“ ไม่สามารถอ้างอิงได้ 'symlink1': ปฏิเสธการอนุญาต”

ข้อผิดพลาดเกิดขึ้นเนื่องจากโดยค่าเริ่มต้นบน symlink การกระจาย Linux ส่วนใหญ่ได้รับการคุ้มครองและคุณไม่สามารถทำงานกับไฟล์เป้าหมายได้ ตัวเลือกนี้มีการระบุไว้ใน /proc/sys/fs/protected_symlinks 1 หมายถึงเปิดใช้งานและปิดใช้งาน 0 เราไม่แนะนำให้ปิดการใช้งานการป้องกัน symlink

ในการเปลี่ยนความเป็นเจ้าของกลุ่มของ symlink ให้ใช้ตัวเลือก -h :

chown -h www-data symlink1

วิธีการเปลี่ยนความเป็นเจ้าของไฟล์ซ้ำ

ในการเรียกใช้ซ้ำบนไฟล์และไดเรกทอรีทั้งหมดภายใต้ไดเรกทอรีที่กำหนดให้ใช้ตัวเลือก -R ( --recursive ):

chown -R USER:GROUP DIRECTORY

ตัวอย่างต่อไปนี้จะเปลี่ยนความเป็นเจ้าของไฟล์และไดเรกทอรีย่อยทั้งหมดภายใต้ไดเรกทอรี /var/www เป็นเจ้าของและกลุ่มใหม่ชื่อ www-data :

chown -R www-data: /var/www

หากไดเรกทอรีมีลิงก์สัญลักษณ์ผ่านตัวเลือก -h :

chown -hR www-data: /var/www

ตัวเลือกอื่น ๆ ที่สามารถใช้เมื่อเปลี่ยนความเป็นเจ้าของไดเรกทอรีซ้ำคือ -H และ -L

หากอาร์กิวเมนต์ที่ส่งไปยังคำสั่ง chown เป็นลิงก์สัญลักษณ์ที่ชี้ไปยังไดเร็กทอรีอ็อพชัน -H จะทำให้คำสั่งสำรวจผ่าน -L บอกให้ chown สำรวจแต่ละลิงก์สัญลักษณ์ไปยังไดเร็กทอรีที่พบ โดยปกติแล้วคุณไม่ควรใช้ตัวเลือกเหล่านี้เพราะคุณอาจทำให้ระบบของคุณสับสนหรือสร้างความเสี่ยงด้านความปลอดภัย

การใช้ไฟล์อ้างอิง

ตัวเลือก --reference=ref_file ช่วยให้คุณเปลี่ยนความเป็นเจ้าของผู้ใช้และกลุ่มของไฟล์ที่กำหนดให้เหมือนกับไฟล์อ้างอิงที่ระบุ ( ref_file ) หากไฟล์อ้างอิงเป็นลิงค์สัญลักษณ์ chown จะใช้ผู้ใช้และกลุ่มของไฟล์เป้าหมาย

chown --reference=REF_FILE FILE

ตัวอย่างเช่นคำสั่งต่อไปนี้จะกำหนดผู้ใช้และกลุ่มความเป็นเจ้าของของ file1 ให้กับ file2

chown --reference=file1 file2

ข้อสรุป

chown เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่ง Linux / UNIX สำหรับเปลี่ยนผู้ใช้และ / หรือความเป็นเจ้าของกลุ่มของไฟล์

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่ง chown โปรดไปที่หน้า man chown หรือพิมพ์ man chown ในเทอร์มินัลของคุณ

อาคารผู้โดยสาร