ฉันจะค้นหารหัสผ่านไปยังกลุ่ม www-data ได้อย่างไรเพื่อให้ฉันสามารถเปลี่ยนสิทธิ์การเข้าถึงไดเรกทอรี


11

ฉันใช้งาน Ubuntu บน Oracle Vbox ใน Windows 7 เพื่อพัฒนาเว็บไซต์ ฉันมีชุดไดเรกทอรีที่มีสิทธิ์อ่าน / เขียนของเจ้าของ แต่กลุ่ม www-data ไม่มีสิทธิ์ในไดเรกทอรี

ฉันลองคำสั่ง sudo chmod 640 /path-to-directoryเพื่อเปลี่ยนสถานะ แต่ได้รับข้อความขอรหัสผ่าน www-data ของฉัน รหัสผ่านระดับเจ้าของของฉันไม่ทำงานและฉันไม่รู้ว่ารหัสผ่านนี้อาจเป็นอะไร

ฉันพยายามpasswdรับข้อความ 'เปลี่ยนรหัสผ่านสำหรับ www-data และแจ้งขอรหัสผ่านปัจจุบันของฉัน เมื่อฉันป้อนฉันได้รับข้อความแสดงข้อผิดพลาดนี้:

passwd: ข้อผิดพลาดการจัดการโทเค็นการตรวจสอบความถูกต้อง
passwd: รหัสผ่านไม่เปลี่ยนแปลง

ข้อความแสดงข้อผิดพลาดนี้ดูเหมือนปัญหาบางอย่างในระบบของฉัน แต่ทุกอย่างทำงานได้ดี

คำตอบ:


18

คุณทำผิด (tm) :)

ในหน้าต่างเทอร์มินัลดูที่ "command prompt":

username@hostname:~$

คืออะไรusernameที่นั่น? คุณสามารถลองป้อนwhoami[Enter] เพื่อดูชื่อผู้ใช้ปัจจุบันของคุณ

ดูเหมือนว่าคุณจะป้อนคำอธิบายจากคุณ

sudo su www-data

หรืออย่างอื่นเปิดเซสชันคอนโซลในฐานะผู้ใช้ www-data ผู้ใช้นี้ไม่มีสิทธิ์ในการใช้sudoคำสั่งดังนั้นความพยายามของคุณในการใช้งานsudoล้มเหลว

www-dataผู้ใช้ยังไม่ได้ตั้งรหัสผ่านตามค่าเริ่มต้นดังนั้นจึงเป็นไปไม่ได้ที่จะเข้าสู่ระบบโดยตรงในฐานะผู้ใช้รายนี้ สิ่งไหนดี. คุณไม่ต้องการให้รหัสผ่าน

คุณต้องเปิดเซสชันอื่นในฐานะผู้ใช้ของคุณ (หรือออกจากwww-dataเซสชันปัจจุบัน) และพิมพ์คำสั่งที่นั่น:

sudo chown yourusername:www-data /path/to/directory

ซึ่งจะขอรหัสผ่านเข้าสู่ระบบของคุณ

(หรืออาจแค่ย้ายสิ่งของ/var/wwwที่มีสิทธิ์ที่ถูกต้องอยู่แล้วจากนั้นคุณสามารถเพิ่มผู้ใช้ของคุณไปยังกลุ่ม www-data เพื่อรับสิทธิ์อ่าน - เขียนในไดเรกทอรีนั้น)


ขอบคุณ แต่ฉันสับสนเล็กน้อย "whoamI" บอกฉันว่าฉันเป็น www-data แม้ในไดเรกทอรีของระบบ ดังนั้นฉันจึงพยายามที่จะเปลี่ยนผู้ใช้และชื่อเดียวที่ระบุไว้คือชื่อ unix (เจ้าของ) ของฉัน แต่มันเชื่อมโยงกับเซสชัน www-data นี้ การตั้งค่านี้สร้างขึ้นโดยอัตโนมัติเพื่อเรียกใช้เว็บไซต์ Drupal และฉันไม่เข้าใจรายละเอียดปลีกย่อยของ Ubuntu ฉันจะเข้าสู่ระบบด้วยข้อมูลประจำตัวของเจ้าของได้อย่างไร BTW ฉันพยายามย้ายไดเรกทอรีไปที่ / var / www แต่ฉันไม่มีสิทธิ์ในการทำเช่นนั้นเป็นข้อมูล www
Ashlar

เปิดหน้าต่างเทอร์มินัลอื่น พิมพ์ที่whoamiนั่น คุณยังมีข้อมูล www อยู่หรือไม่? ฉันไม่แน่ใจว่าคุณหมายถึงอะไรโดย "ชื่อ unix (เจ้าของ)" - คุณใส่ชื่อผู้ใช้อะไรเมื่อเข้าสู่ระบบ? คล้ายกับ "ashlar" หรือ "admin" หรือมันคือ "www-data"?
Sergey

ฉันเปิดคำถามแยกต่างหากที่นี่askubuntu.com/questions/124073และจะเพิ่มคำตอบที่นั่น
Ashlar

ความผิดฉันเอง. ฉันเข้าใจผิดคำแนะนำของคุณ ฉันสามารถเริ่มต้นเซสชันเทอร์มินัลใหม่ในฐานะเจ้าของและทำการเปลี่ยนแปลงได้!
Ashlar

-1

ในการเปลี่ยนรหัสผ่านให้ใช้คำสั่งนี้ชื่อผู้ใช้ sudo passwdเปลี่ยนชื่อผู้ใช้กับผู้ใช้ที่คุณต้องการตั้งรหัสผ่านใหม่ แต่คุณควรตรวจสอบความเป็นเจ้าของและกลุ่มของไดเรกทอรีเฉพาะ ใช้คำสั่งนี้ ls -l / path / to / file # ฟิลด์ที่สามในเอาต์พุต ls -l คือผู้ใช้และที่สี่คือกลุ่ม

คุณสามารถเปลี่ยนกลุ่มและความเป็นเจ้าของด้วยchown

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