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

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

1
มีสิทธิ์ของกลุ่ม แต่ไม่สามารถสร้างไฟล์ได้
ฉันพบสิ่งที่แปลกในขณะที่เล่นกับ pi3B ฉันต้องการที่จะสร้างไฟล์ใน/sys/class/gpio( เพียง poking รอบไม่มีเหตุผลที่เฉพาะเจาะจง ) แต่ผมได้รับอนุญาตปฏิเสธ ด้านล่างเป็นข้อมูลบางส่วน pi@raspberrypi:/sys/class/gpio $ groups pi adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi pi@raspberrypi:/sys/class/gpio $ ls -ld . drwxrwx--- 2 root gpio 0 May 6 00:28 . pi@raspberrypi:/sys/class/gpio $ touch somefile touch: cannot touch 'somefile': Permission …

3
เหตุใดไฟล์ที่มีสิทธิ์ 400 รายการที่รูทเครื่องสามารถอ่านได้ แต่อ่านอย่างเดียวโดยผู้ใช้
หากฉันสร้างไฟล์ในฐานะผู้ใช้ที่ไม่มีสิทธิ์และเปลี่ยนโหมดการอนุญาต400เป็นผู้ใช้นั้นจะเห็นว่าเป็นแบบอ่านอย่างเดียวอย่างถูกต้อง: $ touch somefile $ chmod 400 somefile $ [ -w somefile ] && echo rw || echo ro ro ทั้งหมดเป็นอย่างดี. แต่แล้วรากก็มาพร้อม: # [ -w somefile ] && echo rw || echo ro rw ห่า? แน่นอนว่ารูทสามารถเขียนไปยังไฟล์แบบอ่านอย่างเดียวได้ แต่ไม่ควรทำให้เป็นนิสัย: แนวปฏิบัติที่ดีที่สุดมีแนวโน้มที่จะกำหนดว่าฉันควรจะสามารถทดสอบบิตการอนุญาตการเขียนได้และถ้าไม่ใช่ก็เป็นไปได้ ทางนั้นด้วยเหตุผล ผมคิดว่าผมต้องการที่จะเข้าใจทั้งสองเหตุผลนี้เกิดขึ้นและวิธีการที่ฉันจะได้รับเท็จรหัสการส่งคืนเมื่อการทดสอบไฟล์ที่ไม่ได้มีการเขียนชุดบิตหรือไม่?

1
ไดเรกทอรีเปลี่ยนสิทธิ์เมื่อติดตั้ง
ฉันต้องการที่จะติดตั้ง samba sghare ไปยังไดเรกทอรีใน dir บ้านของฉัน ฉันได้สร้างมันขึ้นมา แต่ติดตั้งการแชร์เป็นรูท เมื่อเมานต์เจ้าของ dir ของฉันเปลี่ยนเป็นรูทและผู้ใช้ของฉันไม่มีไฟล์พ่วงการอนุญาตบนแชร์ ... ฉันจะแก้ไขบรรทัดเมาต์ของฉันเพื่อให้สามารถเมานต์ด้วยสิทธิ์การเขียนได้อย่างไร ปัจจุบันดูเหมือนว่านี้:sudo mount -t cifs //IP/share/ /mount/point/ -o rw,username=user,password=pass,domain=domain

4
Sudoers เป็นเวลาหนึ่งวันต่อสัปดาห์หรือไม่
ฉันได้รับการอาสาจากหัวหน้าของฉันให้เป็นผู้ดูแลระบบสำหรับเซิร์ฟเวอร์การผลิตของเรา เขาขอให้ฉันกระชับความปลอดภัยเพื่อหลีกเลี่ยงอุบัติเหตุrm -f *ที่เกิดขึ้นเมื่อไม่นานมานี้ ตอนนี้เรามีผู้ใช้ 53 คนเข้าสู่เครื่องและเป็นฝันร้ายของการตรวจสอบ ฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะอนุญาตให้ผู้ใช้เข้าถึงได้เฉพาะในวันที่ระบุในสัปดาห์ ตัวอย่างเช่นฉันสามารถให้ผู้ใช้ 'Joe' อนุญาตให้เข้าสู่ระบบในวันอังคารและวันพฤหัสบดีเท่านั้นและ 'Jane' เท่านั้นในวันอาทิตย์? สามารถetc/sudoersกำหนดเองเพื่ออนุญาตสิ่งนี้ได้หรือไม่ มีวิธีที่ดีกว่าแทนที่จะใช้ sudoers หรือไม่?

2
การเป็นสมาชิกกลุ่มและกระบวนการ setuid / setgid
กระบวนการที่ยกเลิกการเลื่อนระดับสิทธิ์ผ่านsetuid()และsetgid()ดูเหมือนจะไม่ได้รับความเป็นสมาชิกกลุ่มของ uid / gid ที่พวกเขาตั้งค่า ฉันมีกระบวนการเซิร์ฟเวอร์ที่ต้องดำเนินการเป็นรูทเพื่อเปิดพอร์ตสิทธิพิเศษ หลังจากนั้นจะยกเลิกการเลื่อนระดับไปเป็น uid / gid ที่ไม่มีสิทธิพิเศษเฉพาะ1 - เช่นของผู้ใช้foo(UID 73) ผู้ใช้fooเป็นสมาชิกของกลุ่มbar: > cat /etc/group | grep bar bar:x:54:foo ดังนั้นถ้าฉันเข้าสู่ระบบในฐานะfooฉันสามารถอ่านไฟล์ที่/test.txtมีคุณสมบัติเหล่านี้: > ls -l /test.txt -rw-r----- 1 root bar 10 Mar 8 16:22 /test.txt อย่างไรก็ตามโปรแกรม C ต่อไปนี้ (คอมไพล์std=gnu99) เมื่อรันรูท: #include <stdio.h> #include <fcntl.h> #include <unistd.h> int main (void) …

2
สิทธิ์ไดรฟ์ USB เมื่อทำการเมาท์อัตโนมัติ
ใน Debian มีปัญหาที่พบบ่อยคือคุณพยายามเสียบฮาร์ดไดรฟ์ที่จัดรูปแบบ ntfs ในรูปแบบ ntfs แล้วไม่สามารถเขียนลงในฐานะผู้ใช้ทั่วไปได้เนื่องจากไดเรกทอรีเป็นของ root เมื่อไม่นานมานี้ฉันอ่านว่าสามารถแก้ไขได้ด้วยการเพิ่มตัวเลือกuid=1000,gid=1000(หรืออะไรก็ตามที่คุณเป็น uid และ gid) วิธีนี้ช่วยแก้ปัญหาได้ แต่ดูเหมือนว่าฉันจะน่ารังเกียจนิดหน่อยเพราะถ้าคุณมีระบบผู้ใช้หลายคนไดรฟ์จะเป็นของผู้ใช้คนเดียวกันเสมอและไม่ใช่ผู้ใช้ที่เมานท์ / เข้าสู่ระบบ จากเวลาของฉันกับ Ubuntu ฉันจำได้ว่านี่ไม่ใช่ปัญหาและคุณสามารถติดตั้งไดรฟ์ NTFS (ด้วย GNOME) และพวกเขาเขียนได้โดยผู้ใช้ที่เมานท์พวกเขา ดังนั้นดูเหมือนว่า GNOME จะสามารถเมานต์ไดรฟ์ด้วยสิทธิ์ที่มอบให้แก่ผู้ใช้ที่ล็อกอินอยู่ อย่างไรก็ตามตอนนี้ฉันกำลังใช้ KDE กับ Debian jessie และฉันสงสัยว่าฉันสามารถกำหนดค่าคอมพิวเตอร์ของฉันให้เชื่อมต่อไดรฟ์ด้วยสิทธิ์ของผู้ใช้ที่มี X-session ที่ใช้งานอยู่

3
อนุญาตให้ผู้ใช้อ่านโฮมไดเร็กตอรี่ของผู้ใช้คนอื่น ๆ
ฉันยังใหม่ต่อการดูแลระบบและฉันมีคำถามเกี่ยวกับการอนุญาต administrationฉันมีกลุ่มที่เรียกว่า ภายในadministrationกลุ่มผมมีผู้ใช้user1, user2, ,user3 superuserผู้ใช้ทั้งหมดอยู่ในadministrationกลุ่ม ตอนนี้ฉันต้องให้สิทธิ์แก่ผู้ใช้superuserเพื่อให้สามารถดู/homeไดเรกทอรีของผู้ใช้รายอื่น แต่ผมไม่ต้องการuser1, user2, user3เพื่อดูบ้านของผู้ใช้อื่น ๆ อื่นที่ไม่ใช่ตัวเอง (นั่นคือuser1ควรจะสามารถเห็นuser1บ้านของคนอื่นได้เท่านั้น) ฉันสร้างผู้ใช้และกลุ่มและมอบหมายผู้ใช้ทั้งหมดให้กับกลุ่ม ฉันจะระบุการอนุญาตสำหรับsuperuserตอนนี้ได้อย่างไร กล่าวอีกนัยหนึ่งฉันคิดว่ามีสองกลุ่ม (พูดNormalUsersและSuperuser) NormalUsersกลุ่มจะมีผู้ใช้user1, และuser2 กลุ่มเดียวจะมีผู้ใช้ ตอนนี้ฉันจำเป็นต้องมีการเข้าถึงไฟล์ของผู้ใช้ในกลุ่มอย่างสมบูรณ์ เป็นไปได้ใน Linux?user3SuperuserSuperuserSuperuserNormalUsers

2
ปฏิเสธการเข้าถึงปลั๊กอินแฟลชไปยังเว็บแคม (เฉพาะ)
ฉันเพิ่งซื้อเว็บแคมภายนอกเพื่อเล่นกับ OpenCV มันใช้งานได้ดีมากใน Debian แต่ฉันรู้ว่าเมื่อฉันเรียกดูเว็บไซต์ใด ๆ ที่มีเนื้อหาแฟลช (youtube, soundcloud) ไฟ LED กิจกรรมบนเว็บแคมจะกะพริบและในเวลานั้นแอปพลิเคชันอื่น ๆ (เช่นชีส) ไม่สามารถเข้าถึงเว็บแคม . โดยปกติฉันปฏิเสธการเข้าถึงเว็บแคมในเมนูบริบทของ Flash Player และเลือกกล้องอื่น ๆ ที่มีในตัวสำหรับใช้กับปลั๊กอิน แต่ปัญหายังคงมีอยู่ ฉันคิดว่า (แม้ว่าฉันจะไม่แน่ใจทั้งหมด) มันเริ่มต้นตั้งแต่ครั้งแรกที่ฉันตั้งค่าปลั๊กอินแฟลชให้ใช้เว็บแคมนี้ฉันไม่คิดว่ามันจะเกิดขึ้นก่อนหน้านี้ แต่การล้างflashplayer-nonfreeและการติดตั้งใหม่ยังคงไม่เปลี่ยนแปลงอะไรเลย มีวิธีในการป้องกันไม่ให้ปลั๊กอินแฟลชเปิดใช้งานเว็บแคมนี้โดยเฉพาะในขณะที่ยังคงพร้อมใช้งานกับแอปพลิเคชันอื่น ๆ หรือไม่? หรืออาจจะมีวิธีการเปลี่ยนสถานการณ์กลับสู่สถานะก่อนที่ฉันจะแตะการตั้งค่าแฟลชเป็นครั้งแรก แต่หลังจากที่ฉันเสียบกล้อง (สมมติว่าหน่วยความจำของฉันทำหน้าที่ฉันถูก) ฉันใช้ Debian squeeze ที่ได้รับการอัพเดตและเว็บแคม Microsoft LifeCam Studio เบราว์เซอร์ที่ฉันกำลังพูดถึงคือ Chrome v. 21.0.1180.57 แก้ไข:ยังคงมีอยู่เฉพาะในขณะที่ใช้โครเมี่ยมเมื่อฉันเปลี่ยนเป็น iceweasel สิ่งนี้ไม่ได้เกิดขึ้น ฉันเดาว่าการแสดงนี้อาจเกี่ยวข้องกับโครเมียม

2
Evince ล้มเหลวในการเริ่มต้นเนื่องจากไม่สามารถอ่าน. Xauthority
ฉันลงชื่อเข้าใช้ SSH จากระยะไกลด้วยการส่งต่อ X ไปยังเครื่องที่ใช้ Ubuntu 10.04 (ชัดเจน) แอปพลิเคชั่น X11 ส่วนใหญ่ (เช่น xterm, gnome-terminal) ทำงานได้ดี แต่ Evince ไม่เริ่ม ดูเหมือนว่าจะไม่สามารถอ่าน~/.Xauthorityได้แม้ว่าไฟล์จะมีอยู่และอ่านได้ชัด (มีสิทธิ์ที่เหมาะสมและแอปพลิเคชันอื่นอ่านได้อย่างดี) $ evince X11 connection rejected because of wrong authentication. Cannot parse arguments: Cannot open display: $ echo DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY DISPLAY=localhost:10.0 XAUTHORITY= $ strace evince … access("/home/gilles/.Xauthority", R_OK) = 0 open("/home/gilles/.Xauthority", …

2
ผู้ใช้ไม่สามารถแตะ -t
เมื่อ SCP กำลังเข้าสู่เซิร์ฟเวอร์ Fedora ของฉันผู้ใช้จะพบข้อผิดพลาดเกี่ยวกับการไม่สามารถแก้ไขการประทับเวลาของไฟล์ ("กำหนดเวลา: ไม่อนุญาตให้ใช้งาน") ผู้ใช้ไม่ใช่เจ้าของไฟล์ แต่เราไม่สามารถchownไฟล์ให้กับผู้ใช้รายนี้ด้วยเหตุผลด้านความปลอดภัย ผู้ใช้สามารถทำได้sudoแต่เนื่องจากสิ่งนี้เกิดขึ้นผ่านไคลเอนต์ SCP / FTP จึงไม่มีทางทำเช่นนั้น และในที่สุดเราไม่ต้องการให้สิทธิ์การเข้าถึงรูทของผู้ใช้เพียงเพื่อให้เขาใช้การซิงโครไนซ์อย่าง rsync หรือ WinSCP ที่จำเป็นต้องตั้งค่าการประทับเวลา ผู้ใช้เป็นส่วนหนึ่งของกลุ่มที่มีrwสิทธิ์แบบเต็มในไฟล์และ dirs ที่เกี่ยวข้องทั้งหมด มีความคิดเห็นเกี่ยวกับวิธีการให้สิทธิ์ผู้ใช้ในtouch -tไฟล์เฉพาะเหล่านี้โดยไม่ต้องส่งchownให้เขาหรือไม่? ข้อมูลเพิ่มเติมทั้งหมดนี้เกี่ยวข้องกับการเปิดใช้งานการพัฒนา PHP ในสถานการณ์ผู้พัฒนาเดี่ยว (เช่น: ไม่มี SCM) ฉันกำลังพยายามทำงานกับ Eclipse หรือ NetBeans เพื่อทำงานบนสำเนาของไซต์ PHP-based (WordPress) ในขณะที่อนุญาตให้ผู้ใช้ "ทันที" ดูตัวอย่างการเปลี่ยนแปลงของเขาบนเซิร์ฟเวอร์การพัฒนา ผู้ใช้จะทำงานจากระยะไกล จนถึงตอนนี้ความพยายามในการซิงโครไนซ์อัตโนมัติทั้งหมดล้มเหลว - แม้จะใช้ WinSCP ในโหมด "watch folder" ซึ่งจะตรวจสอบโฟลเดอร์ในเครื่องและพยายามอัปโหลดการเปลี่ยนแปลงใด ๆ …
10 permissions  scp  ftp 


1
การอนุญาตไดเรกทอรี macOS Mojave
MacOS Mojave ได้เพิ่มเอฟเฟกต์ของ SIP ลงในโฮมไดเรกทอรีของผู้ใช้ โดยค่าเริ่มต้นการเข้าถึงถูกปฏิเสธไปยังไดเรกทอรีต่างๆในไดเรกทอรีบ้านของผู้ใช้ ตัวอย่างบางส่วนของไดเรกทอรีเหล่านี้เป็นไปตาม ~/Library/Messages ~/Library/Mail ~/Library/Safari [… etc.] ในการเข้าถึงไดเรกทอรีเหล่านี้จากเทอร์มินัลจะต้องกำหนดแอปพลิเคชันเทอร์มินัลในการตั้งค่าระบบ> ความปลอดภัยและความเป็นส่วนตัว> ความเป็นส่วนตัว> การเข้าถึงดิสก์ทั้งหมด การกำหนดค่าใช้งานได้ยกเว้นไดเรกทอรีต่อไปนี้บนระบบของฉัน พฤติกรรมเดียวกันอาจมีอยู่สำหรับข้อมูลอื่นในภาชนะบรรจุ - ไม่แน่ใจ ~/Library/Containers/com.apple.mail/Data/DataVaults พฤติกรรมที่น่าสนใจเป็นเรื่องง่ายที่จะทำซ้ำ ไดเรกทอรีไม่สามารถมองเห็นได้ cd ~/Library/Containers/com.apple.mail/Data ls ls: DataVaults: Operation not permitted ฉันใช้rsyncเพื่อสะท้อนไดเรกทอรีบ้านของฉันไปยังฮาร์ดไดรฟ์ภายนอก แต่ฉันไม่สามารถทำได้อีกต่อไปเพราะrsyncบ่นว่า "พบข้อผิดพลาดของ IO - การข้ามการลบไฟล์" ซึ่งทำให้เอฟเฟกต์การมิเรอร์ ฉันไม่พบเอกสารใด ๆ เกี่ยวกับปัญหานี้ ฝ่ายสนับสนุนของ Apple ไม่มีความคิด เหตุใดไดเรกทอรีนี้จึงพิเศษและเราจะเข้าถึงโดยไม่ปิดการใช้งาน SIP ได้อย่างไร ผลลัพธ์ของการตรวจสอบเพิ่มเติมด้วยการปิดใช้งาน SIP ตามข้อมูลระบบการอัปเกรด …
10 permissions  osx 

2
sudo tar การเปลี่ยนแปลงการแตกไฟล์เป็นเจ้าของให้ผู้ใช้
ฉันใช้คำสั่งนี้: $ sudo tar xvzf nexus-latest-bundle.tar.gz ไฟล์ที่แตกออกมานั้นเป็นของผู้ใช้ที่ไม่รู้จัก (1001): drwxr-xr-x 8 1001 1001 4096 Dec 16 18:37 nexus-2.12.0-01 drwxr-xr-x 3 1001 1001 4096 Dec 16 18:47 sonatype-work ไม่ควรจะเป็นเจ้าของรากภายใต้การกำหนดค่าปกติหรือไม่ ฉันกำลังทำงานกับการติดตั้ง linux ที่จำลองจาก AWS AMI
10 files  permissions  users  root  tar 

2
โฟลเดอร์ที่มีสิทธิ์ในการเขียนเท่านั้นไม่มีประโยชน์ใช่มั้ย
หลังจากทำงานกับ Linux มาหลายปีและพบว่าตัวเองมีเวลาว่างฉันก็เลยตัดสินใจทบทวนพื้นฐาน ดังนั้นฉันจึงอ่านเนื้อหาเกี่ยวกับการอนุญาต (โดยไม่ตรวจสอบซอร์สโค้ด) และกรณีพิเศษสำหรับโฟลเดอร์และมาพร้อมกับวิธีใหม่ (สำหรับฉันอย่างน้อย ... ) วิธีคิดเกี่ยวกับการอนุญาตโฟลเดอร์ (สำหรับผู้ใช้เฉพาะ / กลุ่ม / อื่น ๆ ): ฉันนึกภาพโฟลเดอร์เป็นตารางที่มีสองคอลัมน์เช่น: filename | inode foo | 111 bar | 222 อ่านได้รับอนุญาตหมายความว่าคุณสามารถอ่าน (และรายการ) คอลัมน์ด้านซ้ายของโต๊ะเขียนได้รับอนุญาตสอดคล้องกับการเพิ่มและลบรายการในตารางและดำเนินการสอดคล้องกับการอนุญาตให้ความสามารถในการแปลจากชื่อไฟล์ inode; เช่นคุณสามารถเข้าถึงเนื้อหาของโฟลเดอร์ ฉันทำการทดลองบางอย่างและผลลัพธ์ทั้งหมดสอดคล้องกับ "มุมมองโลก" ของฉันนี้ แต่ข้อสรุปหนึ่งดูเหมือนจะหลีกเลี่ยงไม่ได้: โฟลเดอร์ที่ได้รับอนุญาตd-w-------ไม่มีประโยชน์โดยสิ้นเชิง คำอธิบายเพิ่มเติม: คุณไม่สามารถแสดงรายการเนื้อหาของมันคุณไม่สามารถอ่านไฟล์ใด ๆ ที่คุณรู้ว่ามีอยู่ภายใน (เพราะคุณไม่สามารถแปลชื่อเป็น inodes) คุณไม่สามารถลบหรือเปลี่ยนชื่อหรือเพิ่มไฟล์เพราะอีกครั้งที่แปลว่าแปล และคุณไม่สามารถเพิ่มฮาร์ดลิงก์ได้ (เพราะฉันคาดเดาว่าจะหมายถึงการเพิ่มชื่อเช่นเดียวกับหมายเลขไอโหนดซึ่งหมายความว่าคุณจะรู้ทั้งคู่ซึ่งในทางกลับกันการคาดคะเนการละเมิดสิทธิ์ในการดำเนินการอีกครั้ง) . และแน่นอนถ้ามีเป็นไฟล์ในโฟลเดอร์ดังกล่าวหนึ่งแล้วคุณจะไม่สามารถลบโฟลเดอร์ที่ทั้งเพราะคุณไม่สามารถลบเนื้อหา ดังนั้น ... …

1
setfacl: คำสั่งทั้งสองนี้เหมือนกันหรือไม่
ฉันมีสคริปต์การปรับใช้ (ขึ้นอยู่กับตัวพิมพ์ใหญ่) ที่ตั้งค่าการอนุญาตบนเซิร์ฟเวอร์เฉพาะสำหรับการติดตั้ง Symfony2 มันมีสองคำสั่งต่อไปนี้เพื่อทำสิ่งนี้สำหรับหลายไดเรกทอรี: setfacl -R -m u:www-data:rwx -m u:`whoami`:rwX app/cache setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwX app/cache คำสั่งสองคำสั่งเหล่านี้อยู่ในไซต์ Symfony2 เพื่อแก้ไขสิทธิ์อย่างไรก็ตามสิ่งเหล่านี้ดูคล้ายกับฉันมาก ดังนั้นฉันจึงได้ดู manpages สำหรับsetfaclและจากสิ่งที่ฉันสามารถเข้าใจคำสั่งที่สองทำสิ่งที่คนแรกทำกับตัวเลือกเพิ่มเติม (ซึ่งฉันไม่เข้าใจ) คำถามของฉันคือสมมติฐานของฉันถูกต้อง? ถ้าเป็นเช่นนั้นจะมีผลเหมือนกันหรือไม่ถ้าฉันลบคำสั่งแรกออก
10 permissions  acl 

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