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

แทนคำสั่งผู้ใช้

11
จะป้องกันผู้ใช้จากการล็อกอิน แต่อนุญาตให้“ su - user” ใน Linux ได้อย่างไร
คุณอนุญาตให้ผู้ใช้เข้าสู่ระบบโดยใช้ " su - ผู้ใช้ " แต่ป้องกันผู้ใช้จากการเข้าสู่ระบบในการใช้ SSH ได้อย่างไร? ฉันพยายามที่จะตั้งค่าเปลือก/bin/falseแต่เมื่อฉันพยายามที่suจะไม่ทำงาน มีหลายวิธีในการอนุญาตการเข้าสู่ระบบด้วยsuหรือไม่ SSH เป็นAllowUserทางไปหรือเปล่า? (ฉันจะทำสิ่งนี้ได้อย่างไรถ้าเป็นไปได้)
93 linux  login  su 

7
เรียกใช้สคริปต์ในฐานะผู้ใช้ที่มีเปลือก nologin
ทั้งหมดที่ฉันต้องทำคือการใช้สคริปต์เฉพาะเป็นผู้ใช้โดยเฉพาะอย่างยิ่งคนที่ไม่ได้มีเปลือกที่ระบุไว้ในnologin/false/etc/passwd ฉันจะเรียกใช้สคริปต์ในฐานะรูทและควรเรียกใช้ในฐานะผู้ใช้รายอื่น วิ่ง: ~# su -c "/bin/touch /tmp/test" testuser จะใช้งานได้ แต่ฉันต้องการเชลล์ที่ถูกต้องสำหรับ testuser ฉันรู้ว่าฉันสามารถปิดการใช้งานรหัสผ่านด้วยpasswd -d testuserและปล่อยเปลือก/bin/bashด้วยวิธีนี้จะปลอดภัยเล็กน้อย แต่ฉันต้องมีnologin/falseเปลือก โดยทั่วไปสิ่งที่ฉันต้องการคือสิ่งที่crontabจะเกิดขึ้นเมื่อเราตั้งค่างานให้ทำงานในฐานะผู้ใช้เฉพาะไม่ว่าจะมีงานnologin/falseเชลล์ ps ฉันพบกระทู้นี้รันคำสั่งในฐานะผู้ใช้ nologinแต่ฉันไม่รู้ว่าจะconcatenateใช้คำสั่งsu -s /bin/sh $userไปยังสคริปต์ที่ฉันต้องใช้อย่างไร
87 linux  bash  shell  su  login 

2
การดำเนินการคำสั่งในฐานะผู้ใช้ nologin
ฉันเพิ่งตั้งค่าเซิร์ฟเวอร์ของฉันเพื่อให้ผู้ใช้ suPHP 'เสมือน' ไม่สามารถเข้าสู่ระบบได้โดยใช้บทความนี้ ปัญหาของฉันตอนนี้คือก่อนหน้านี้เมื่อฉันรันrakeคำสั่งสำหรับแอปพลิเคชัน Ruby on Rails ของฉันที่ทำงานบนเซิร์ฟเวอร์ฉันเคยsuเข้าไปwww-dataและรันคำสั่งจากที่นั่น - เห็นได้ชัดว่าฉันไม่สามารถทำเช่นนั้นได้อีกต่อไป ในฐานะผู้ใช้รูทฉันจะรันคำสั่งเป็นผู้ใช้อื่นได้อย่างไรแม้ว่าพวกเขาจะเป็น nologin?

2
เหตุใดการเปลี่ยนเส้นทาง 'สคริปต์' ไปยัง / dev / null / อนุญาตให้ 'หน้าจอ' ทำงานในขณะที่ผู้ใช้อื่นเป็นผู้ใช้
ฉันถูก su'ed เป็นผู้ใช้เพื่อเรียกใช้สคริปต์ยาวเฉพาะ ฉันต้องการใช้หน้าจอ แต่ได้รับข้อความแสดงข้อผิดพลาด "ไม่สามารถเปิด terminal '/ dev / pts / 4' - โปรดตรวจสอบ" ดังนั้นผมจึง Googled ไปรอบ ๆ $ script '/dev/null/'และมาข้ามโพสต์ฟอรั่มที่ได้รับคำสั่งให้วิ่ง ฉันทำเช่นนั้นแล้วฉันจะกลั่นกรอง ทำไมจึงใช้งานได้ หน้าจอนั้นกำลังทำอะไรซูไม่สามารถทำงานในฐานะผู้ใช้ที่เป็นผู้ใช้งานได้? เหตุใดการส่ง 'สคริปต์' ไปยัง / dev / null อีกครั้งจึงถูกป้องกันอย่างอื่น ใช้สคริปต์เพื่อเขียนบันทึกในฐานะผู้ใช้ดั้งเดิมไปยังที่อื่นหรือไม่?
36 linux  bash  gnu-screen  su 

1
ความแตกต่างระหว่าง sudo su - postgres และ sudo -u postgres คืออะไร
การพิสูจน์ตัวตนผู้ใช้ PostgreSQL บนซ็อกเก็ต unix โดยค่าเริ่มต้นโดยผู้ใช้ unix จะต้องเหมือนกับผู้ใช้ PostgreSQL ดังนั้นคนมักจะใช้suหรือsudoกลายเป็นpostgressuperuser ฉันมักจะเห็นคนใช้โครงสร้างเช่น: sudo su - postgres ค่อนข้างมากกว่า sudo -u postgres -i และฉันสงสัยว่าทำไม ฉันได้เห็น: sudo su - postgres -c psql แทน sudo -u postgres psql โดยไม่ต้องนำรุ่นจะทำให้ความรู้สึกบางอย่างถ้าคุณอยู่บนแพลตฟอร์มเก่าโดยไม่ต้อง แต่ทำไมคุณจะใช้ยูนิกซ์หรือลีนุกซ์ที่น้อยกว่ายุคก่อนประวัติศาสตร์?sudosusudosudo su
35 postgresql  shell  sudo  su 

2
เรียกใช้คำสั่งในฐานะผู้ใช้ Linux“ ระบบ” (shell = / bin / false)
ฉันสร้างผู้ใช้ "ระบบ" ใน Ubuntu 11.04 ( adduser --system) เพื่อใช้งาน cron บางอย่าง แต่บางครั้งฉันต้องการทดสอบสิ่งต่าง ๆ โดยใช้คำสั่งด้วยตนเองในฐานะผู้ใช้นั้น วิธีที่ง่ายที่สุดในการทำเช่นนี้คืออะไร? suไม่ทำงานเนื่องจากผู้ใช้มี/bin/falseเป็นเชลล์ (ซึ่งใช้ได้สำหรับ cron) ฉันเปลี่ยนเชลล์เป็นด้วยตนเอง/bin/bashเพื่อทำการทดสอบแล้วเปลี่ยนกลับอีกครั้ง แต่ฉันสงสัยว่ามีวิธีที่ง่ายกว่านี้ไหม
29 linux  ubuntu  shell  cron  su 

4
BASH Scripting, ไปที่ www-data สำหรับคำสั่งเดียว
ฉันทำงานในการสร้างการทำงานอัตโนมัติของที่เก็บโค่นล้มและเว็บไซต์ที่เกี่ยวข้องตามที่อธิบายไว้ในบล็อกโพสต์นี้ที่ผมเขียน ฉันพบปัญหาในส่วนที่ฉันไปยังผู้ใช้ www-data เพื่อเรียกใช้คำสั่งต่อไปนี้: svnadmin create /svn/repository มีการตรวจสอบที่จุดเริ่มต้นของสคริปต์ที่ทำให้แน่ใจว่ามันทำงานเป็น root หรือ sudo และทุกอย่างหลังจากนั้นคำสั่งเดียวจะต้องทำงานเป็น root มีวิธีที่ดีในการเรียกใช้คำสั่งหนึ่งคำว่าเป็น www-data จากนั้นสลับกลับไปที่รูทเพื่อจบการทำงานหรือไม่?
26 ubuntu  bash  svn  su 

2
“ ไม่สามารถตั้งค่ากลุ่มกระบวนการเทอร์มินัล” ระหว่าง su ให้ผู้ใช้อื่นเป็นเชลล์การเข้าสู่ระบบ
หมายเหตุ: โปรดอ่านข้อมูลอัพเดทที่เริ่มต้นด้วย "แก้ไข" ใกล้กับจุดกึ่งกลางของโพสต์นี้สภาพแวดล้อมและพื้นหลังของปัญหานี้มีการเปลี่ยนแปลง ฉันได้ติดตั้ง Debian 6.0 แบบมาตรฐานที่นี่แล้วฉันจึงตัดสินใจปรับรุ่นเป็นที่เก็บการทดสอบ Debian ฉันทำสิ่งนี้โดยการสลับการอ้างอิงไปยัง Squos repos ใน source.list ของฉันเพื่อใช้ repos การทดสอบแทน หลังจากแพคเกจติดตั้งและรีบูตฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อพยายาม su - กับผู้ใช้รายอื่น: root@skaia:~# su joebloggs - bash: cannot set terminal process group (-1): Inappropriate ioctl for device bash: no job control in this shell หากฉันละเว้น - สิ่งนี้จะไม่เกิดขึ้น โปรดทราบว่าผู้ใช้สามารถรูทได้อย่างถูกต้องซึ่งจะเกิดขึ้นเมื่อเปลี่ยนจากรูทเป็นบุคคลอื่นและใช้ - เพื่อรับสภาพแวดล้อมของผู้ใช้นั้น Google …

8
Linux - ใช้“ su -” แต่เก็บไดเรกทอรีปัจจุบัน
เมื่อฉันsu -จะไปรูทไดเร็กทอรีปัจจุบันของฉันถูกตั้งเป็นรูทโฮม มีอยู่แล้วเพื่อเก็บไดเรกทอรีปัจจุบันที่ฉันชอบsudo -sมาก หรือเป็นคำตอบให้ใช้ sudo?
14 linux  unix  sudo  su 

3
“ sudo su -” ถือว่าเป็นวิธีที่ไม่ดีหรือไม่?
พื้นหลัง ฉันรู้ว่าความแตกต่างระหว่างsu -, sudo su -และsudo <command>: su - - สลับผู้ใช้เป็นรูทต้องใช้รหัสผ่านรูท sudo su - - สลับผู้ใช้เป็นรูทต้องการเพียงรหัสผ่านของผู้ใช้ปัจจุบัน sudo <command>- ให้สิทธิ์การเข้าถึงรูตสำหรับคำสั่งเฉพาะ ต้องใช้รหัสผ่านของผู้ใช้ปัจจุบันเท่านั้น คำถามของฉันเกี่ยวกับการใช้หรือไม่sudo su -เป็นวิธีปฏิบัติที่ปลอดภัยในสภาพแวดล้อมการผลิต ความคิดบางอย่าง: ดูเหมือนว่าการอนุญาตให้sudo su -มีความเสี่ยงด้านความปลอดภัยโดยการเข้าถึงบัญชีรูทขึ้นอยู่กับรหัสผ่านของผู้ใช้แต่ละคน แน่นอนว่าสิ่งนี้อาจลดลงได้ด้วยการบังคับใช้นโยบายรหัสผ่านที่เข้มงวด ฉันไม่คิดว่าsu -จะดีไปกว่านี้เพราะต้องการให้ผู้ดูแลระบบแชร์รหัสผ่านรูทจริง การอนุญาตให้ผู้ใช้สลับไปยังบัญชีรูททั้งหมดทำให้ยากต่อการติดตามว่าใครเป็นผู้เปลี่ยนแปลงระบบ ฉันเคยเห็นเคสในงานประจำวันของฉันซึ่งมีผู้ใช้หลายคนsudo su -เข้าถึง สิ่งแรกที่ผู้ใช้ทำเมื่อลงชื่อเข้าใช้ระบบจะทำงานsudo su -ก่อนเริ่มทำงาน จากนั้นวันหนึ่งมีบางอย่างหยุดพักและไม่มีการตรวจสอบย้อนกลับว่าใครเป็นคนขับrm -rf *ผิดไดเรกทอรี คำถาม เมื่อพิจารณาจากข้อกังวลข้างต้นเป็นความคิดที่ดีหรือไม่ที่จะอนุญาตให้ผู้ใช้ใช้งานsudo su -หรือแม้แต่ใช้งานsu -เลย? มีเหตุผลใดบ้างที่ผู้ดูแลระบบจะกำหนดค่าบัญชีผู้ใช้สำหรับsudo su -หรือsu -แทนsudo <command>(นอกเหนือจากความเกียจคร้าน)? …
13 linux  unix  sudo  su 

8
ใช้ su ภายในของเชลล์สคริปต์
ฉันกำลังทำให้กระบวนการปรับใช้เป็นไปโดยอัตโนมัติและฉันต้องการเรียกไฟล์. sh หนึ่งไฟล์บนเครื่องของฉันให้ฉันสร้างและอัปโหลด. zip ไปยังเซิร์ฟเวอร์แล้วทำสิ่งต่าง ๆ บนเซิร์ฟเวอร์ หนึ่งในสิ่งที่ฉันต้องทำคือให้ฉันต้องรูต ดังนั้นสิ่งที่ฉันต้องการทำคือ: ssh user@172.1.1.101 <<END_SCRIPT su - #password... somehow... #stop jboss service server_instance stop #a bunch of stuff here #all done! exit END_SCRIPT เป็นไปได้ไหม
12 ssh  bash  sudo  su 

4
การปรับแต่งเคอร์เนลพร้อมสิทธิพิเศษ Docker Container
ฉันกำลังสร้างที่เก็บเพื่อปรับการตั้งค่าเคอร์เนลสำหรับตัวโหลดบาลานซ์ ฉันต้องการปรับใช้การเปลี่ยนแปลงเหล่านั้นกับโฮสต์ในภาพโดยใช้คอนเทนเนอร์ที่มีสิทธิ์เดียว ตัวอย่างเช่น: docker run --rm --privileged ubuntu:latest sysctl -w net.core.somaxconn=65535 ในการทดสอบการเปลี่ยนแปลงจะมีผล แต่เฉพาะกับคอนเทนเนอร์นั้น ฉันอยู่ภายใต้การแสดงผลที่มีการเปลี่ยนแปลงที่เก็บสิทธิ์อย่างเต็มที่ไปที่ / proc จริง ๆ แล้วจะเปลี่ยนระบบปฏิบัติการพื้นฐาน $docker run --rm --privileged ubuntu:latest \ sysctl -w net.core.somaxconn=65535 net.core.somaxconn = 65535 $ docker run --rm --privileged ubuntu:latest \ /bin/bash -c "sysctl -a | grep somaxconn" net.core.somaxconn = 128 นี่เป็นวิธีที่คอนเทนเนอร์ที่มีสิทธิใช้งานควรทำงานหรือไม่ ฉันแค่ทำอะไรโง่ …
10 linux  docker  su  sysctl 

2
รัน su -c มากกว่า ssh
ฉันพยายามตรวจสอบเวอร์ชั่น BIOS ของเซิร์ฟเวอร์ผ่าน SSH คำสั่งที่ต้องใช้สิทธิ์พิเศษ: ssh remote-server su -c dmidecode แต่แน่นอนล้มเหลวด้วยข้อผิดพลาด: มาตรฐานในต้องเป็น tty ฉันจะทำให้งานนี้ได้อย่างไร ฉันไม่สามารถใช้ sudo ได้และเมื่อฉันพยายามเข้าสู่ระบบในฐานะ root @ remote-server มันจะไม่ยอมรับรหัสผ่านที่ฉันใช้สำหรับคำสั่ง 'su' ฉันใช้ RedHat Enterprise Linux 4
10 ssh  unix  su 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.