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

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

4
การอนุญาต 755 ใน / home / <user> /
ฉันกำลังสงสัยว่าทำไมโดยค่าเริ่มต้นไดเรกทอรีของฉันมีสิทธิ์ที่จะตั้ง/home/&lt;user&gt;/ 755สิ่งนี้ทำให้ผู้ใช้รายอื่นสามารถเข้าสู่ไดเรกทอรีและอ่านไฟล์ในบ้านของฉัน มีเหตุผลที่ถูกต้องสำหรับสิ่งนี้หรือไม่? ฉันสามารถตั้งค่าการอนุญาต700สำหรับบ้านและไดเรกทอรีย่อยทั้งหมดได้หรือไม่: chmod -R o-xw /home/&lt;user&gt;/ chmod -R g-xw /home/&lt;user&gt;/ โดยไม่ทำลายอะไรเลย? นอกจากนี้เป็นไปได้ไหมที่จะตั้งค่าการอนุญาตในบ้านของฉันเพื่อให้ไฟล์ใหม่ทั้งหมดที่สร้างขึ้นมี600และไดเรกทอรี700?

2
สิทธิ์รันไทม์ของงาน cron คืออะไร?
เมื่องาน cron ทำงานด้วยสิทธิพิเศษอะไรบ้างที่ทำงาน? ฉันไม่แน่ใจเกี่ยวกับเรื่องนี้ มันมีสิทธิ์ใช้งานแบบเดียวกันกับผู้ใช้ที่เพิ่มเข้าไปcrontab -eหรือไม่?
15 permissions  cron 

4
ไม่สามารถอ่านไฟล์แม้ว่าจะอยู่ในกลุ่มของฉันและตั้งค่าการอนุญาตสำหรับการอ่านกลุ่ม
ฉันพบปัญหาแปลก ๆ ในเครื่อง unix / linux: ฉันเป็นสมาชิกของกลุ่มลองเรียกมันว่ากลุ่ม A และไฟล์บางอย่าง (ซึ่งมีเจ้าของที่แตกต่างกัน) เป็นของกลุ่ม A เช่นกัน สิทธิ์ของไฟล์นั้นคือ -rw-rw---- ดังนั้นฉันคาดหวังว่าฉันควรจะสามารถเปิดไฟล์นั้นได้ แต่ฉันไม่ใช่: ฉันจะได้รับข้อความแสดงข้อผิดพลาด "การอนุญาตถูกปฏิเสธ" เมื่อฉันพยายามดูเนื้อหาของไฟล์ (โดยใช้ cat) เนื่องจากการอนุญาตดูเหมือนจะถูกต้องมีอะไรอีกที่ทำให้เกิดปัญหานี้ มีข้อ จำกัด สิทธิ์ "ทับ" ในสถานที่หรือไม่ ถ้าเป็นเช่นนั้นฉันจะรู้ได้อย่างไร?
15 permissions  files  nfs  group 

3
เข้าถึงการเขียนโดยไม่ต้องอ่าน
เป็นไปได้หรือไม่ที่ผู้ใช้จะมีสิทธิ์เขียนเพื่อเข้าถึงไฟล์และไม่สามารถอ่านได้? มันเป็นไปได้ยังไงกัน? ฉันลองคำสั่งต่อไปนี้: debianbox@debian:~/posix/io$ touch filetest debianbox@debian:~/posix/io$ ls -l filetest -rw-r--r-- 1 debianbox debianbox 0 14 oct. 03:10 filetest debianbox@debian:~/posix/io$ echo "Hello World" &gt; filetest debianbox@debian:~/posix/io$ cat filetest Hello World debianbox@debian:~/posix/io$ chmod u-r filetest debianbox@debian:~/posix/io$ cat filetest cat: filetest: Permission forbidden debianbox@debian:~/posix/io$ อย่างที่คุณเห็นนี่ฉันเขียน แต่ไม่สามารถอ่านไฟล์นี้ได้ สิ่งนี้จะเป็นไปได้อย่างไร นี่ถือว่าเป็นข้อผิดพลาดหรือไม่? หากไม่ได้สิ่งนี้จะเป็นประโยชน์ในสถานการณ์ใด

6
ข้อเสียของ umask 077?
ข้อเสียสำหรับการมี umask ที่เข้มงวดของ 077 คืออะไร? Distros จำนวนมาก (ฉันเชื่อว่าทั้งหมดยกเว้น Red Hat?) มีค่าเริ่มต้น umask เป็น 022 กำหนดค่าใน / etc / profile ดูเหมือนว่าวิธีนี้จะไม่ปลอดภัยสำหรับระบบที่ไม่ใช่เดสก์ท็อปซึ่งผู้ใช้หลายรายกำลังเข้าถึงและความปลอดภัยเป็นเรื่องที่น่ากังวล ในโน้ตที่เกี่ยวข้องบน Ubuntu ไดเรกทอรีบ้านของผู้ใช้จะถูกสร้างขึ้นด้วยการอนุญาต 755 และตัวติดตั้งระบุว่านี่คือการทำให้ผู้ใช้แบ่งปันไฟล์ได้ง่ายขึ้น สมมติว่าผู้ใช้สามารถตั้งค่าการอนุญาตให้ใช้ไฟล์ร่วมกันได้อย่างสะดวกสบายนี่ไม่ใช่ปัญหา มีข้อเสียอะไรอีกบ้าง?

3
มีไฟล์ที่มีอยู่เสมอและผู้ใช้ 'ปกติ' ไม่สามารถ lstat ได้หรือไม่
ฉันต้องการสิ่งนี้สำหรับการทดสอบหน่วย มีฟังก์ชันที่ทำlstatบนพา ธ ไฟล์ที่ส่งผ่านเป็นพารามิเตอร์ ฉันต้องเรียกใช้เส้นทางรหัสที่lstatล้มเหลว (เพราะครอบคลุมรหัสได้ถึง 90%) การทดสอบสามารถทำงานภายใต้ผู้ใช้คนเดียวได้ดังนั้นฉันจึงสงสัยว่ามีไฟล์ใน Ubuntu ที่มีอยู่เสมอหรือไม่ แต่ผู้ใช้ทั่วไปไม่มีสิทธิ์อ่านเพื่ออ่านหรือไปยังโฟลเดอร์ของมัน (ดังนั้นlstatจะล้มเหลวหากไม่ดำเนินการในฐานะรูท) ไฟล์ที่ไม่มีอยู่ไม่ใช่วิธีการแก้ปัญหาเนื่องจากมีเส้นทางรหัสแยกต่างหากสำหรับสิ่งที่ฉันเรียกแล้ว แก้ไข: การขาดการเข้าถึงเพื่ออ่านไฟล์เท่านั้นไม่เพียงพอ ด้วยที่lstatยังคงสามารถดำเนินการได้ ฉันสามารถทริกเกอร์ได้ (บนเครื่องโลคัลของฉันซึ่งฉันมีสิทธิ์เข้าถึงรูท) โดยการสร้างโฟลเดอร์ใน / root และไฟล์ในนั้น และตั้งค่าการอนุญาต 700 ในโฟลเดอร์ ดังนั้นฉันกำลังค้นหาไฟล์ที่อยู่ในโฟลเดอร์ที่เข้าถึงได้โดยรูทเท่านั้น

2
เหตุใดฉันไม่สามารถแสดงรายการไดเรกทอรีที่มีสิทธิ์อ่านได้
ฉันสร้างไดเรกทอรีdและไฟล์fข้างใน จากนั้นฉันให้สิทธิ์การอ่านในไดเรกทอรีนั้นเท่านั้น ฉันเข้าใจว่าควรหมายความว่าฉันสามารถแสดงรายการไฟล์ (เช่นที่นี่ ) แต่ฉันทำไม่ได้ will@wrmpb /p/t/permissions&gt; ls -al total 0 drwxr-xr-x 3 will wheel 102 4 Oct 08:30 . drwxrwxrwt 16 root wheel 544 4 Oct 08:30 .. dr-------- 3 will wheel 102 4 Oct 08:42 d will@wrmpb /p/t/permissions&gt; ls d will@wrmpb /p/t/permissions&gt; หากฉันเปลี่ยนการอนุญาตให้เขียนและดำเนินการฉันสามารถดูไฟล์ได้ will@wrmpb /p/t/permissions&gt; chmod 500 …
14 permissions  osx  fish 

3
ใครสามารถเปลี่ยนการอนุญาตของไฟล์ / ไดเรกทอรีได้บ้าง
ฉันเชื่อ (ไม่แน่ใจ) ว่าเจ้าของไฟล์ / ไดเรกทอรีและผู้ใช้รูทเป็นผู้ใช้เพียงคนเดียวที่ได้รับอนุญาตให้เปลี่ยนสิทธิ์ของไฟล์ / ไดเรกทอรี ฉันแก้ไขหรือมีผู้ใช้รายอื่นที่ได้รับอนุญาตให้เปลี่ยนสิทธิ์หรือไม่

2
วิธีการเปลี่ยนเจ้าของไดเรกทอรี
แก้ไข : ปัญหาคือแอปเปิ้ลใช้สิทธิ์ในการทำเครื่องหมายสำรองข้อมูลและป้องกันไม่ให้คุณแก้ไขพวกเขา (อาจเป็นคุณลักษณะด้านความปลอดภัย) โดยใช้chmod -RN &lt;dir&gt;ฉันลบข้อมูล ACL จากโฟลเดอร์ทั้งหมดที่มีข้อมูลสำคัญและนั่นทำให้ฉันสามารถทำให้ตัวเองเป็นเจ้าของและใช้สิทธิ์ที่เหมาะสม คำถามเดิม ฉันมีการสำรองข้อมูลที่มีขนาดใหญ่มาก (&gt; 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
ไดเรกทอรีที่สามารถเขียนได้ทั่วโลกคือค่าเริ่มต้นคืออะไร
ในระบบไฟล์ Linux มาตรฐานไดเรคทอรีทั่วไปใดบ้างที่สามารถเขียนได้ทั่วโลกโดยค่าเริ่มต้น /tmp /etc /var /proc /bin /boot /.... .... ทำไมพวกเขาถึงเขียนได้ทั่วโลก? สิ่งนั้นมีความเสี่ยงด้านความปลอดภัยหรือไม่?

1
เจ้าของไฟล์และกลุ่มจำได้อย่างไรสำหรับไดรฟ์ภายนอก
ฉันฟอร์แมตฮาร์ดไดรฟ์ภายนอกที่มีพาร์ติชั่น ext4 และติดตั้งในภายหลัง เพื่อให้ฉันสามารถใช้พาร์ติชันใหม่ได้: sudo chown me:me /mount/directoryเพื่อเปลี่ยนเจ้าของไฟล์และกลุ่มจาก root เป็นฉันซึ่งใช้งานได้ดี การเปลี่ยนแปลงนี้คงอยู่ดังนั้นฉันสงสัยว่าข้อมูลนี้ถูกเก็บไว้ที่ไหน หากฉันถอดฮาร์ดไดรฟ์แล้วติดตั้งไปยังไดเรกทอรีอื่นฉันยังคงตั้งเป็นเจ้าของไฟล์และกลุ่มดังนั้นข้อมูลไม่สามารถเก็บไว้ใน inode ของเมานต์ไดเรกทอรีได้ ดังนั้นพาร์ทิชันทั้งหมดจึงมีไอโหนดของตัวเองที่จัดเก็บข้อมูลประเภทนี้และถ้าเป็นเช่นนั้นจะมีวิธีดูไหม? หรืออาจมีที่อื่นที่จัดเก็บข้อมูล?

2
chown ลบ setuid bit: bug หรือคุณสมบัติ?
ขั้นตอนในการทำซ้ำ: germar@host:~$ cd /tmp/ germar@host:/tmp$ touch test &amp;&amp; chmod u+s test &amp;&amp; ls -la test -rwSr--r-- 1 germar germar 0 Nov 2 20:11 test germar@host:/tmp$ chown germar:germar test &amp;&amp; ls -la test -rw-r--r-- 1 germar germar 0 Nov 2 20:11 test ทดสอบกับ Debian squeeze และ Ubuntu 12.04

2
เหตุใดจึงไม่สามารถรูทเครื่องหนึ่งเปลี่ยนเนื้อหาที่เมาท์ได้จากเครื่องอื่น?
บนเซิร์ฟเวอร์ NFS ของฉันฉันมีการเอ็กซ์ปอร์ตต่อไปนี้: #NFS exports Database /shared -alldirs -network=192.168.1 -mask=255.255.255.0 บนไคลเอ็นต์ NFS ของฉัน: 192.168.1.7:/shared /shared nfs rw 0 0 เห็นได้ชัดว่าในฐานะ root บนเซิร์ฟเวอร์ฉันสามารถทำสิ่งที่ฉันต้องการ อย่างไรก็ตามในไคลเอนต์ผู้ใช้ปกติของฉัน 'gabe' สามารถทำการเปลี่ยนแปลงเมานต์ nfs (สมมติว่าฉันมีสิทธิ์) แต่รากไม่สามารถ ในฐานะผู้ใช้ทั่วไปของฉัน: gabe@client$ cd /shared gabe@client$ ls -l total 8 drwxrwxrwx 4 gabe wheel 512 Mar 20 19:20 tmp gabe@client$ cd tmp gabe@client$ …
14 permissions  nfs 

3
ฉันจะอนุญาตให้แอป SDL (ไม่ทำงานในฐานะรูท) ใช้คอนโซลได้อย่างไร
ฉันต้องการใช้โปรแกรมที่ใช้ SDL เพื่อแสดงกราฟิกบนคอนโซลโดยไม่ต้องเข้าสู่ระบบจากคอนโซลและไม่เรียกใช้โปรแกรมเป็นรูท ตัวอย่างเช่นฉันต้องการที่จะสามารถเรียกใช้ผ่านทาง ssh ระบบปฏิบัติการเป้าหมายคือ raspbian นี่เป็นตัวอย่างสั้น ๆ ใน python เพื่อแสดงปัญหา: import os, pygame os.environ['SDL_VIDEODRIVER'] = 'fbcon' pygame.init() s = pygame.display.set_mode() print "Success" ใช้งานได้ (ทำงานจนเสร็จสมบูรณ์ไม่ส่งข้อยกเว้น) ถ้าฉันเรียกใช้จากคอนโซลและทำงานผ่าน ssh ถ้าฉันเรียกใช้เป็นรูต ฉันตรวจสอบแล้วว่าผู้ใช้ของฉันอยู่ในกลุ่มเสียงและวิดีโอ ฉันใช้ strace เพื่อดูความแตกต่างระหว่างการเรียกใช้จากคอนโซล (ซึ่งใช้งานได้) การใช้งานเป็น root ผ่าน ssh (ยังใช้งานได้) และใช้งานในฐานะผู้ใช้ทั่วไปผ่าน ssh (ไม่ทำงาน) ข้อแตกต่างแรกคือผู้ใช้ของฉันไม่ได้รับอนุญาตให้เข้าถึง / dev / tty0 ฉันสร้างกลุ่มใหม่ (tty0) ใส่ผู้ใช้ของฉันในกลุ่มนั้นและเพิ่มกฎ …

3
GID หมายถึงอะไร?
GID หมายถึงอะไรจริง ๆ ? ฉันได้ Googled มันและนี่คือสิ่งที่linux.about.comพูดว่า: หมายเลขประจำตัวกลุ่มสำหรับกระบวนการ หมายเลขกลุ่มที่ถูกต้องจะได้รับใน/etc/groupและในฟิลด์ GID ของ/etc/passwdไฟล์ เมื่อกระบวนการเริ่มต้น GID นั้นจะถูกตั้งค่าเป็น GID ของกระบวนการหลัก แต่นั่นหมายความว่าอย่างไร สิทธิ์ที่ฉันมีสำหรับโฟลเดอร์ของฉันอยู่ที่ 0755 ฉันเข้าใจว่าฉันตั้งค่า UID ให้กับเจ้าของหรือไม่ 4755 และถ้าฉันตั้ง GID ของกลุ่มมันจะเป็น 2755 ถ้าฉันตั้งค่า Sticky Bit สำหรับผู้อื่นมันจะเป็นเช่นนั้น 1755 การตั้งค่าการอนุญาตเหล่านั้นสำคัญหรือไม่

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