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

บิตการอนุญาตในโหมดไฟล์ที่อนุญาตให้เรียกใช้ไฟล์เป็นโปรแกรม นอกจากนี้คำถามที่เกี่ยวข้องกับรูปแบบของไฟล์โปรแกรมและการค้นหาและเรียกใช้ไฟล์โปรแกรม

2
เหตุใดจึงมีหลายโปรแกรมอยู่ใน PATH
อย่างน้อยสิ่งหนึ่งที่ไขปริศนาเกี่ยวกับเดสก์ท็อป Linux อย่างน้อยก็คือทุกอย่างอยู่ในเส้นทางของฉัน ทุกอย่างฉันหมายถึงทุกแอปพลิเคชันเดสก์ท็อปรวมถึงสิ่งต่าง ๆ เช่น gnome-character-map และ glchess สิ่งเหล่านี้ไม่มีอินเตอร์เฟสบรรทัดคำสั่งที่จะพูดถึงดังนั้นฉันไม่สามารถนึกถึงกรณีที่ฉันจะเปิดใช้งานสิ่งเหล่านี้เป็นประจำจากเทอร์มินัล - และในกรณีที่ไม่น่าเป็นไปได้นั้นฉันไม่สามารถจินตนาการได้ว่า เส้นทาง ดูเหมือนว่าจะเป็นเรื่องตลก แต่อาจมีเหตุผลที่ดี ดังนั้นจึงไม่เกิดขึ้น? มีผลกระทบที่สำคัญต่อประสิทธิภาพหรือการบำรุงรักษาหรือไม่?

4
รหัสผ่านของผู้ใช้คนใดที่ `sudo 'ถามหา
$ ls -l /usr/bin/sudo -rwsr-xr-x 1 root root 136808 Jul 4 2017 /usr/bin/sudo ดังนั้นsudoสามารถรันsudoได้โดยผู้ใช้ใด ๆ และผู้ใช้ที่รันใด ๆจะมีรูตเป็น ID ผู้ใช้ที่มีประสิทธิภาพของกระบวนการเนื่องจากเซ็ตบิตผู้ใช้/usr/bin/sudoตั้งค่าของ จากhttps://unix.stackexchange.com/a/11287/674 ความแตกต่างที่เห็นได้ชัดเจนที่สุดระหว่าง sudo และ su คือsudo ต้องการรหัสผ่านของผู้ใช้และ su ต้องใช้รหัสผ่านของ root รหัสผ่านของผู้ใช้ใดsudoถาม เป็นผู้ใช้ที่แสดงโดย ID ผู้ใช้จริงของกระบวนการหรือไม่ ถ้าใช่ผู้ใช้จะไม่ได้รับสิทธิ์ superuser โดยการเรียกใช้sudoแล้วระบุรหัสผ่านของตนเอง? Linux สามารถ จำกัด สิ่งนั้นกับผู้ใช้บางคนได้หรือไม่? มันถูกต้องที่sudoจะขอรหัสผ่านหลังจากที่ execve()เริ่มต้นในการดำเนินการmain()ของ/usr/bin/sudo? เนื่องจาก euid ของกระบวนการเปลี่ยนเป็นรูท (เนื่องจากบิต set-user-id ของ / usr …

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 …

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! …

1
อัพเดตทางเลือกสำหรับผู้ใช้เพียงคนเดียว
ฉันกำลังใช้เซิร์ฟเวอร์ที่ใช้ร่วมกัน ติดตั้ง Java เวอร์ชันต่างๆบนเซิร์ฟเวอร์นั้น: Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode * 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode ฉันต้องการเลือกตัวเลือกที่สอง แต่ถ้าฉันพยายามทำเช่นนั้นจะบ่นว่าฉันไม่มีสิทธิ์ (ฉันไม่รูท) มีวิธีทำใน "พื้นที่ผู้ใช้" หรือไม่? ผู้ใช้รูททำให้การตั้งค่านี้ใช้งานได้สำหรับฉันเท่านั้นหรือไม่

3
ใน Unix พูดอะไรคือความแตกต่างระหว่าง shell script และ executable?
ฉันเคยเห็นคำถามนี้ในเว็บไซต์นี้และทำให้ฉันถามคำถามนี้ ฉันต้องการทราบใน Unix พูดความแตกต่างระหว่างปฏิบัติการและเชลล์สคริปต์อะไร

2
การลบไฟล์สคริปต์ออกจากภายในสคริปต์นั้นปลอดภัยหรือไม่
fooลองนึกภาพผมมีสคริปต์ ควรรันครั้งเดียวเมื่อผู้ใช้ลงชื่อเข้าใช้และไม่จำเป็นหลังจากเรียกใช้สำเร็จ คำถามของฉัน: ปลอดภัยไหมที่จะลบไฟล์สคริปต์ออกจากภายในสคริปต์? เช่น: #!/bin/bash # do something ... # if successful rm /path/to/foo exit 0

4
การเรียกใช้สคริปต์หลามจาก Linux Terminal
ฉันได้ดาวน์โหลดสคริปต์นี้ชื่อว่า pyAES.py และใส่ไว้ในรหัสชื่อโฟลเดอร์ในไดเรกทอรี Desktop ของ Linux ของฉัน ตามตัวอย่างนี้ http://brandon.sternefamily.net/2007/06/aes-tutorial-python-implementation/ เมื่อฉันพิมพ์ ./pyAES.py -e testfile.txt -o testfile_encrypted.txt ควรดำเนินการไฟล์ pyAES.py แต่ฉันได้รับข้อผิดพลาดนี้ pi@raspberrypi ~/Desktop/Codes $ pyAES.py -bash: pyAES.py: command not found ผลลัพธ์ของls -lคำสั่งคือ pi@raspberrypi ~/Desktop/Codes $ ls -l total 16 -rw-r--r-- 1 pi pi 14536 Oct 8 10:44 pyAES.py นี่คือผลลัพธ์หลังจาก chmod +x pi@raspberrypi ~/Desktop/Codes …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.