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

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

1
อะไรคือความแตกต่างระหว่าง 'ls' และ 'ls -l' เมื่อฉันไม่ได้รับอนุญาตให้ดำเนินการในไดเรกทอรีนั้น
ฉันสร้างไดเรกทอรีที่เรียกว่าfolderและนำสิทธิ์ดำเนินการออกไป $ mkdir folder $ touch folder/innerFile $ mkdir folder/innerFolder $ chmod -x folder ตอนนี้ถ้าฉันทำ $ ls folder มันส่งออกรายการไฟล์ แต่เมื่อฉันทำ $ ls -l folder ฉันเข้าใจ ls: innerFile: Permission denied ls: innerFolder: Permission denied ทำไมถึงเป็นอย่างนั้น?

2
มีวิธีป้องกันไม่ให้คอมไพล์เปลี่ยนสิทธิ์และความเป็นเจ้าของแบบดึงได้หรือไม่?
ทุกครั้งที่ผมทำgit pullหรือgit reset, gitการตั้งค่าใหม่เปลี่ยนเป็นสิทธิ์และความเป็นเจ้าของฉันทำ ดูตัวเอง: #!/usr/bin/env bash rm -rf 1 2 mkdir 1 cd 1 git init echo 1 > 1 && git add 1 && git ci -m 1 git clone . ../2 cd $_ chmod 0640 1 chgrp http 1 cd ../1 echo 12 > 1 && git …
11 permissions  git 

2
ฉันจะเปลี่ยนการอนุญาตใน / sys เพื่อเปลี่ยนสถานะของไฟ LED / แสงโดยใช้ 'udev' ได้อย่างไร
ฉันมี Thinkpad และต้องการใช้ ThinkLight (แสงแฟลชสีขาวด้านบนหน้าจอที่ออกแบบมาเพื่อเพิ่มความสว่างของแป้นพิมพ์) สำหรับการแจ้งเตือนข้อความ Jabber ที่เข้ามา เป็นเรื่องง่ายที่จะเข้าใจเพราะหนึ่งต้องการเปลี่ยน/sys/class/leds/tpacpi::thinklight/brightnessเป็น 255 เท่านั้นฉันจะใช้ Bash script ง่ายๆซึ่งจะทำให้ไฟกะพริบสามครั้ง แต่เพื่อให้สามารถทำสิ่งนี้ได้ฉันต้องเปลี่ยนการอนุญาตไม่ใช่แค่รูทเท่านั้นที่สามารถเปลี่ยนไฟล์นี้ได้ และฉันไม่ต้องการsudo chmod o+w /sys/class/leds/tpacpi::thinklight/brightnessหลังจากการบู๊ตทุกครั้ง ฉันคิดว่าทางออกที่ดีที่สุดใช้udevสำหรับสิ่งนี้ อย่างไรก็ตามฉันไม่เคยใช้มาudevก่อนและฉันค่อนข้างสับสนกับบทเรียนที่ฉันพบทางออนไลน์ ฉันลองudevกฎนี้แล้ว: KERNEL=="tpacpi::thinklight", MODE="0666" เช่นกัน KERNEL="thinklight", MODE="0666" แต่มันไม่ทำงาน แม้ว่าฉันจะไม่ได้รับข้อผิดพลาดขณะทำงานudevadm test /class/leds ขอบคุณสำหรับความช่วยเหลือและความนิยม หรืออาจแก้ปัญหาอื่น ๆ

5
ไดเรกทอรีที่มีสิทธิ์ + x ผู้ปกครองไม่มี สิ่งนี้จะมีประโยชน์เมื่อใด
ว่าฉันมีโฟลเดอร์ที่เรียกว่าfolderในเส้นทางต่อไปนี้: my_path = /a/b/c/d/e/folder และไฟล์ที่เรียกว่าfileในโฟลเดอร์นั้น จากนั้นพูดว่าฉันรันคำสั่งนี้เพื่อลบการอนุญาตกลุ่มภายใต้ / a / > chmod g-rwx -R /a/ ตอนนี้บอกว่าฉันให้+rxสิทธิ์folder: > chmod g+rx /a/b/c/d/e/folder จากนั้นหากผู้ใช้คนที่สองในกลุ่มของฉันทำงาน: > ls /a/b/c/d/e/folder หรือ > cat /a/b/c/d/e/folder/file เธอได้รับข้อผิดพลาดที่ได้รับอนุญาตและเท่าที่ผมเข้าใจในเรื่องนี้เป็นเพราะฉันต้องให้เข้าถึงทุกผู้ปกครองของg+x folderคำถามของฉันแล้วคือเมื่อไหร่หรือว่าทำไมมันจะเคยเป็นประโยชน์ที่จะให้+xสิทธิ์ในการไดเรกทอรีที่มีพ่อแม่ไม่ได้มีมันได้หรือไม่ ขอบคุณ

4
สิทธิ์ sudo ถูกปฏิเสธ แต่ su ได้รับอนุญาต
นี่เป็นเหตุการณ์แรกที่ฉันต้องการให้ su ฉันอ่านบทความเกี่ยวกับการเปลี่ยนค่าใน / sys / อุปกรณ์ / virtual / backlight / acpi_video0 / ความสว่างเพื่อเปลี่ยนความสว่างหน้าจอแล็ปท็อปของฉัน ฉันแรกพบว่าเมื่อฉันจะ$ sudo echo 10 > brightnessฉันจะได้รับอนุญาตถูกปฏิเสธ ฉันเปลี่ยนเป็นรูทโดยใช้ su และ# echo 10 > brightnessเปลี่ยนความสว่างของฉันเกือบจะในทันที สิ่งที่แปลกประหลาดสำหรับฉันเกิดขึ้นเมื่อฉันพยายาม# echo 20 > brightness(ไฟล์ maxbrightness เก็บค่า 15) และฉันได้รับข้อผิดพลาดในการเขียน มีคนอธิบายความแตกต่างระหว่าง sudo กับ su ให้ฉันได้ไหม ทำความเข้าใจกับข้อผิดพลาดในการเขียนจะเป็นโบนัสเพิ่ม ความช่วยเหลือคำแนะนำและ / หรือลิงก์ใด ๆ จะได้รับการชื่นชมมาก
11 permissions  sudo  su 

1
สิทธิ์ x (เรียกใช้) ทำอะไรบนซ็อกเก็ตยูนิกซ์?
จากประสบการณ์ของฉันผู้ใช้ที่ไม่ได้รับสิทธิพิเศษไม่สามารถเข้าถึงซ็อกเก็ต unix ที่ตนเอง / เธอไม่ได้เป็นเจ้าของโดยไม่ได้ตั้งค่าบิต x บิตนี้ทำอะไรกันแน่? ขอบคุณ

2
ผู้ใช้ขั้นสูงสามารถเขียนลงในไฟล์แบบอ่านอย่างเดียวได้หรือไม่
ฉันพบพฤติกรรมการอนุญาตที่แปลกใจ (สำหรับฉัน) ใน FreeBSD สมมติว่าฉันทำงานในฐานะผู้ใช้ที่ไม่ใช่รูท ฉันสร้างไฟล์ตั้งค่าการอนุญาตเป็นแบบอ่านอย่างเดียวแล้วลองเขียนลงไป: $ touch f $ chmod 400 f $ ls -l f -r-------- 1 user wheel f $ echo a >> t t: Permission denied. จนถึงตอนนี้ดีมาก ตอนนี้ฉันทำเช่นเดียวกับรูทและมันเขียนลงในไฟล์: # ls -l f2 -r-------- 1 root wheel f2 # echo a >> f2 # echo $? 0 …

3
รักษาสิทธิ์ของไฟล์ (หรือเรียกคืน) เมื่อทำการแทนที่ไฟล์
ฉันมีคำสั่งที่ยอมรับไฟล์เป็นอาร์กิวเมนต์ปรับเปลี่ยนไฟล์จากนั้นเขียนไปยังชื่อไฟล์ที่ระบุในอาร์กิวเมนต์ที่สอง ฉันจะเรียกโปรแกรมmodifyfileนั้น ฉันอยากให้มันทำงาน "แทนที่" ดังนั้นฉันจึงเขียนเชลล์สคริป (ทุบตี) ที่แก้ไขมันเป็นไฟล์ชั่วคราวจากนั้นย้ายมันกลับมา: TMP=`mktemp` modifyfile "$original" "$TMP" mv -v "$TMP" "$original" นี่เป็นผลข้างเคียงที่โชคร้ายของการทำลายการอนุญาตในไฟล์นี้ ไฟล์จะถูกสร้างขึ้นใหม่โดยมีการอนุญาตเริ่มต้น มีวิธีบอกให้mvคำสั่งเขียนทับปลายทางโดยไม่เปลี่ยนการอนุญาตหรือไม่? หรือจะมีวิธีบันทึกผู้ใช้กลุ่มและการอนุญาตจากต้นฉบับและกู้คืนได้หรือไม่

1
วิธีการเปลี่ยนการอนุญาตของไฟล์หลายไฟล์ที่พบด้วยคำสั่ง find?
ฉันมีไดเรกทอรีพร้อมไฟล์จำนวนมาก ส่วนหนึ่งของไฟล์มี755สิทธิ์และส่วนอื่นมี644สิทธิ์ ผมอยากจะแปลงไฟล์ที่มีสิทธิ์ในการ755 644ฉันได้ลองบรรทัดต่อไปนี้โดยใช้มันจากไดเรกทอรีตัวเอง: find . -perm 755 -exec chmod 644 {}\; อย่างไรก็ตามผลที่ได้รับอนุญาตมีการเปลี่ยนแปลงเฉพาะสำหรับไดเรกทอรีตัวเองและหลังจากเปลี่ยนกลับฉันพบว่าสิทธิ์ของไฟล์ยังคงไม่เปลี่ยนแปลง ฉันพลาดอะไรไปหรือเปล่า?

3
ไม่สามารถสร้างไฟล์ temp สำหรับ here-document: การอนุญาตถูกปฏิเสธ
[หมายเหตุ: Q ที่คล้ายกันนี้เกี่ยวข้องกับข้อความแสดงข้อผิดพลาด bash เดียวกัน มันถูกทำเครื่องหมายว่าซ้ำกับคำถามอื่น ๆนี้ แต่เนื่องจากฉันพบแหล่งที่มาที่แตกต่างกันมากสำหรับข้อผิดพลาดนี้ฉันจะตอบคำถามของฉันเองด้านล่าง] บรรทัดสคริปต์ทุบตีที่ทำงานก่อนหน้านี้ while ... do ... done <<< "$foo" วันหนึ่งเริ่มผลิตข้อความผิดพลาดนี้: ไม่สามารถสร้างไฟล์ temp สำหรับ here-document: การอนุญาตถูกปฏิเสธ

2
ให้สิทธิ์การเข้าถึงแก่ผู้ใช้ในโฟลเดอร์โดยไม่เปลี่ยนความเป็นเจ้าของ?
ฉันมีสคริปต์ที่ทำงานกับ/etc/NetworkManager: drwxr-xr-x 6 root root 4096 Apr 3 2017 NetworkManager/ ฉันต้องการให้programXสิทธิ์การเขียนแก่ผู้ใช้สำหรับโฟลเดอร์นี้โดยไม่เปลี่ยนความเป็นเจ้าของ เป็นไปได้หรือฉันจะต้องเปลี่ยนความเป็นเจ้าของ?

3
แก้ไขสิทธิ์สำหรับ / var / www / html หรือไม่
ฉันสามารถเขียนการเปลี่ยนแปลงในโฮมไดเร็กตอรี่ แต่เมื่อพูดถึง/var/www/htmlโฟลเดอร์ฉันไม่สามารถเปลี่ยนแปลงหรือสร้างไฟล์หรือโฟลเดอร์ใหม่ได้ ฉันสามารถดูไฟล์ในไดเรกทอรี โปรดแนะนำขั้นตอนที่ถูกต้องในการตั้งค่าการอนุญาต

1
“ cd” เป็น / sys / kernel / debug / tracing ทำให้เกิดการเปลี่ยนแปลงสิทธิ์
วันนี้ฉันได้พบกับปัญหาที่แปลกมากและไม่มีประโยชน์อะไรเกี่ยวกับเรื่องนี้เลย เซิร์ฟเวอร์ที่ฉันจัดการบางตัวได้รับการตรวจสอบด้วย Nagios เมื่อเร็ว ๆ นี้ฉันเห็นโพรบการใช้งานดิสก์ที่ล้มเหลวด้วยข้อผิดพลาดนี้: DISK CRITICAL - / sys / kernel / debug / tracing ไม่สามารถเข้าถึงได้: ปฏิเสธการอนุญาต ฉันต้องการตรวจสอบและความพยายามครั้งแรกของฉันคือตรวจสอบการอนุญาตของไดเรกทอรีนี้และเปรียบเทียบกับเซิร์ฟเวอร์อื่น (ผู้ที่ทำงานได้ดี) นี่คือคำสั่งที่ฉันรันบนเซิร์ฟเวอร์ที่ใช้งานได้และคุณจะเห็นว่าทันทีที่ฉันcdเข้าสู่ไดเรกทอรีสิทธิ์จะเปลี่ยนไป: # Here we've got 555 for /sys/kernel/debug/tracing root@vps690079:/home/admin# cd /sys/kernel/debug root@vps690079:/sys/kernel/debug# ll total 0 drwx------ 30 root root 0 Jul 19 13:13 ./ drwxr-xr-x 13 root root 0 …

1
ทำไม FreeBSD ถึงสูญเสียหน้ากาก w แต่เดเบียนยังคงเก็บมันไว้?
ฉันพยายามเข้าใจความแตกต่างของพฤติกรรมระหว่าง FreeBSD ACL และ Linux ACL โดยเฉพาะอย่างยิ่งกลไกการสืบทอดสำหรับ ACL เริ่มต้น ฉันใช้สิ่งต่อไปนี้กับทั้ง Debian 9.6 และ FreeBSD 12: $ cat test_acl.sh #!/bin/sh set -xe mkdir storage setfacl -d -m u::rwx,g::rwx,o::-,m::rwx storage touch outside cd storage touch inside cd .. ls -ld outside storage storage/inside getfacl -d storage getfacl storage getfacl outside getfacl storage/inside …

1
Debian: ไม่สามารถลบ symlink ใน / sys /: ไม่อนุญาตให้ดำเนินการ
ฉันรันคำสั่งบางอย่างโดยไม่เข้าใจในขณะที่พยายามทำให้หน้าจอสว่างและตอนนี้ฉันติดอยู่กับ symlink ที่น่ารังเกียจใน '/ sys / class / backlight / asus_laptop' ที่ฉันพยายามกำจัด ฉันเหนื่อย sudo rm /sys/class/backlight/asus_laptop sudo rm '/sys/class/backlight/asus_laptop' su root rm /sys/class/backlight/asus_laptop sudo rm /sys/class/backlight/asus_laptop ไปที่ไดเรกทอรีและการพิมพ์rm asus_laptopการเปลี่ยนความเป็นเจ้าของและการใช้ Thunar เพื่อลองลบออก ฉันเข้าใจ rm: cannot remove '/sys/class/backlight/asus_laptop': Operation not permitted กันไปสำหรับการยกเลิกการเชื่อมโยง rmdir ไม่ทำงานและ Thunar ล้มเหลว สิทธิ์ในการเป็นlrwxrwxrwx ฉันจะลบออกได้อย่างไร
10 linux  permissions  rm  sysfs 

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