lshell - 클라우드 온라인

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 명령 lshell입니다.

프로그램:

이름


lshell - 제한된 쉘

개요


껍질 [옵션]

기술


껍질 사용자별로 구성된 제한된 셸을 제공합니다. 구성이 제법 되어있다
단순히 구성 파일을 사용합니다. ssh와 결합 승인 _ 키 또는 / etc / 쉘
/ etc / passwd , 제한된 집합에 대한 사용자 액세스를 제한하는 것이 매우 쉬워집니다.
명령.

옵션


--구성
구성 파일 지정

--통나무
로그 디렉토리 지정

--
어디 *모든* 구성 파일 매개변수입니다.

-시간, --도움
도움말 메시지 표시

--번역
버전 표시

구성


구성 파일을 통해 lshell을 구성할 수 있습니다.

On Linux -> /etc/lshell.conf
On * BSD -> / usr /{패키지,로컬}/etc/lshell.conf

껍질 구성에는 4가지 유형의 섹션이 있습니다.

[글로벌] -> 껍질 체계 구성 (뿐 1)
[기본] -> 껍질 디폴트 값 사용자 구성 (뿐 1)
[푸] -> UNIX 사용자 이름 "foo" 구체적인 구성
[그룹:바] -> UNIX 그룹 이름 "술집" 구체적인 구성

기본 설정을 로드할 때 우선 순위는 다음과 같습니다.

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]

시스템 로그 이름
syslog를 사용하는 경우 로그 이름을 설정합니다(기본값: lshell).

include_dir
여러 구성 파일을 포함하는 디렉토리를 포함합니다. 이러한 파일은
기본/사용자/그룹 구성을 포함합니다. 전역 구성은
기본 구성 파일에서 로드됩니다. 이 변수는 확장됩니다(예:
/경로/*.conf).

[기본] 및 / 또는 [이름] 및 / 또는 [grp:그룹 이름]
별칭
명령 별칭 목록(bash의 별칭 지시문과 유사)


허용된 명령 목록 또는 'all'로 설정하여 사용자의 PATH에 있는 모든 명령을 허용합니다.

allowed_cmd_path
경로 목록; 이 경로 내의 모든 실행 파일이 허용됩니다.

env_path
사용자의 환경 변수 $PATH 업데이트(선택 사항)

env_vars
환경 변수 설정(선택 사항)

금지된
금지된 문자 또는 명령 목록

기록_파일
기록 파일 이름을 설정합니다. 와일드카드를 사용할 수 있습니다.
%u -> 사용자 이름(예: '/집/%u/.l역사')

역사_크기
히스토리 파일의 최대 크기(라인 단위) 설정

집_경로 (사용되지 않음)
사용자의 홈 폴더를 설정합니다. 지정하지 않으면 홈 디렉토리가 다음으로 설정됩니다.
$HOME 환경 변수. 이 변수는 다음 버전에서 제거됩니다.
lshell의 경우 시스템 도구를 사용하여 사용자의 홈 디렉토리를 설정하십시오. ㅏ
와일드카드를 사용할 수 있습니다.
%u -> 사용자 이름(예: '/집/%유')

소개 로그인 시 인쇄할 소개 설정

로그인_스크립트
사용자 로그인 시 실행할 스크립트 정의

passwd 특정 사용자의 암호(기본값은 비어 있음)

통로 사용자를 지리적으로 제한하는 경로 목록입니다. 와일드카드 사용 가능
(예: '/var/log/ap*').

신속한 사용자의 프롬프트 형식 설정(기본값: 사용자 이름)
%u -> 사용자 이름
%h -> 호스트 이름

프롬프트_단축
정렬 프롬프트 현재 디렉터리 업데이트 설정 - 1 또는 0으로 설정 오버슈 명령 목록
ssh를 통한 실행 허용(예: rsync, rdiff-backup, scp 등)

scp scp 연결 사용 허용 또는 금지 - 1 또는 0으로 설정

scpforce
scp를 통해 파일을 특정 디렉토리로 강제 전송

scp_다운로드
scp 다운로드를 금지하려면 0으로 설정(기본값은 1)

scp_upload
scp 업로드를 금지하려면 0으로 설정(기본값은 1)

SFTP sftp 연결 사용 허용 또는 금지 - 1 또는 0으로 설정합니다.

경고: 이 옵션은 OpenSSH의 내부 SFTP 서비스를 사용하는 경우 작동하지 않습니다.
(예: chroot에서 구성한 경우)

sudo_commands
함께 사용할 수 있는 허용된 명령 목록 sudo는(8). '모두'로 설정하면 모든
'허용' 명령은 다음을 통해 액세스할 수 있습니다. sudo는(8).

명령을 다른 명령으로 실행하기 위해 -u sudo 플래그를 사용할 수 있습니다.
기본 루트보다 사용자.

타이머 세션 타이머의 초 단위 값

엄격한 로깅 엄격성. 1로 설정하면 알 수 없는 모든 명령이 금지된 것으로 간주되며,
사용자의 경고 카운터가 감소합니다. 0으로 설정하면 명령이 다음과 같이 간주됩니다.
unknown, 사용자는 경고만 받습니다(예: *** unknown synthax).

경고 카운터
사용자가 종료되기 전에 금지된 값을 입력할 때 경고 횟수
lshell. 로 설정 -1 카운터를 비활성화하고 사용자에게 경고합니다.

SHELL 내장 명령


다음은 lshell에서 항상 사용할 수 있는 명령 세트입니다.

선명한 터미널을 지웁니다

도움, ?
허용된 명령 목록을 인쇄합니다.

history
명령 기록을 인쇄하십시오

경로 모든 허용 및 금지 경로 나열

이수도 모든 sudo 허용 명령을 나열합니다.

사용 예


$ 껍질
기본 ${PREFIX}/etc/lshell.conf를 구성 파일로 사용하여 lshell 실행을 시도합니다.
실패하면 경고가 출력되고 lshell이 ​​중단됩니다. 쉘 옵션은
구성 파일에서 로드됨

$ 껍질 --구성 /경로/to/myconf.file --통나무 /경로/to/mylog.log
이는 구성 및/또는 로그 파일에 대해 지정된 기본 옵션을 재정의합니다.

사용 CASE


lshell의 주요 목표는 ssh 액세스 권한이 있는 쉘 계정을 생성하고
몇 가지 필요한 명령으로 환경을 제한합니다. 이 예에서 사용자 'foo' 및
사용자 'bar'는 모두 'users' UNIX 그룹에 속합니다.

사용자 푸:
- 접근할 수 있어야 함 / usr/ var 하지만 / usr / local
- 자신의 PATH에 있는 사용자 모든 명령이지만 'su'
- 경고 카운터가 5로 설정됨
- 홈 경로가 '/home/users'로 설정되어 있습니다.

사용자 바:
- 접근할 수 있어야 함 / 기타/ usr 하지만 / usr / local
- 허용되는 기본 명령 + 'ping' 빼기 'ls'
- 엄격도는 1로 설정됩니다(알 수 없는 명령을 입력할 수 없음을 의미).

이 경우 내 구성 파일은 다음과 같습니다.

# 구성 게임을 시작하다
[글로벌]
로그 경로 : /var/log/lshell/
로그 레벨 : 2

[기본]
: ['ls','비밀번호']
금지된 : [';', '&', '|']
경고 카운터 : 2
타이머 : 0
통로 : ['/ 기타', '/ usr']
env_path : ':/ sbin:/ usr / bin /'
scp : 1 # or 0
SFTP : 1 # or 0
오버슈 : ['rsync','ls']
별칭 : {'ls':'ls --color=auto','ll':'ls -엘'}

[그룹:사용자]
경고 카운터 : 5
오버슈 : - ['일']

[푸]
: '모두' - ['수']
통로 : ['/ var', '/ usr'] - ['/ usr / local']
집_경로 : '/홈/사용자'

[술집]
: + ['핑'] - ['일']
통로 : - ['/ usr / local']
엄격한 : 1
scpforce : '/홈/바/업로드/'
# 구성 END

노트


사용자의 경고를 로깅 디렉터리에 기록하려면(기본 /var/log/lshell/)
먼저 폴더를 만들고(아직 존재하지 않는 경우) lshell 그룹에 추가해야 합니다.

# 추가 그룹 --체계 껍질
# mkdir /var/log/lshell
# chown하지 :l쉘 /var/log/lshell
# chmod를 770 /var/log/lshell

그런 다음 사용자를 껍질 그룹:

# 유머 -aG 껍질 _ 이름

lshell을 사용자의 기본 쉘로 설정하려면:

On Linux :
# -s /usr/bin/lshell _ 이름

On *BSD:
# -s / usr /{패키지,로컬}/bin/lshell _ 이름

onworks.net 서비스를 사용하여 온라인에서 lshell 사용



최신 Linux 및 Windows 온라인 프로그램