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

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

2
แก้ไขความเป็นเจ้าของไฟล์สำหรับไฟล์ที่อยู่ในไฟล์เก็บถาวร tar
ฉันทำงานในฐานะผู้ใช้และฉันต้องการสร้างไฟล์เก็บถาวร tar ซึ่งเมื่อแตกไฟล์ (โดยรูท) จะแตกไฟล์ด้วยการเป็นเจ้าของราก (มิฉะนั้นรูตจะต้องเปลี่ยนความเป็นเจ้าของด้วยตนเองสำหรับแต่ละไฟล์หลังจากไฟล์ถูกแตกแล้ว ไปยังปลายทาง) ฉันได้พบfakerootซึ่งดูเหมือนว่าจะทำอย่างนั้น แต่ฉันไม่สามารถหาไวยากรณ์ที่ฉันต้องใช้เพื่อสร้างที่เก็บถาวรของฉัน ฉันจะสร้างไฟล์เก็บถาวร tar.xz ได้อย่างไรเพื่อให้ไฟล์มีความเป็นเจ้าของรูทเมื่อแตกไฟล์โดยรูท do something with fakeroot ... tar cfpJ foo.tar.xz foo/
10 files  permissions  tar 

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

3
เริ่มเป็นกลุ่มในฐานะผู้ใช้ของฉันด้วยสิทธิ์พิเศษ
ฉันมีไฟล์เสียงเรียกเข้าที่กำหนดเอง~/.vimและการตั้งค่าของ~/.vimrcฉัน อย่างไรก็ตามบางครั้งฉันต้องแก้ไขไฟล์บางไฟล์ใน/etcนั้น ถ้าฉันเริ่มเป็นกลุ่มแบบนี้: $ sudo vim /etc/rc.conf ฉันทำ config ของฉันหายไปเพราะ Vim ใช้ค่าเริ่มต้น ดังนั้น: ฉันจะเรียกใช้ Vim ด้วยสิทธิ์ root เพื่อแก้ไขไฟล์โดยไม่สูญเสียการตั้งค่าของผู้ใช้ (ซึ่งอยู่ในโฮมไดเร็กตอรี่ของฉัน) ได้อย่างไร? ฉันเหนื่อย: $ su username -c "vim /usr/lib/python2.7/setuptools/dist.py" Permission deniedแต่ทุบตีให้ฉัน อย่างไรก็ตามคำสั่งดังกล่าวใช้งานได้สำหรับตัวอย่าง: /etc/acpi/handler.sh. ทำไมถึงเป็นอย่างนั้น? หมายเหตุ: ชื่อผู้ใช้ไม่ได้เป็นรูท

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

1
ทำไมฉันไม่สามารถสร้างไฟล์ด้วยชื่อนำหน้าด้วย“ passwd” ใน“ / ฯลฯ ”?
ฉันมีพีซีที่ติดตั้ง Ubuntu 16.04 เมื่อเร็ว ๆ นี้ฉันต้องการติดตั้งแพคเกจบางอย่าง แต่มีปัญหาในการติดตั้ง หลังจากขุดบางฉันพบว่าความล้มเหลวดูเหมือนว่าจะเกี่ยวข้องกับระบบบัญชีผู้ใช้ linux ปัญหาคือไฟล์ที่มีชื่อนำหน้าด้วยpasswd.ไม่สามารถสร้างได้ใน/etcพา ธ # ls /etc/passwd.* ls: cannot access '/etc/passwd.*': No such file or directory # touch /etc/passwd.test-test-test touch: cannot touch '/etc/passwd.test-test-test': Permission denied # ls /etc/passwe.* ls: cannot access '/etc/passwe.*': No such file or directory # touch /etc/passwe.test-test-test # ฉันสามารถสร้างไฟล์นั้นในเส้นทางอื่น ๆ …

2
เหตุใดค่า umask บางอย่างจึงไม่มีผล
ฉันพยายามที่จะเข้าใจการอนุญาตที่ดีขึ้นดังนั้นฉันจึงทำ "แบบฝึกหัด" นี่คือลำดับของคำสั่งที่ฉันใช้กับเอาต์พุตที่เกี่ยวข้อง: $ umask 0022 $ touch file1 $ ls -l file1 -rw-r--r-- 1 user group 0 Mar 16 12:55 file1 $ mkdir dir1 $ ls -ld dir1 drwxr-xr-x 2 user group 4096 Mar 16 12:55 dir1 นั่นสมเหตุสมผลเพราะเรารู้ว่าการอนุญาตไฟล์เริ่มต้นคือ666( rw-rw-rw-) และสิทธิ์เริ่มต้นไดเรกทอรีคือ777( rwxrwxrwx) ถ้าฉันลบค่า umask จากสิทธิ์เริ่มต้นเหล่านี้ฉันมี 666-022=644, rw-r--r--สำหรับfile1ดังนั้นมันเชื่อมโยงกันกับการส่งออกก่อนหน้า; 777-022=755, rwx-r-x-r-xสำหรับdir1, ยังสอดคล้องกัน …

1
ปฏิเสธการอนุญาตสำหรับไฟล์เดียวในไดเรกทอรีในฐานะผู้ใช้รูทบนระบบไฟล์ ext3 ภายใต้ RAIDiator OS
ฉันมีกล่อง ReadyNAS ชื่อ "พื้นที่เก็บข้อมูล" ที่ฉันเชื่อว่าเป็นไปตาม Debian ฉันสามารถ ssh เป็นราก ฉันพยายามกำหนดค่าเว็บเซิร์ฟเวอร์ใหม่ แต่ฉันพบปัญหาการอนุญาตไฟล์ที่ฉันไม่เข้าใจ ฉันไม่สามารถทำอะไร/etc/frontview/apache/apache.pemได้แม้จะหยั่งราก! ดูเหมือนว่าจะไม่มีสิทธิ์พิเศษใด ๆ เมื่อเทียบกับไฟล์อื่น ๆ ในไดเรกทอรีเดียวกันและฉันสามารถทำงานกับไฟล์เหล่านั้นได้ storage:~# whoami root storage:~# cd /etc/frontview/apache/ storage:/etc/frontview/apache# ls -lah apache.pem* -rw------- 1 admin admin 4.0k Jul 10 2013 apache.pem -rw------- 1 admin admin 4.0k Jun 9 05:57 apache.pem.2017-02-04 -rw------- 1 admin admin 1.5k …

2
ทำไม setuid ไม่สามารถใช้งานกับไฟล์ที่เรียกทำงานได้?
ฉันรู้ว่าการเปิดใช้งาน setuid กับสคริปต์มีปัญหาด้านความปลอดภัยและดังนั้นจึงไม่ได้ใช้งานเป็นค่าเริ่มต้น แต่คาดว่าจะใช้งานได้สำหรับไฟล์ปฏิบัติการ ฉันสร้างและปฏิบัติการซึ่งแสดง uid เป็นคำสั่งต่อไปนี้อธิบายไว้ในโพสต์นี้: อนุญาต setuid ในสคริปต์เชลล์ แต่มันกลับ uid เดียวกัน (1000) sudo chmod +s ./setuid-testทั้งก่อนและหลังการทำงาน ฉันคิดว่านี่หมายความว่า setuid ไม่มีผลกระทบใด ๆ ต่อการปฏิบัติการของฉันทำไมและวิธีการแก้ปัญหา? รหัสแหล่งที่มา: #include <stdio.h> #include <unistd.h> int main(int argc, char** argv) { printf("%d", geteuid()); return 0; } สร้างและเรียกใช้ด้วย $ gcc -o setuid-test setuid-test.c $ ./setuid-test 1000 $ sudo …

2
ลบ / tmp โดยไม่ตั้งใจ
ฉันวิ่งไปโดยบังเอิญsudo rm -r /tmpนั่นเป็นปัญหาหรือไม่? ฉันสร้างมันขึ้นมาโดยใช้มันsudo mkdir /tmpช่วยแก้ปัญหาได้ไหม? หลังจากที่ฉันสร้างไดเรกทอรีขึ้นมาใหม่ในส่วนของplacesในแถบด้านข้างใน nautilus ใน Ubuntu 14.04 ฉันเห็น / tmp ซึ่งไม่เคยมีมาก่อน .. นั่นเป็นปัญหาหรือเปล่า สิ่งสุดท้ายที่ฉันต้องsudo chown $USER:$USER /tmpทำเพื่อให้สามารถเข้าถึงได้เหมือนเดิม .. จะมีผลข้างเคียงหลังจากนี้หรือไม่? โดยวิธีการที่ฉันได้รับข้อผิดพลาดที่เกี่ยวข้องกับดูเหมือนเมื่อฉันพยายามใช้การเติมข้อความอัตโนมัติทุบตี bash: ไม่สามารถสร้างไฟล์ temp สำหรับ here-document: การอนุญาตถูกปฏิเสธ

1
ทำไมสิทธิ์ปฏิเสธสำหรับ npm เริ่มใช้ node-dev?
ฉันพยายามเริ่มต้นแอปพลิเคชัน node.js ด้วยผู้ใช้ที่มีสิทธิ์ต่ำ ไฟล์ทั้งหมดที่ฉันรู้จักนั้นเป็นของผู้ใช้ที่ถูกต้องและมีการอนุญาตที่เหมาะสม ฉันพยายามใช้ไฟล์สคริปต์เพื่อทำสิ่งนี้ ฉันเรียกใช้สคริปต์ด้วยคำสั่งนี้ sudo su - nodejs ./start-apps.sh เชลล์สคริปต์รันคำสั่งนี้เพื่อเริ่มแอป cd "/home/nodejs/my-app" npm start npm startเป็นเอกสารที่นี่ โดยพื้นฐานแล้วมันจะดึงคำสั่งให้ใช้ไฟล์ package.json ซึ่งในแอพของเรามีลักษณะดังนี้: // snip "scripts": { "start": "node-dev app" }, และมันก็พ่นความผิดพลาดออกไป: > my-app@0.1.0-build.100 start /home/nodejs/my-app > node-dev app sh: 1: node-dev: Permission denied npm ERR! spicoli-authorization@0.1.0-build.100 start: `node-dev app` npm ERR! …

4
วิธีการตรวจสอบสิทธิ์กลุ่มของไฟล์
ฉันต้องการตรวจสอบการอนุญาตกลุ่มของไฟล์จากสคริปต์ทุบตี โดยเฉพาะฉันต้องตรวจสอบว่าไฟล์มีบิตของกลุ่มที่สามารถเขียนได้หรือไม่ แค่นั้นแหละ. เรียบง่ายเหมือนที่ อย่างไรก็ตาม: ฉันยังต้องการสิ่งนี้เพื่อพกพา test -w <file จะไม่บอกฉันว่ามันเป็นกลุ่มที่เขียนได้ ผลลัพธ์ของls -ldดีสำหรับมนุษย์ แต่ไม่แน่ใจเกี่ยวกับสคริปต์ ในทางเทคนิคแล้วฉันสามารถแยกวิเคราะห์เอาต์พุตเช่นdrwxrwxr-xเพื่อแยกบิตกลุ่ม แต่ดูเหมือนจะเปราะ อินเทอร์เฟซสำหรับstatเข้ากันไม่ได้อย่างสมบูรณ์ระหว่าง OS X และระบบอื่น ๆ find <file> -perm ... ไม่สามารถเป็นคำตอบได้ใช่ไหม
9 bash  permissions  ls  stat 

3
Apache2 userdir เปิดใช้งาน แต่ยังไม่มีสิทธิ์เข้าถึง
ฉันกำลังพยายามตั้งค่าเซิร์ฟเวอร์ apache บนแล็ปท็อป Kubuntu 13.04 ของฉัน ฉันได้ติดตั้งแพคเกจ apache2 แล้วและsudo a2enmod userdir; sudo service apache2 restartยังเมื่อฉันไปเยี่ยมhttp://localhost/~userมันพูดแบบนี้: Forbidden You don't have permission to access /~user on this server. Apache/2.2.22 (Ubuntu) Server at localhost Port 80 ผลลัพธ์ของ tail /var/log/apache2/access.log 127.0.0.1 - - [02/Aug/2013:16:22:01 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux …

5
การทำให้ไดเรกทอรีได้รับการป้องกันจาก 'rm -rf'
ฉันเพียงแค่สูญเสียข้อมูลบางอย่างในโฟลเดอร์ซึ่งเป็นโฟลเดอร์ภายใน B rm -rf Bหลังจากที่ทำ ก่อนที่ฉันจะรู้ว่าสิ่งที่ฉันทำมันจบลงแล้ว ตอนนี้ฉันได้เรียนรู้บทเรียนแล้วฉันต้องการทำให้โฟลเดอร์ของฉันงี่เง่าพิสูจน์เพื่อหลีกเลี่ยงในครั้งต่อไปเมื่อฉันทำสิ่งที่คล้ายกันและต้องการที่จะฆ่าตัวตาย rmวิธีการหนึ่งที่ฉันสามารถคิดคือการเขียนฟังก์ชั่นการทุบตีและนามแฝงมัน .dontdeleteฟังก์ชั่นนี้จะดูในแต่ละโฟลเดอร์ย่อยสำหรับไฟล์ที่ซ่อนอยู่เช่น เมื่อพบว่ามันจะถามว่าฉันต้องการที่จะดำเนินการต่อไป ฉันไม่สามารถป้องกันการเขียนได้เนื่องจากมีกระบวนการที่เขียนไปยังโฟลเดอร์นี้อย่างต่อเนื่อง มีวิธีที่ดีกว่าที่จะทำหรือไม่

2
เชื่อมต่อไดรฟ์ USB (FAT32) เพื่อให้ผู้ใช้ทุกคนสามารถเขียนลงไปได้
ฉันมีไดรฟ์ USB FAT32 ที่เป็น / dev / sda2 ฉันได้ติดตั้งเป็น / media / bigdrive อย่างไรก็ตามฉันได้รับอนุญาตปฏิเสธเมื่อใดก็ตามที่ฉันพยายามแตะไฟล์ที่นั่นในฐานะผู้ใช้ที่ไม่ใช่รูท เมื่อฉันวิ่งmountฉันจะเห็นบรรทัดนี้: /dev/sda2 on /media/bigdrive type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=ascii,shortname=mixed,errors=remount-ro) / etc / fstab ของฉันมีบรรทัดนี้: /dev/sda2 /media/bigdrive vfat rw,user,exec,umask=000 0 0 ฉันพยายามวิ่งsudo chmod 777 /media/bigdriveแล้วsudo chmod 777 -R /media/bigdrive ไม่มีใครเปลี่ยนแปลงอะไรเลย มีอะไรฉันหายไปไหม นี่คือ rasberry pi ที่ใช้ raspbian BTW

4
ทำรายการไฟล์ซ้ำด้วยชื่อไฟล์ชื่อโฟลเดอร์และการอนุญาต
มีอยู่ฉันสามารถแสดงรายการไฟล์โดยพิมพ์คำสั่งในเชลล์ที่แสดงชื่อไฟล์ชื่อโฟลเดอร์และการอนุญาตใน CentOS ทั้งหมดหรือไม่
9 files  permissions  find  ls 

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