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

chmod ใช้ในการเปลี่ยนสิทธิ์ในการอ่านเขียนและดำเนินการกับไฟล์ มันสามารถเปลี่ยนบิตสิทธิ์เหล่านี้สำหรับเจ้าของไฟล์เจ้าของกลุ่มของไฟล์และทุกคน นอกจากนี้ยังสามารถเปลี่ยน 'การอนุญาต' ที่ลึกลับยิ่งขึ้น (แอตทริบิวต์, reall) เช่น set-user-ID, set-group-ID และบิตเหนียว

2
วิธีการเปลี่ยนเจ้าของไดเรกทอรี
แก้ไข : ปัญหาคือแอปเปิ้ลใช้สิทธิ์ในการทำเครื่องหมายสำรองข้อมูลและป้องกันไม่ให้คุณแก้ไขพวกเขา (อาจเป็นคุณลักษณะด้านความปลอดภัย) โดยใช้chmod -RN <dir>ฉันลบข้อมูล ACL จากโฟลเดอร์ทั้งหมดที่มีข้อมูลสำคัญและนั่นทำให้ฉันสามารถทำให้ตัวเองเป็นเจ้าของและใช้สิทธิ์ที่เหมาะสม คำถามเดิม ฉันมีการสำรองข้อมูลที่มีขนาดใหญ่มาก (> 700GB) ที่ตอนนี้มีการอนุญาตที่ไม่ถูกต้อง (UID ของฉันเปลี่ยนไประหว่างการติดตั้งใหม่ทั้งหมด) และฉันต้องเปลี่ยนพวกเขา ตัวเลือกที่ใช้เวลานานคือการผ่านแต่ละโฟลเดอร์ด้วยตนเองและเปลี่ยนการอนุญาต แต่จะใช้เวลานาน ฉันต้องการใช้chownเพื่อทำให้ตัวเองเป็นเจ้าของข้อมูลสำคัญทั้งหมดของฉันแล้วใช้chmod 700ในโฟลเดอร์เหล่านั้นทั้งหมดเพื่อให้rwxสิทธิ์แก่ฉันเท่านั้น ทางออกที่ดีที่สุดคือวิธีการใช้findเพื่อค้นหาโฟลเดอร์ที่ตรงกับ regex ซ้ำ (อันปัจจุบันของฉัน.*/[DCV].*|Pictures|M[ou].*) แล้วทำให้ UID ของฉันเป็นเจ้าของและตั้งค่าการอนุญาตเป็น 700 บิตที่สำคัญที่ฉันไม่สามารถเข้าใจ: แต่เมื่อฉันพยายามที่จะเรียกฉันได้รับchown Me DirectoryNamechown: DirectoryName: Operation not permitted ทุกสิ่งที่ฉันค้นหาเกี่ยวข้องกับการเปลี่ยนการอนุญาตของไฟล์ไม่ใช่ไดเรกทอรี บางทีฉันอาจจะมองผิดวิธีนี้? มีบางอย่างบอกฉันว่าไม่มีวิธีให้ UID ของฉันrwxและ---แก่คนอื่น ฉันจะบรรลุสิ่งนี้ได้อย่างไร ฉันใช้ Mac OS X 10.10.3 ฉันรู้ว่านี้เป็นฟอรั่ม Unix …

4
เป็นกลุ่ม: สร้างไฟล์ด้วย + x บิต
มีวิธีใดบ้างในการตั้งค่า+xบิตของสคริปต์ขณะที่สร้าง ตัวอย่างเช่นฉันวิ่ง: vim -some_option_to_make_file_executable script.sh และหลังจากบันทึกฉันสามารถเรียกใช้ไฟล์โดยไม่ต้องย้ายใด ๆ เพิ่มเติม PS ฉันสามารถเรียกใช้chmodจากvimหรือแม้กระทั่งจากคอนโซลตัวเอง แต่มันน่ารำคาญเล็กน้อยเพราะvimแนะนำให้โหลดไฟล์ นอกจากนี้ยังเป็นเรื่องน่ารำคาญที่จะพิมพ์chmodคำสั่งทุกครั้ง PPS มันจะเป็นการดีที่จะทำให้มันขึ้นอยู่กับนามสกุลของไฟล์ (ฉันไม่ต้องการปฏิบัติการ.txt:-))


3
ฉันจะตรวจสอบกลุ่ม Apache ที่ฉันสามารถใช้เพื่อให้เว็บเซิร์ฟเวอร์เขียนได้อย่างไร
ฉันพยายามทำให้ Wordpress ทำงาน ฉันมีข้อความแสดงข้อผิดพลาด: Could not create directory. /var/www/html/wp-content/upgrade/theme_name เมื่อพยายามอัพโหลดธีม นี่คือการอนุญาตที่กำหนดให้/var/www/html/wp-content/upgrade/ drwxrwxr-x 3 ec2-user apache 4096 Jun 21 00:30 upgrade chmod 777 upgradeทำให้ข้อผิดพลาดหายไป แต่นั่นก็ไม่ถือว่าเป็นแนวปฏิบัติที่ดีที่สุด อย่างไรก็ตามฉันคิดว่ามันควรจะทำงานเช่นกัน ... ทำไมล่ะ? ฉันเดาว่าเว็บเซิร์ฟเวอร์อาจไม่รวมอยู่ในการอนุญาตข้างต้น ฉันควรใช้กลุ่มใดในการอนุญาตให้เว็บเซิร์ฟเวอร์เขียน (การตั้งค่าของฉันคือ Amazon EC2, Amazon Linux AMI พร้อม httpd)

2
เปลี่ยนการอนุญาตไฟล์ซ้ำ แต่ไม่ใช่ไดเรกทอรี?
ฉันทำการเปลี่ยนแปลงการอนุญาตซ้ำหลายครั้งของไฟล์บางไฟล์ที่ฉันย้ายไปยังระบบยูนิกซ์ ฉันเปลี่ยนเป็น ug + rw แต่ฉันพบว่าฉันไม่สามารถข้ามไดเรกทอรีย่อยได้ ฉันดูที่ man page สำหรับchmodและไม่เห็นคำอธิบายใด ๆ สำหรับการยกเว้นไดเรกทอรีดังนั้นฉันจึง googled เพียงเล็กน้อยและพบว่าผู้คนเคยfindเปลี่ยนสิทธิ์แบบเรียกซ้ำในไดเรกทอรีเป็น 'execute' สำหรับผู้ใช้และกลุ่ม ฉันทำอย่างนั้นและจากนั้นฉันสามารถตรวจสอบพวกเขา แต่สำหรับฉันแล้วฉันควรจะสามารถค้นพบสิ่งนี้ได้chmod- เปลี่ยนไฟล์ซ้ำเพื่ออ่าน / เขียน แต่ไม่ทำให้ไดเรกทอรีไม่สามารถย้อนกลับได้ ฉันได้ทำสิ่งนี้ 'ถูกต้อง' หรือมีวิธีที่ง่ายกว่าในการทำมันหรือไม่?

2
ความแตกต่างระหว่าง chmod กับ ACL
ฉันเข้าใจchmodและchownบิตการอนุญาตทำงานอย่างไร แต่มีระบบการอนุญาตอื่นภายใน Linux ACLด้วยsetfaclและgetfaclสิ่งนี้ทำให้ฉันสงสัย อะไรคือความแตกต่างระหว่างระบบควบคุมการอนุญาตทั้งสองระบบ พวกเขารบกวนซึ่งกันและกันหรือไม่?
13 linux  permissions  chmod  acl 

3
ให้สิทธิ์ PHP ในการเขียนไฟล์และโฟลเดอร์
อัปเดตสำหรับ CLARITY เพิ่มเติม: อ้างอิงจากhttp://expressionengine.com/user_guide/installation/installation.htmlก็กล่าวว่า: สำหรับโฮสต์ Unix ส่วนใหญ่ต่อไปนี้เป็นเรื่องปกติ แต่คุณสามารถตรวจสอบกับโฮสต์ของคุณเพื่อดูว่าสามารถใช้สิทธิ์ที่ จำกัด เพื่ออนุญาตให้ PHP เขียนไฟล์ (666) และโฟลเดอร์ (777)ได้หรือไม่ บนเซิร์ฟเวอร์ Windows ข้อมูลต่อไปนี้จะไม่นำมาใช้ แต่คุณจะต้องตรวจสอบให้แน่ใจว่า ExpressionEngine ไฟล์และโฟลเดอร์นั้นสามารถเขียนได้และไฟล์ คุณอาจต้องติดต่อโฮสต์ของคุณสำหรับสิ่งนี้ ไม่แน่ใจว่าสิ่งนี้หมายถึงอะไร ฉันสามารถเปลี่ยนไฟล์และโฟลเดอร์เฉพาะเป็น 666 และ 777 ตามลำดับที่ฉันเป็น chown'er แต่เสียงข้างต้นดูเหมือนว่าฉันต้องอนุญาตให้ PHP ทำเช่นนี้? คำถามเดิม: ฉันต้องการตรวจสอบให้แน่ใจว่า PHP สามารถเขียนไฟล์เฉพาะ (666) และโฟลเดอร์ (777) ฉันจะทำสิ่งนี้ได้อย่างไร
13 permissions  files  php  chmod 

1
จะ chmod 000 / dev / stdin ปิดการใช้งานสถานีตลอดไป?
ฉันทำงานผ่านคำถามจากUnix The Textbook (บทที่ 8, # 16, หน้า 207) : ให้chmodบรรทัดคำสั่งที่ทำงานเดียวกันกับที่mesg nและmesg yคำสั่งทำ (คำแนะนำ: อุปกรณ์ฮาร์ดแวร์ทุกชิ้นรวมถึงเทอร์มินัลของคุณมีไฟล์ที่เกี่ยวข้องใน/devไดเรกทอรี) ฉันเชื่อว่าคำตอบคือ: mesg n = chmod 770 /dev/stdout mesg y = chmod 777 /dev/stdout แต่ผมสงสัยว่าเกิดอะไรขึ้นถ้าคุณใช้chmod 000 /dev/stdin? คุณถูกล็อคไม่ให้ป้อนคำสั่งในเทอร์มินัลหรือไม่?

1
รากไม่สามารถ chmod?
ในแผนกของฉันเรามีไฟล์เซิร์ฟเวอร์ขนาดเล็กที่มี CentOS และ samba ฉันมีสิทธิ์ใช้งานรูทเพื่อให้สามารถทำการบำรุงรักษาเบื้องต้นได้ วันนี้ฉันกำลังสร้างโฟลเดอร์แบบอ่านอย่างเดียวดังนั้นฉันจึงไปข้างหน้าและทำ a chmod -R -w some-folder/แต่สำหรับไฟล์บางไฟล์ฉันได้รับคำตอบ: chmod: ./somefile.pdf: การอนุญาตใหม่คือ r-xrwxr-x ไม่ใช่ r-xr-xr-x หลังจากเพิ่ม-vฉันไม่ได้รับข้อมูลจำนวนมาก: โหมด `./somefile.pdf 'เก็บไว้ที่ 0575 (r-xrwxr-x) ฉันพยายามต่อไปนี้เพื่อให้แน่ใจว่า: # touch test-file # chmod -v -R -w . mode of `./somefile.pdf' retained as 0575 (r-xrwxr-x) chmod: ./somefile.pdf: new permissions are r-xrwxr-x, not r-xr-xr-x mode of …
12 chmod 

1
สิทธิ์ลิงก์สัญลักษณ์ไม่เปลี่ยนด้วย chmod
ฉันมีสิทธิ์เข้าถึงเครื่อง Linux ระยะไกลซึ่งทุกครั้งที่ฉันสร้างลิงค์สัญลักษณ์จะถูกสร้างขึ้นตามค่าเริ่มต้นด้วยสิทธิ์ต่อไปนี้: lrwxrwxrwx หากฉันพยายามเปลี่ยนการอนุญาตของลิงก์สัญลักษณ์ (เช่นไม่ใช่พา ธ ที่ชี้ไป) ใช้ตัวอย่างเช่น: chmod g-w my_symbolic_link chmodทำงานอย่างถูกต้อง (ไม่มีข้อความแสดงข้อผิดพลาด) แต่เมื่อฉันตรวจสอบการอนุญาตอีกครั้งพวกเขาจะยังคงเหมือนเดิม ( lrwxrwxrwx) ฉันกำลังรอฟังจากผู้ดูแลระบบของเครื่อง แต่ฉันสงสัยว่านี่เป็นพฤติกรรมปกติหรือไม่หรือเป็นสิ่งที่เฉพาะเจาะจงกับกล่อง

3
สิทธิ์ลินุกซ์ทำงานอย่างไรเมื่อกระบวนการทำงานเป็นกลุ่มเฉพาะ
นี่คือสิ่งที่ฉันไม่สามารถหาข้อมูลได้มากนักเพื่อช่วยในการชื่นชม ความเข้าใจของฉันจึง ใช้ไฟล์ต่อไปนี้: -rw-r----- 1 root adm 69524 May 21 17:31 debug.1 ผู้ใช้philไม่สามารถเข้าถึงไฟล์นี้: phil@server:/var/log$ head -n 1 debug.1 cat: debug.1: Permission denied หากphilถูกเพิ่มลงในadmกลุ่มสามารถ: root@server:~# adduser phil adm Adding user `phil' to group `adm' ... Adding user phil to group adm Done. phil@server:/var/log$ head -n 1 debug.1 May 21 11:23:15 server …

2
ใช้คำสั่ง chmod อย่างคัดเลือก
ฉันต้องการตั้งค่าการอนุญาต 755 ในทุกไฟล์และไดเรกทอรีย่อยภายใต้ไดเรกทอรีเฉพาะ แต่ฉันต้องการรัน chmod 755 เฉพาะสำหรับองค์ประกอบเหล่านั้นซึ่งไม่ได้รับอนุญาต 755 find /main_directory/ -exec chmod 755 {} \; หากfindคำสั่งส่งคืนรายการแบบยาวสิ่งนี้จะใช้เวลานาน ฉันรู้ว่าฉันสามารถใช้คำสั่ง stat เพื่อตรวจสอบการอนุญาตระดับไฟล์ Octal ของแต่ละองค์ประกอบจากนั้นใช้ if-else เพื่อสลับการอนุญาตไฟล์ แต่มีวิธีการบรรทัดเดียวที่ใช้findและxargsก่อนอื่นตรวจสอบสิทธิ์ไฟล์ / ไดเรกทอรีที่มี แล้วใช้chmodเพื่อเปลี่ยนเป็น 755 หากตั้งค่าเป็นอย่างอื่น

1
สิทธิ์ใดที่เราต้องการเรียกใช้ chmod คำสั่ง chown ในโฟลเดอร์ / รายการ
ฉันได้ใช้คำสั่ง chmod / chown เสมอในฐานะผู้ใช้ sudo แต่วันนี้ฉันสงสัยว่าถ้าฉันไม่ใช้ฉันต้องใช้sudoสิทธิ์ใดในการเรียกใช้chmod/chownคำสั่งบนโฟลเดอร์ / ไฟล์ ฉันได้ลองใช้คำถาม googling แต่ไม่มีอะไรโผล่ขึ้นมาคำตอบนั้นโดยเฉพาะคำถามนี้
9 linux  sudo  chmod  chown 

7
วิธีการเปลี่ยนการอนุญาตและกลุ่มเจ้าของไฟล์ในเวลาเดียวกัน
สำหรับการเปลี่ยนการอนุญาตไฟล์ฉันรู้ว่าฉันสามารถใช้ chmod ได้ สำหรับการเปลี่ยนเจ้าของกลุ่มฉันสามารถใช้ chgrp อย่างไรก็ตามหากฉันต้องการเปลี่ยนทั้งสิทธิ์และเจ้าของพร้อมกันคำสั่งใด ๆ ที่ฉันสามารถใช้บน Linux? ตัวอย่างเช่นมีไฟล์ที่มีสิทธิ์และเจ้าของ: -rw-r--r--+ 1 raymondtau staff 0 May 8 16:38 WantToChangeThisFile และตอนนี้ฉันต้องการเปลี่ยนเป็น: ---x-w--wx+ 1 raymondtau admin 0 May 8 16:38 WantToChangeThisFile ฉันรู้ว่าฉันสามารถใช้คำสั่งนี้: chmod 123 WantToChangeThisFile && chgrp admin WantToChangeThisFileแต่ต้องการทราบว่ามีวิธีที่เป็นระเบียบเรียบร้อยหรือไม่ในการทำเช่นนั้น
9 files  chmod  chown 

3
ฉันจะเปลี่ยน chmod บนไดเร็กตอรี่ etc ได้อย่างไร?
ฉันรันคำสั่งต่อไปนี้ในไดเร็กทอรี etc โดยไม่ได้ตั้งใจ: sudo chmod -R 700 /etc ฉันรู้ว่าฉันทำอะไรผิดไปมาก เทอร์มินัลของฉันพิมพ์: I have no name!@ubuntu: /$ ฉันจะเปลี่ยนไดเรกทอรี etc เป็นสถานะก่อนหน้าได้อย่างไร ฉันลองเปลี่ยนการอนุญาต แต่ตอนนี้มันล้มเหลว นอกจากนี้มันจะมีประโยชน์มากหากมีใครสามารถอธิบายสิ่งที่ผิดพลาดจริง ๆ เมื่อฉันเรียกใช้คำสั่งนั้นและเป็นสิทธิ์ของไฟล์เท่านั้น ถ้าเช่นนั้นทำไมระบบทั้งระบบจึงถูกลมพัดปลิวจนหมด? ทำไมตอนนี้ไม่มีรหัสผ่านสำหรับเข้าสู่ระบบทำงานอยู่? ฉันรู้ว่ามีไฟล์ในไดเรกทอรีอื่น ๆ ที่เกี่ยวข้องกับผู้ใช้ แต่การเปลี่ยนแปลงการอนุญาตทำให้เป็นอันตรายต่อทุกสิ่งได้อย่างไร รายละเอียดทางเทคนิคบางอย่างเกี่ยวกับสิ่งนี้จะมีประโยชน์มาก
9 linux  files  chmod 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.