คำถามติดแท็ก chown

เชลล์คำสั่ง chown ของระบบปฏิบัติการที่คล้าย Unix (เช่น GNU / Linux) ใช้เพื่อเปลี่ยนเจ้าของไฟล์เฉพาะ

3
วิธีการ chown / chmod ไฟล์ทั้งหมดในไดเรกทอรีปัจจุบัน?
ฉันพยายามเปลี่ยนความเป็นเจ้าของและการอนุญาตของบางไฟล์ (และไดเรกทอรี) ในไดเรกทอรีปัจจุบัน ฉันลองสิ่งนี้: chown username:groupname . ... คาดหวังว่ามันจะส่งผลกระทบต่อไฟล์ทั้งหมดในไดเรกทอรีปัจจุบัน แต่เพียงส่งผลกระทบต่อไดเรกทอรีที่ฉันอยู่ (ซึ่งตรงกันข้ามกับสิ่งที่ฉันต้องการจะทำ) ฉันต้องการเปลี่ยนมันในไฟล์ทั้งหมดโดยไม่ส่งผลกระทบต่อไดเรกทอรีปัจจุบันที่ฉันเป็น ฉันจะ chown และ chmod ไฟล์ทั้งหมดในไดเรกทอรีปัจจุบันได้อย่างไร
56 linux  chmod  chown 

2
อนุญาตให้ผู้ใช้เฉพาะได้รับอนุญาตให้อ่าน / เขียนโฟลเดอร์ของฉัน
ฉันมีโฟลเดอร์ที่ฉันต้องการจะร่วมกับผู้ใช้/home/samantha/folder tomเขาสามารถอ่าน / เขียนโฟลเดอร์ ฉันจะทำอย่างไร chownจะไม่ทำเพราะฉันยังต้องการเป็นเจ้าของโฟลเดอร์ ฉันไม่เห็นวิธีการทำเช่นนี้กับchmodอย่างใดอย่างหนึ่ง


3
การสร้างไฟล์และไดเรกทอรีด้วยเจ้าของ (ผู้ใช้ / กลุ่ม) ในขณะที่ sudoing
ฉันต้องการwgetบางสิ่งบางอย่าง (ส่งผลให้ไฟล์บีบอัดใน cwd) จากนั้นฉันต้องแยกมันแล้วทำบางสิ่งที่คัดลอก / ย้าย / แก้ไขและในที่สุดก็อาจเรียกใช้สคริปต์ (จากไฟล์เก็บถาวรที่ดาวน์โหลด) ตอนนี้งานทั้งหมดเหล่านี้โดยตรง ( wgetแยก ฯลฯ ) หรือทางอ้อม (เรียกใช้สคริปต์) ส่งผลในการสร้างไฟล์และไดเรกทอรี (ทั้งหมดในไดเรกทอรีการทำงานปัจจุบัน) ฉันทำทุกสิ่งนี้เป็นroot(ไม่มีวิธีที่จะทำกับผู้ใช้ขั้นสุดท้ายที่ต้องการ) ปัญหาคือ: สิ่งใดก็ตามที่สร้างขึ้นในกระบวนการเป็นเจ้าของโดยผู้ใช้รูทหรือ sudo เมื่อฉันทำ (และบางครั้งในช่วงกลางทาง) ฉันต้องออกชุดchmodและchownคำสั่งเพื่อทำสิ่งที่ถูกต้อง ตอนนี้มันจะดีถ้าอย่างใดสามารถบอกระบบว่า "จากนี้ไปไฟล์หรือ dirs ใด ๆ ที่คุณสร้างเมื่อฉันออกคำสั่งเป็น root คุณจะสร้างด้วยความเป็นเจ้าของและสิทธิ์ดังกล่าว"

4
ทำไมผู้ใช้ที่ไม่มีสิทธิพิเศษไม่สามารถเปลี่ยนความเป็นเจ้าของไฟล์ได้
จาก chown (2): เฉพาะกระบวนการที่ได้รับสิทธิพิเศษ (Linux: หนึ่งที่มีความสามารถ CAP_CHOWN) อาจเปลี่ยนเจ้าของไฟล์ เจ้าของไฟล์อาจเปลี่ยนกลุ่มของไฟล์เป็นกลุ่มใดก็ได้ที่เจ้าของนั้นเป็นสมาชิก กระบวนการพิเศษ (Linux: with CAP_CHOWN) อาจเปลี่ยนกลุ่มโดยไม่ได้ตั้งใจ อะไรคือเหตุผลของข้อ จำกัด นี้? ทำไมผู้ใช้ที่ไม่มีสิทธิพิเศษไม่สามารถเปลี่ยนความเป็นเจ้าของไฟล์ของไฟล์ที่เป็นเจ้าของ (เช่น no / etc / shadow) $ touch blah $ chown root:root blah chown: changing ownership of `blah': Operation not permitted
15 linux  chown 

3
Transmission-daemon ไม่เก็บค่าในไดเร็กทอรี watch
พยายามรับส่ง -demon ของฉันเพื่อรับไฟล์จากโฟลเดอร์ดรอปบ็อกซ์เพื่อให้การเริ่มต้นจากระยะไกลง่ายขึ้น (เป็นระบบที่ไม่มีหัว) เท่าที่ฉันสามารถบอกได้ไฟล์ settings.json เป็นไปตามที่คาดไว้ แต่ไม่มีไฟล์ใดที่ฉันวางในโฟลเดอร์ ฉันตรวจสอบแล้วว่าดรอปบ็อกซ์กำลังซิงค์อย่างถูกต้อง นี่คือไฟล์ settings.json ทั้งหมดแต่บรรทัดที่เกี่ยวข้องรวมอยู่ด้านล่าง: "watch-dir": "/home/john/Dropbox/torrents", "watch-dir-enabled": true ปรับปรุง ดูเหมือนจะเป็นปัญหาการอนุญาต จาก / var / log / syslog: Unable to watch "/home/john/Dropbox/torrents": Permission denied (watch.c:79) ฉันลองหยุดใช้ daemon -> sudo service transmission-daemon stop-> การเปลี่ยนการอนุญาตของโฟลเดอร์โดยใช้ chown -> sudo chown -R john /home/john/Dropbox/torrents-> restart daemon ->sudo …

3
จะทำให้ไฟล์สามารถแก้ไขได้โดยผู้ใช้สองคนในกลุ่มต่างกันได้อย่างไร?
ฉันมีโฟลเดอร์ที่/home/www/และเป็นเจ้าของwwwซึ่งเป็นส่วนหนึ่งของwww-Group ฉันมีผู้ใช้คนอื่นjohnเป็นส่วนหนึ่งของjohnกลุ่ม ฉันchown /home/www/จะทำให้มันเขียนได้โดยทั้งสองwwwและjohn? ขอบคุณ

2
เปลี่ยนการอนุญาตเริ่มต้นสำหรับไฟล์และโฟลเดอร์ใหม่
ทุกครั้งที่ฉันสร้างไฟล์หรือโฟลเดอร์ใหม่ใน Linux มันสามารถเข้าถึงได้ด้วยตัวเองไม่ใช่กลุ่ม ฉันต้องการเปลี่ยนการตั้งค่าระบบของฉันเพื่อให้ทุกกลุ่มไฟล์หรือโฟลเดอร์ใหม่สามารถเข้าถึงได้โดยอัตโนมัติ มีอีกไหม

2
ต้อง chown เสมอเมื่อเพิ่มไฟล์ใหม่? Centos 6
เมื่อใดก็ตามที่ฉันอัปโหลดไฟล์ใหม่ไปยังเซิร์ฟเวอร์ของฉันฉันต้องchown -R apache:apache /dirเพื่อให้สามารถเข้าถึงได้ มีวิธีที่ง่ายกว่านี้ไหม?

1
ไม่สามารถเปลี่ยนการอนุญาตของโฟลเดอร์ใน FAT32 partition-Mac OSX
มีฮาร์ดไดรฟ์ภายนอกซึ่งมีสองพาร์ติชัน: Mac OSX Extended Journaled MS-DOS FAT โดยทั่วไปถ้าฉันเลือกรับข้อมูลสำหรับไฟล์ / โฟลเดอร์ใด ๆ ในพาร์ติชัน FAT ไม่มีตัวเลือกในการเปลี่ยนการอนุญาตภายใต้ส่วนการแชร์และการอนุญาต นอกจากนี้เมื่อฉันพยายามที่จะ chmod หรือ chmod ไฟล์ / โฟลเดอร์ใน terminal คำสั่งที่ดูเหมือนว่าจะทำงาน แต่เมื่อฉันลอง ls -l ในไฟล์ / โฟลเดอร์มันจะปรากฏขึ้นคำสั่งไม่ได้ทำอะไรเลย ได้โปรดช่วยใครซักคนที่ฉันต้องการแก้ไขสิทธิ์ของโฟลเดอร์เพื่อเริ่มเซิร์ฟเวอร์ฐานข้อมูลของฉัน

1
สคริปต์ขอรหัสผ่านรูทแม้ว่าจะมีสิทธิ์อนุญาตสำหรับทุกคน
ฉันมีสคริปต์ชื่อ "somescript" ซึ่งมีสิทธิ์อนุญาตสำหรับทุกคน (755) แต่เมื่อฉันพยายามเรียกใช้กับผู้ใช้ที่ไม่ใช่รูทมันจะถามรหัสผ่านรูท ฉันได้ลองตั้งค่าเป็น 4755 โดยไม่มีโชค ผู้ใช้ผู้ดูแลระบบและผู้ใช้ที่มีรหัสผ่านรูทเท่านั้นจึงจะเรียกใช้สคริปต์ได้ในขณะนี้ ฉันจะสร้างมันขึ้นมาได้อย่างไรเพื่อให้ผู้ใช้สามารถเรียกใช้สคริปต์ (แต่ไม่สามารถเปลี่ยนแปลงได้) -rwxr-xr-x 1 root group1 2841 Jul 8 2014 somescript user@node:~> somescript root's password: แก้ไข: หลังจาก tring Setuid และ Setgid และเห็นพวกเขาไม่ทำงานฉันตรวจสอบมากขึ้นผ่านสคริปต์และพบว่าสคริปต์กำลังตรวจสอบหารูทชื่อผู้ใช้หากไม่ดำเนินการผ่าน sudo ซึ่งบังคับให้ใช้รหัสผ่านรูท การแสดงความคิดเห็นสคริปต์นี้ควรทำให้มันทำงานผ่านการตั้งค่า setuid เนื่องจากเจ้าของเป็นรูท if [ "$uid" != "root" ] then exec sudo /someplace/somescript else
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.