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

ในการคำนวณสิทธิ์ (มักเรียกว่า "สิทธิ์" "สิทธิ์การเข้าถึง" หรือเพียงแค่ "สิทธิ") เป็นกฎที่เกี่ยวข้องกับวัตถุบนคอมพิวเตอร์หรือเครือข่าย การอนุญาตกำหนดว่าวัตถุใดที่สามารถเข้าถึงวัตถุและขอบเขต

6
ไฟล์ / โฟลเดอร์เว็บไซต์ของฉันควรได้รับการอนุญาตบนเว็บเซิร์ฟเวอร์ Linux?
นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับการอนุญาตไฟล์ในเว็บเซิร์ฟเวอร์ Linux ฉันมีเว็บเซิร์ฟเวอร์ Linux ที่ใช้ Apache2 ซึ่งโฮสต์เว็บไซต์หลายแห่ง แต่ละเว็บไซต์มีโฟลเดอร์ของตัวเองใน / var / www / /var/www/contoso.com/ /var/www/contoso.net/ /var/www/fabrikam.com/ ไดเรกทอรีฐาน / var / www / เป็นของ root: root Apache ทำงานเป็น www-data: www-data เว็บไซต์ Fabrikam ดูแลโดยสองนักพัฒนาคืออลิซและบ๊อบ ทั้งเว็บไซต์ Contoso ได้รับการดูแลโดยนักพัฒนาซอฟต์แวร์หนึ่งคน เว็บไซต์ทั้งหมดอนุญาตให้ผู้ใช้อัปโหลดภาพ หากเว็บไซต์ถูกบุกรุกผลกระทบควรมี จำกัด มากที่สุด ฉันต้องการทราบวิธีที่ดีที่สุดในการตั้งค่าการอนุญาตเพื่อให้ Apache สามารถให้บริการเนื้อหาเว็บไซต์นั้นปลอดภัยจากการโจมตีและนักพัฒนายังคงสามารถเปลี่ยนแปลงได้ หนึ่งในเว็บไซต์มีโครงสร้างดังนี้: /var/www/fabrikam.com /cache /modules /styles /uploads /index.php ควรตั้งค่าการอนุญาตในไดเรกทอรีและไฟล์เหล่านี้อย่างไร? …

2
เหตุใดจึงเป็น "chmod -R 777 /" การทำลาย
นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับการอนุญาตของไฟล์และทำไม 777 ถึงเป็น "การทำลายล้าง" ฉันไม่ได้ถามว่าจะแก้ไขปัญหานี้ได้อย่างไรเนื่องจากมีการอ้างอิงจำนวนมากใน Server Fault แล้ว (ติดตั้งระบบปฏิบัติการใหม่) ทำไมมันถึงทำสิ่งใดทำลายได้ทั้งหมด? หากคุณเคยรันคำสั่งนี้คุณจะทำลายระบบปฏิบัติการของคุณทันที ฉันไม่ชัดเจนว่าทำไมการลบข้อ จำกัด มีผลกระทบต่อกระบวนการที่มีอยู่ ตัวอย่างเช่นถ้าฉันไม่ได้อ่านการเข้าถึงบางสิ่งบางอย่างและหลังจากพิมพ์ผิด ๆ ในเทอร์มินัลในทันใดฉันก็สามารถเข้าถึงได้อย่างดีแล้ว ... ทำไมลินุกซ์ถึงพังล่ะ?
255 linux  permissions  chmod 

10
ฉันจะแชร์ที่เก็บ Git กับผู้ใช้หลายคนบนเครื่องได้อย่างไร
ฉันมีที่เก็บ Git บนเซิร์ฟเวอร์จัดเตรียมซึ่งนักพัฒนาหลายคนต้องสามารถดึงไปได้ git-initดูเหมือนว่าจะมีการตั้งค่าสถานะใกล้เคียงกับสิ่งที่ฉันกำลังมองหา: --sharedยกเว้นฉันต้องการให้หลาย ๆ คนดึงไปยังที่เก็บนั้นเช่นกัน git-clone's --sharedธงทำบางสิ่งที่แตกต่างอย่างสิ้นเชิง วิธีที่ง่ายที่สุดในการเปลี่ยนการอนุญาตของพื้นที่เก็บข้อมูลที่มีอยู่คืออะไร?
216 permissions  git  users  share 

2
Apache“ ต้องได้รับทุกสิ่งที่ได้รับ” ทำอะไรจริงๆ?
ฉันเพิ่งอัปเดตเซิร์ฟเวอร์ Apache เป็น Apache / 2.4.6 ซึ่งทำงานภายใต้ Ubuntu 13.04 ฉันเคยมีไฟล์ vhost ที่มีต่อไปนี้: <Directory "/home/john/development/foobar/web"> AllowOverride All </Directory> แต่เมื่อฉันวิ่งที่ฉันได้รับ "ต้องห้ามคุณไม่ได้รับอนุญาตให้เข้าถึง /" หลังจากทำ googling เล็กน้อยฉันพบว่าการทำให้ไซต์ของฉันทำงานอีกครั้งฉันต้องเพิ่มบรรทัดต่อไปนี้ "ต้องได้รับอนุญาตทั้งหมด" เพื่อให้ vhost ของฉันมีลักษณะดังนี้: <Directory "/home/john/development/foobar/web"> AllowOverride All Require all granted </Directory> ฉันต้องการทราบว่านี่คือ "ปลอดภัย" และไม่นำปัญหาด้านความปลอดภัยใด ๆ ฉันอ่านในหน้าของ Apache ว่า "เลียนแบบการทำงานของคำสั่ง 'อนุญาตจากทุกคน' และ 'ปฏิเสธจากทุกคน' ก่อนหน้านี้ผู้ให้บริการนี้สามารถใช้หนึ่งในสองอาร์กิวเมนต์ที่ 'อนุญาต' หรือ 'ถูกปฏิเสธ' …

5
Amazon Cloudfront พร้อม S3 ปฏิเสธการเข้าใช้
เราพยายามแจกจ่าย S3 S3 ผ่าน Cloudfront แต่ด้วยเหตุผลบางอย่างคำตอบเดียวคือเอกสาร AccessDenied XML ดังต่อไปนี้: <Error> <Code>AccessDenied</Code> <Message>Access Denied</Message> <RequestId>89F25EB47DDA64D5</RequestId> <HostId>Z2xAduhEswbdBqTB/cgCggm/jVG24dPZjy1GScs9ak0w95rF4I0SnDnJrUKHHQC</HostId> </Error> นี่คือการตั้งค่าที่เราใช้: และนี่คือนโยบายสำหรับที่เก็บข้อมูล { "Version": "2008-10-17", "Id": "PolicyForCloudFrontPrivateContent", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity *********" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::x***-logos/*" } ] }


14
มีอะไรผิดปกติกับการเป็นคนรากเสมอ?
ฉันมีความรู้สึกว่านี่เป็นคำถามที่งี่เง่า แต่นี่เป็นสิ่งที่ฉันสงสัยมานานแล้ว ฉันมี VPS และนี่เป็นกิจการลินุกซ์ครั้งใหญ่ของฉัน ฉันเป็นคนเดียวที่สามารถเข้าถึงได้ คำถามของฉันคือมีอะไรผิดปกติเพียงแค่เข้าสู่ระบบในฐานะ root เมื่อเทียบกับการสร้างบัญชีและให้พวกเขาเข้าถึง sudo? หาก sudoer สามารถทำทุกอย่างได้รูทแล้วอะไรคือความแตกต่าง? หากแฮ็กเกอร์สามารถถอดรหัสรหัสผ่านของฉันให้เป็นบัญชีมาตรฐานที่ไม่ใช่รูทของฉันเขาสามารถเรียกใช้คำสั่ง sudo ได้เช่นกันแฮ็กเกอร์ที่ถอดรหัสบัญชีรูทของฉันมีความสำคัญมากน้อยเพียงใด
83 linux  ssh  permissions 

16
เหตุใดคำสั่ง sudo จึงใช้เวลานานในการดำเนินการ
ฉันได้รับลีนุกซ์ (Fedora 10, จากนั้น 11) ในช่วงไม่กี่เดือนที่ผ่านมา (และสนุกกับมันอย่างมหาศาล - มันเหมือนกับการค้นพบคอมพิวเตอร์อีกครั้ง, เรียนรู้มากมาย) ฉันได้เพิ่มผู้ใช้ของฉันในบรรทัดสุดท้ายของไฟล์ / etc / sudoers ดังที่แสดงไว้ด้านล่างเพื่อที่ฉันจะไม่ถูกถามรหัสผ่านเมื่อฉันใช้คำสั่ง sudo: MyUserName ALL = (ALL) NOPASSWD: ALL ตอนนี้ทุกครั้งที่ฉันรันคำสั่งโดยใช้ sudo มันจะหยุดช่วงเวลาที่สังเกตได้ยากก่อนที่จะทำงานจริง (~ 10 วินาที) เหตุใดจึงเป็นเช่นนี้และฉันจะแก้ไขได้อย่างไร ฉันใช้ Sudo เวอร์ชั่น 1.7.1 บน Fedora 11 x86 64

2
ฉันจะแสดงสิทธิ์ของผู้ใช้ใน MySQL ได้อย่างไร
ฉันรู้ว่าฉันสามารถตั้งค่าสิทธิ์ของผู้ใช้ด้วยวิธีง่ายๆดังต่อไปนี้: grant all on [database name].[table name] to [user name]@[host name]; แต่ฉันจะดูสิทธิพิเศษที่มีอยู่ได้อย่างไร ฉันต้องการดูข้อมูลที่คล้ายกับที่ใช้ในการให้สิทธิ์ ในคำอื่น ๆ ฉันต้องการทราบว่าผู้ใช้ที่กำหนดมีการเข้าถึงตารางที่กำหนดของฐานข้อมูลที่กำหนดจากโฮสต์ที่กำหนด ฉันจะรับมันได้อย่างไร

7
วิธีการตั้งค่าการอนุญาต linux สำหรับโฟลเดอร์ WWW?
อัปเดตข้อมูลสรุป ไดเรกทอรี / var / www เป็นเจ้าของroot:rootซึ่งหมายความว่าไม่มีใครสามารถใช้งานได้และไม่มีประโยชน์อย่างสิ้นเชิง เนื่องจากเราทุกคนต้องการเว็บเซิร์ฟเวอร์ที่ใช้งานได้จริง (และไม่มีใครควรเข้าสู่ระบบในฐานะ "รูท") ดังนั้นเราจึงต้องแก้ไขปัญหานี้ มีเพียงสองหน่วยงานเท่านั้นที่ต้องมีการเข้าถึง PHP / Perl / Ruby / Pythonทุกคนต้องการการเข้าถึงโฟลเดอร์และไฟล์เนื่องจากมันสร้างขึ้นมาจำนวนมาก (เช่น/uploads/) ภาษาสคริปต์เหล่านี้ควรทำงานภายใต้ nginx หรือ apache (หรือแม้แต่สิ่งอื่น ๆ เช่น FastCGI สำหรับ PHP) นักพัฒนา พวกเขาเข้าถึงได้อย่างไร ฉันรู้ว่ามีบางคนเคยทำสิ่งนี้มาก่อน ด้วยเว็บไซต์ที่มีอยู่หลายพันล้านแห่งคุณคิดว่าจะมีข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อนี้ ฉันรู้ว่า 777 เต็มสิทธิ์อ่าน / เขียน / ดำเนินการสำหรับเจ้าของ / กลุ่ม / อื่น ๆ ดังนั้นจึงไม่จำเป็นต้องแก้ไขให้ถูกต้องเนื่องจากจะให้สิทธิ์แบบเต็มแก่ผู้ใช้ ต้องใช้การอนุญาตอะไรบ้าง/var/wwwเพื่อให้: การควบคุมแหล่งที่มาเช่น git …

4
ฉันจะให้สิทธิ์เริ่มต้น / หยุด / รีสตาร์ทบนบริการแก่ผู้ใช้หรือกลุ่มบนเซิร์ฟเวอร์ที่ไม่ใช่โดเมนสมาชิกได้อย่างไร
เรามีชุดบริการ Windows ที่ทำงานบนเซิร์ฟเวอร์ของเราซึ่งทำงานหลายอย่างอัตโนมัติโดยไม่ขึ้นอยู่กับข้อยกเว้นของบริการหนึ่งที่ดูแลบริการอื่น ๆ ในกรณีที่หนึ่งในบริการไม่สามารถตอบสนองหรือหยุดบริการนี้พยายามเริ่มบริการใหม่และหากมีข้อผิดพลาดเกิดขึ้นระหว่างการพยายามส่งอีเมลถึงทีมสนับสนุนแทนเพื่อให้สามารถเริ่มบริการได้เอง หลังจากทำวิจัยเล็กน้อยฉันได้พบ 'โซลูชัน' ไม่กี่อันที่มีตั้งแต่วิธีแก้ปัญหาที่กล่าวถึงในKB907460ไปจนถึงการให้บัญชีภายใต้บริการที่ใช้สิทธิ์ของผู้ดูแลระบบ ฉันไม่พอใจกับวิธีการเหล่านี้อย่างใดอย่างหนึ่ง - ฉันไม่เข้าใจผลที่ตามมาของวิธีแรกตามที่อธิบายไว้ในบทความฐานความรู้ของ Microsoft แต่ฉันไม่ต้องการให้สิทธิ์ผู้ดูแลระบบในการเข้าใช้งานบัญชีซึ่งบริการกำลังทำงานอยู่ . ฉันได้ดูอย่างรวดเร็วผ่านนโยบายความปลอดภัยในพื้นที่และนอกเหนือจากนโยบายที่กำหนดว่าบัญชีสามารถเข้าสู่ระบบเป็นบริการได้หรือไม่ฉันไม่เห็นสิ่งอื่นซึ่งดูเหมือนว่าหมายถึงบริการ เรากำลังใช้งานบน Server 2003 และ Server 2008 ดังนั้นความคิดหรือตัวชี้จะได้รับอย่างสง่างาม! ชี้แจง:ฉันไม่ต้องการที่จะให้ความสามารถในการเริ่ม / หยุด / เริ่มต้นบริการทั้งหมดให้กับผู้ใช้หรือกลุ่ม - ฉันต้องการที่จะสามารถที่จะให้สิทธิ์ในการทำเช่นนั้นในที่เฉพาะเจาะจงเฉพาะบริการเพื่อผู้ใช้หรือกลุ่ม คำชี้แจงเพิ่มเติม:เซิร์ฟเวอร์ที่ฉันต้องให้การอนุญาตเหล่านี้ไม่ได้อยู่ในโดเมน - เป็นเซิร์ฟเวอร์ที่เชื่อมต่ออินเทอร์เน็ตสองเครื่องที่รับไฟล์ประมวลผลและส่งไปยังบุคคลที่สามรวมถึงการให้บริการเว็บไซต์สองแห่งดังนั้น นโยบายกลุ่ม Active Directory เป็นไปไม่ได้ ขออภัยที่ฉันไม่ได้ทำให้ชัดเจน

2
Postgresql: สิทธิ์ทั้งหมดบนฐานข้อมูลทำอะไรได้บ้าง
ฉันพยายามให้สิทธิ์ทั้งหมดในทุกตารางของฐานข้อมูลที่กำหนดให้กับผู้ใช้ postgres ใหม่ (ไม่ใช่เจ้าของ) ดูเหมือนว่าGRANT ALL PRIVILEGES ON DATABASE my_db TO new_user;จะไม่ทำอย่างนั้น หลังจากรันคำสั่งดังกล่าวสำเร็จแล้ว (ในฐานะผู้ใช้ postgres) ฉันได้รับสิ่งต่อไปนี้เป็น new_user: $ psql -d my_db my_db => SELECT * FROM a_table_in_my_db; ERROR: permission denied for relation a_table_in_my_db สองคำถาม: 1) คำสั่งด้านบนทำอะไรถ้าไม่ให้สิทธิ์ทั้งหมดในตารางทั้งหมดใน my_db 2) วิธีที่เหมาะสมในการให้สิทธิ์ทั้งหมดในตารางทั้งหมดแก่ผู้ใช้คืออะไร (รวมถึงตารางทั้งหมดที่สร้างขึ้นในอนาคต)

6
สิทธิ์ในการเขียนไฟล์ PID ใน / var / run
อูบุนตู touch: ไม่สามารถสัมผัส `/var/run/test.pid ': ปฏิเสธการอนุญาต ฉันเริ่ม start-stop-daemon และต้องการเขียนไฟล์ PID ใน / var / run start-stop-daemon ถูกเรียกใช้เป็น my-program-user การตั้งค่า / var / run คือรูทราก drwxr-xr-x 9 ฉันชอบที่จะหลีกเลี่ยงการวางโปรแกรมผู้ใช้ของฉันลงในกลุ่มรูท
51 ubuntu  permissions  root  pid 

2
สิ่งที่ควรได้รับการอนุญาตจาก Apache SSL Directory, Certificate และ Key
ฉันมีcert.pemและcert.keyไฟล์ใน/etc/apache2/sslโฟลเดอร์ สิ่งที่จะได้รับอนุญาตที่ปลอดภัยที่สุดและเป็นเจ้าของ: /etc/apache2/ssl ไดเรกทอรี /etc/apache2/ssl/cert.pem ไฟล์ /etc/apache2/ssl/cert.key ไฟล์ (มั่นใจว่าhttps://เข้าถึงงานแน่นอน :) ขอบคุณ JP

6
วิธีเปลี่ยนเจ้าของจุดยึด
เราได้ย้ายไดเรกทอรีข้อมูล mysql ไปยังดิสก์อื่นดังนั้นตอนนี้/var/lib/mysqlก็เป็นเพียงจุดเชื่อมต่อไปยังพาร์ติชันอื่น เราตั้งเจ้าของไดเรกทอรีไป/var/lib/mysqlmysql.mysql root.rootแต่ทุกครั้งที่เราติดตั้งพาร์ทิชันที่เป็นเจ้าของที่มีการเปลี่ยนแปลงไป ด้วยเหตุนี้เราจึงไม่สามารถสร้างฐานข้อมูล MySQL เพิ่มเติม รายการ fstab ของเรา: /dev/mapper/db-db /var/lib/mysql ext3 relatime 0 2 วิธีการเปลี่ยนเจ้าของจุดเชื่อมต่อเป็นผู้ใช้อื่นที่ไม่ใช่รูท

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