เป็นไปได้หรือไม่ที่จะ chown ไฟล์ตาม UID ที่เป็นตัวเลขให้กับผู้ใช้ที่ยังไม่มีอยู่?


19

ตัวอย่างเช่นสำหรับการจัดการดิสก์พาร์ติชันสำหรับระบบอื่นที่มีผู้ใช้อยู่ ฉันรู้ว่าฉันสามารถสร้างผู้ใช้ชั่วคราว แต่ฉันพบว่าคำถามนี้น่าสนใจ

คำตอบ:


22

ใช่คุณสามารถchownใช้ UID ที่เป็นตัวเลขซึ่งไม่มีผู้ใช้ที่เกี่ยวข้องได้


ผมทดสอบก่อนที่ผมจะถามว่า: ผลตอบแทนchown \#1005 file chown: invalid user: ‘#1005’
glarry

5
อย่าใช้ octothorpe; มันไม่ใช่ตัวเลข sudo chown 1005 /path/to/fileเพียงแค่ใช้จำนวนเช่น
DopeGhoti

ตามตรรกะนี้sudoคิดว่าเป็นตัวเลข นอกจากนี้ยังคิดว่ากลุ่มตัวเลขที่ไม่ได้ขึ้นต้นด้วยเครื่องหมายตัวเลขไม่ใช่ตัวเลข :)
glarry

1
ฉันพยายามครั้งแรกchown 1005 fileโดยวิธีการ มันใช้งานไม่ได้ด้วยเหตุผลที่ไม่เกี่ยวข้อง แต่ฉันตำหนิมันในเครื่องหมายหมายเลขที่หายไป อย่างน้อยคุณจะต้องใช้อย่าง./fileชัดเจนเพื่อให้ chown สามารถบอกได้ว่าหนึ่งในสองนั้นคือผู้ใช้ เพียงเพื่อให้คุณ (ผู้อ่าน) รู้
glarry

2
@glarry ./ฉันไม่ได้มีการใช้งาน เป็นชื่อไฟล์จริงfileเหรอ?
Hauke ​​Laging

11

chown UID:GID fileName สามารถทำได้ทั้งกับตัวเลขหรือชื่อผู้ใช้หรือชื่อกลุ่ม

เช่นchown 1000:1000 dirnameถูกต้อง

คุณอาจต้องรีเซ็ตสิทธิ์ไดเรกทอรีด้วยchmod 755เช่นหลังจากทำเพื่อให้สามารถเข้าถึงได้

คำแนะนำ

  • คุณสามารถตรวจสอบ ID ผู้ใช้ด้วย id someUsername
  • คุณสามารถตรวจสอบ ID กลุ่มด้วย gid someUsername
  • คุณสามารถเปลี่ยนการอนุญาตในไดเรกทอรีที่มีเท่านั้น find someLocation -type d -exec chown 1000:1000 {} \;

การใช้ตัวแปรchown -R $HOST_USER_ID:$HOST_GROUP_ID /usr/bin/mariadb/install/dataช่วยให้ฉันมีข้อผิดพลาดchown: invalid spec: '1000:'`Lubuntu 16/04
Stephane

ฉันสามารถแก้ไขปัญหานี้ได้โดยทำสองคำสั่งที่ต่างกันchown -R $HOST_USER_ID /usr/bin/mariadb/install/data; chgrp -R $HOST_GROUP_ID /usr/bin/mariadb/install/data;
เตฟาน

@Stephane UID และ GID ของคุณจะต้องเป็นหมายเลขกลุ่ม / รหัสที่คุณต้องการเปลี่ยนและถูกกำหนดไว้ใน/etc/groupและ/etc/passwdหรือโดยระบบอื่นเช่น ldap คุณสามารถอ้างถึงคำสั่งเช่น gentent เพื่อให้มีข่าวสารเพิ่มเติมเกี่ยวกับเรื่องนั้น
Philippe Gachoud
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.