lshell - ออนไลน์ในคลาวด์

นี่คือคำสั่ง lshell ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


lshell - เชลล์จำกัด

เรื่องย่อ


เปลือก [OPTIONS]

DESCRIPTION


เปลือก จัดเตรียมเชลล์จำกัดที่กำหนดค่าต่อผู้ใช้ การกำหนดค่าเสร็จสิ้นค่อนข้าง
เพียงแค่ใช้ไฟล์กำหนดค่า ควบคู่ไปกับ ssh's ได้รับอนุญาต_keys หรือกับ / etc / เชลล์
และ / etc / passwd กลายเป็นเรื่องง่ายมากที่จะ จำกัด การเข้าถึงของผู้ใช้ไปยังชุดที่ จำกัด
คำสั่ง

OPTIONS


--การกำหนดค่า
ระบุไฟล์ปรับแต่ง

--บันทึก
ระบุไดเร็กทอรีบันทึก

--
ที่ไหน คือ *ใดๆ* ไฟล์กำหนดค่าพารามิเตอร์

-ชม, --ช่วยด้วย
แสดงข้อความช่วยเหลือ

--รุ่น
แสดงเวอร์ชัน

การกำหนดค่า


คุณสามารถกำหนดค่า lshell ผ่านไฟล์กำหนดค่าได้:

On ลินุกซ์ -> /etc/lshell.conf
On * BSD -> /usr/{pkg,local}/etc/lshell.conf

เปลือก การกำหนดค่ามีส่วน 4 ประเภท:

[โลก] -> เปลือก ระบบ องค์ประกอบ (เท่านั้น 1)
[ค่าเริ่มต้น] -> เปลือก ผิดนัด ผู้ใช้งาน องค์ประกอบ (เท่านั้น 1)
[ฟู] -> ยูนิกซ์ ชื่อผู้ใช้ "ฟู" โดยเฉพาะ องค์ประกอบ
[กลุ่ม:บาร์] -> ยูนิกซ์ ชื่อกลุ่ม "บาร์" โดยเฉพาะ องค์ประกอบ

ลำดับความสำคัญเมื่อโหลดการตั้งค่ามีดังต่อไปนี้:

1- ผู้ใช้งาน องค์ประกอบ
2- บัญชีกลุ่ม องค์ประกอบ
3- ค่าเริ่มต้น องค์ประกอบ

[โลก]
เข้าสู่ระบบ
เส้นทางการกำหนดค่า (ค่าเริ่มต้นคือ /var/log/lshell/)

ระดับการบันทึก
0, 1, 2, 3 หรือ 4 (0: ไม่มีบันทึก -> 4: บันทึกทุกอย่าง)

ชื่อไฟล์บันทึก
- ตั้งค่าให้ syslog เพื่อเข้าสู่ syslog
- ตั้งชื่อไฟล์บันทึก เช่น %u-%y%m%d (เช่น foo-20091009.log): %u -> ชื่อผู้ใช้
%d -> วัน [1..31]
%m -> เดือน [1..12]
%y -> ปี [00..99]
%h -> เวลา [00:00..23:59]

syslogname
ในกรณีที่คุณใช้ syslog ให้ตั้งชื่อบันทึกของคุณ (ค่าเริ่มต้น: lshell)

รวม_dir
รวมไดเร็กทอรีที่มีไฟล์คอนฟิกูเรชันหลายไฟล์ ไฟล์เหล่านี้ได้เท่านั้น
มีการกำหนดค่าเริ่มต้น/ผู้ใช้/กลุ่ม การกำหนดค่าส่วนกลางจะเป็น .เท่านั้น
โหลดจากไฟล์การกำหนดค่าเริ่มต้น ตัวแปรนี้จะถูกขยาย (เช่น
/path/*.conf)

[ค่าเริ่มต้น] และ / หรือ [ชื่อผู้ใช้] และ / หรือ [กลุ่ม:ชื่อกลุ่ม]
นามแฝง
รายการนามแฝงคำสั่ง (คล้ายกับคำสั่งนามแฝงของ bash)

อนุญาตให้
รายการคำสั่งที่อนุญาตหรือตั้งค่าเป็น 'ทั้งหมด' เพื่ออนุญาตคำสั่งทั้งหมดใน PATH . ของผู้ใช้

ได้รับอนุญาต_cmd_path
รายการเส้นทาง ไฟล์ปฏิบัติการทั้งหมดภายในเส้นทางเหล่านี้จะได้รับอนุญาต

env_path
อัปเดตตัวแปรสภาพแวดล้อม $PATH ของผู้ใช้ (ทางเลือก)

env_vars
ตั้งค่าตัวแปรสภาพแวดล้อม (ไม่บังคับ)

ที่ต้องห้าม
รายการอักขระหรือคำสั่งต้องห้าม

history_file
ตั้งชื่อไฟล์ประวัติ สามารถใช้สัญลักษณ์แทน:
%u -> ชื่อผู้ใช้ (เช่น '/บ้าน/%u/.lhistory')

ประวัติศาสตร์_ขนาด
กำหนดขนาดสูงสุด (เป็นบรรทัด) ของไฟล์ประวัติ

home_path (เลิกใช้แล้ว)
ตั้งค่าโฮมโฟลเดอร์ของผู้ใช้ของคุณ หากไม่ได้ระบุไว้ โฮมไดเร็กทอรีจะถูกตั้งค่าเป็น
ตัวแปรสภาพแวดล้อม $HOME ตัวแปรนี้จะถูกลบออกในเวอร์ชันถัดไป
ของ lshell โปรดใช้เครื่องมือของระบบเพื่อตั้งค่าโฮมไดเร็กทอรีของผู้ใช้ NS
สามารถใช้สัญลักษณ์แทน:
%u -> ชื่อผู้ใช้ (เช่น '/บ้าน/%ยู')

อินโทร ตั้งค่าแนะนำการพิมพ์เมื่อเข้าสู่ระบบ

ล็อกอิน_สคริปต์
กำหนดสคริปต์ให้ทำงานเมื่อเข้าสู่ระบบของผู้ใช้

passwd รหัสผ่านของผู้ใช้เฉพาะ (ค่าเริ่มต้นว่างเปล่า)

เส้นทาง รายการเส้นทางเพื่อจำกัดผู้ใช้ตามภูมิศาสตร์ สามารถใช้สัญลักษณ์แทนได้
(เช่น '/var/log/ap*')

รวดเร็ว กำหนดรูปแบบพรอมต์ของผู้ใช้ (ค่าเริ่มต้น: ชื่อผู้ใช้)
%u -> ชื่อผู้ใช้
%h -> ชื่อโฮสต์

prompt_short
ตั้งค่าการอัพเดทไดเรกทอรีปัจจุบันพร้อมท์ - ตั้งค่าเป็น 1 หรือ 0 เกิน รายการคำสั่ง
ได้รับอนุญาตให้ดำเนินการผ่าน ssh (เช่น rsync, rdiff-backup, scp เป็นต้น)

SCP อนุญาตหรือห้ามการใช้การเชื่อมต่อ scp - ตั้งค่าเป็น 1 หรือ 0

Scpforce
บังคับไฟล์ที่ส่งผ่าน scp ไปยังไดเร็กทอรีเฉพาะ

scp_download
ตั้งค่าเป็น 0 เพื่อห้ามการดาวน์โหลด scp (ค่าเริ่มต้นคือ 1)

scp_upload
ตั้งค่าเป็น 0 เพื่อห้ามการอัปโหลด scp (ค่าเริ่มต้นคือ 1)

SFTP อนุญาตหรือห้ามการใช้การเชื่อมต่อ sftp - ตั้งค่าเป็น 1 หรือ 0

คำเตือน: ตัวเลือกนี้จะไม่ทำงานหากคุณใช้บริการ internal-sftp ของ OpenSSH
(เช่นเมื่อกำหนดค่าใน chroot)

sudo_commands
รายการคำสั่งที่อนุญาตให้ใช้กับ sudo(8). หากตั้งค่าเป็น 'ทั้งหมด' ทั้งหมด
คำสั่ง 'อนุญาต' จะสามารถเข้าถึงได้ผ่าน sudo(8)

เป็นไปได้ที่จะใช้แฟล็ก -u sudo เพื่อรันคำสั่งที่แตกต่างกัน
ผู้ใช้มากกว่ารูทเริ่มต้น

เครื่องจับเวลา ค่าเป็นวินาทีสำหรับตัวจับเวลาเซสชัน

เข้มงวด ความเข้มงวดในการเข้าสู่ระบบ หากตั้งค่าเป็น 1 คำสั่งที่ไม่รู้จักจะถือเป็นคำสั่งต้องห้าม
และตัวนับเตือนผู้ใช้จะลดลง หากตั้งค่าเป็น 0 คำสั่งจะถือว่าเป็น
ไม่รู้จัก และผู้ใช้จะได้รับคำเตือนเท่านั้น (เช่น *** ไวยากรณ์ที่ไม่รู้จัก)

Warning_counter
จำนวนคำเตือนเมื่อผู้ใช้ป้อนค่าต้องห้ามก่อนออกจาก
เปลือก ตั้งค่าให้ -1 เพื่อปิดการใช้งานตัวนับและเพียงแค่เตือนผู้ใช้

SHELL สร้างขึ้น คำสั่ง


นี่คือชุดคำสั่งที่พร้อมใช้งานกับ lshell เสมอ:

ชัดเจน ล้างเทอร์มินัล

ช่วยด้วย, ?
พิมพ์รายการคำสั่งที่อนุญาต

ประวัติ
พิมพ์ประวัติคำสั่ง

ลพาธ แสดงรายการเส้นทางที่อนุญาตและต้องห้ามทั้งหมด

ซูโด แสดงรายการคำสั่งที่อนุญาต sudo ทั้งหมด

ตัวอย่าง


$ เปลือก
พยายามเรียกใช้ lshell โดยใช้ค่าเริ่มต้น ${PREFIX}/etc/lshell.conf เป็นไฟล์กำหนดค่า
หากล้มเหลวจะมีการพิมพ์คำเตือนและ lshell ถูกขัดจังหวะ ตัวเลือก lshell คือ
โหลดจากไฟล์กำหนดค่า

$ เปลือก --การกำหนดค่า /path/to/myconf.file --บันทึก /path/to/mylog.log
การดำเนินการนี้จะแทนที่ตัวเลือกเริ่มต้นที่ระบุไว้สำหรับการกำหนดค่าและ/หรือไฟล์บันทึก

ใช้ กรณี


เป้าหมายหลักของ lshell คือการสร้างบัญชีเชลล์ด้วยการเข้าถึง ssh และ
จำกัดสภาพแวดล้อมของพวกเขาเป็นสองสามคำสั่งที่จำเป็น ในตัวอย่างนี้ ผู้ใช้ 'foo' และ
'แถบ' ของผู้ใช้ทั้งคู่อยู่ในกลุ่ม 'ผู้ใช้' UNIX:

ผู้ใช้งาน ฟู:
- ต้องสามารถเข้าถึงได้ / usr และ / var แต่ไม่ / usr / local
- ผู้ใช้คำสั่งทั้งหมดใน PATH ของเขา แต่ 'su'
- มีตัวนับเตือนตั้งไว้ที่ 5
- ตั้งค่าพาธบ้านเป็น '/home/users'

ผู้ใช้งาน บาร์:
- ต้องสามารถเข้าถึงได้ / ฯลฯ และ / usr แต่ไม่ / usr / local
- อนุญาตให้ใช้คำสั่งเริ่มต้นบวก 'ping' ลบ 'ls'
- ความเข้มงวดถูกตั้งค่าเป็น 1 (หมายความว่าเขาไม่ได้รับอนุญาตให้พิมพ์คำสั่งที่ไม่รู้จัก)

ในกรณีนี้ ไฟล์กำหนดค่าของฉันจะมีลักษณะดังนี้:

# คอนฟิกูเรชัน เริ่มต้น
[โลก]
เข้าสู่ระบบ : /var/log/lshell/
ระดับการบันทึก : 2

[ค่าเริ่มต้น]
อนุญาตให้ : ['ls','pwd']
ที่ต้องห้าม : [';', '&', '|']
Warning_counter : 2
เครื่องจับเวลา : 0
เส้นทาง : ['/ ฯลฯ', '/ usr']
env_path : ':/ sbin:/ usr / bin /'
SCP : 1 # or 0
SFTP : 1 # or 0
เกิน : ['rsync','ls']
นามแฝง : {'ls':'ls --color=auto','ll':'ls -l'}

[กลุ่ม:ผู้ใช้]
Warning_counter : 5
เกิน : - ['ls']

[ฟู]
อนุญาตให้ : 'ทั้งหมด' - ['ซู']
เส้นทาง : ['/ var', '/ usr'] - ['/ usr / local']
home_path : '/บ้าน/ผู้ใช้'

[บาร์]
อนุญาตให้ : + ['ปิง'] - ['ls']
เส้นทาง : - ['/ usr / local']
เข้มงวด : 1
Scpforce : '/home/bar/อัพโหลด/'
# คอนฟิกูเรชัน END

หมายเหตุ


เพื่อบันทึกคำเตือนของผู้ใช้ลงในไดเร็กทอรีการบันทึก (default /var/log/lshell/)
คุณต้องสร้างโฟลเดอร์ก่อน (หากยังไม่มี) และเปลี่ยนเป็นกลุ่ม lshell:

# กลุ่มเพิ่ม --ระบบ เปลือก
# mkdir /var/log/lshell
# chown :lshell /var/log/lshell
# chmod 770 /var/log/lshell

จากนั้นเพิ่มผู้ใช้ไปที่ เปลือก กลุ่ม:

# usermod -ก เปลือก user_name

เพื่อตั้งค่า lshell เป็นเชลล์เริ่มต้นสำหรับผู้ใช้:

On ลินุกซ์:
# ชช -s /usr/bin/lshell user_name

On *บีเอสดี:
# ชช -s /usr/{pkg,local}/bin/lshell user_name

ใช้ lshell ออนไลน์โดยใช้บริการ onworks.net



โปรแกรมออนไลน์ Linux และ Windows ล่าสุด