Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen lshell komutudur.
Program:
ADI
lshell - Sınırlı Kabuk
SİNOPSİS
kabuk [SEÇENEKLER]
TANIM
kabuk kullanıcı başına yapılandırılmış sınırlı bir kabuk sağlar. Yapılandırma oldukça yapılır
sadece bir yapılandırma dosyası kullanarak. ssh'ler ile birleştiğinde yetkili anahtarlar veya / etc / shells
ve / Etc / passwd , kullanıcının sınırlı bir kümeye erişimini kısıtlamak çok kolay hale gelir.
Komut.
SEÇENEKLER
--yapılandırma
Yapılandırma dosyasını belirtin
--kayıt
Günlük dizinini belirtin
--
nerede *herhangi bir* yapılandırma dosyası parametresidir
-H, --yardım et
Yardım mesajını göster
--versiyon
Sürümü göster
YAPILANDIRMA
lshell'i yapılandırma dosyası aracılığıyla yapılandırabilirsiniz:
On Linux -> /etc/lshell.conf
On * BSD -> /usr/{pkg,yerel}/etc/lshell.conf
kabuk yapılandırmanın 4 tür bölümü vardır:
[küresel] -> kabuk sistem yapılandırma (sadece 1)
[varsayılan] -> kabuk varsayılan kullanıcı yapılandırma (sadece 1)
[foo] -> UNIX kullanıcı adı "foo" özel yapılandırma
[grp:çubuk] -> UNIX grup ismi "Çubuk" özel yapılandırma
Tercihler yüklenirken öncelik sırası aşağıdaki gibidir:
1- kullanıcı yapılandırma
2- grup yapılandırma
3- Varsayılan yapılandırma
[küresel]
günlük yolu
yapılandırma yolu (varsayılan /var/log/lshell/'dir)
günlük seviyesi
0, 1, 2, 3 veya 4 (0: günlük yok -> 4: her şeyi kaydeder)
günlük dosyası adı
- ayarlanır syslog syslog'a giriş yapmak için
- günlük dosyası adını ayarlayın, örneğin %u-%y%m%d (yani foo-20091009.log): %u -> kullanıcı adı
%d -> gün [1..31]
%m -> ay [1..12]
%y -> yıl [00..99]
%h -> zaman [00:00..23:59]
sistem günlüğü adı
syslog kullanıyorsanız, günlük adınızı ayarlayın (varsayılan: lshell)
dahil_dir
birden çok yapılandırma dosyası içeren bir dizin içerir. Bu dosyalar yalnızca
varsayılan/kullanıcı/grup yapılandırmasını içerir. Genel yapılandırma yalnızca
varsayılan yapılandırma dosyasından yüklenir. Bu değişken genişletilecek (örn.
/yol/*.conf).
[varsayılan] ve / veya [Kullanıcı Adı] ve / veya [grp:grup adı]
takma adları
komut takma adı listesi (bash'in takma ad yönergesine benzer)
izin
izin verilen komutların bir listesi veya kullanıcının PATH'indeki tüm komutlara izin vermek için 'tümü' olarak ayarlayın
allow_cmd_path
yol listesi; bu yol içindeki tüm yürütülebilir dosyalara izin verilecek
env_path
kullanıcının $PATH ortam değişkenini güncelleyin (isteğe bağlı)
env_vars
ortam değişkenlerini ayarla (isteğe bağlı)
yasak
yasak karakterlerin veya komutların listesi
geçmiş_dosyası
geçmiş dosya adını ayarlayın. Bir joker karakter kullanılabilir:
%u -> kullanıcı adı (örneğin '/ev/%u/.lhistory')
tarih_boyutu
geçmiş dosyasının maksimum boyutunu (satır olarak) ayarlayın
ev_yolu (Kaldırıldı)
kullanıcınızın ana klasörünü ayarlayın. Belirtilmezse, ana dizini şu şekilde ayarlanır:
$HOME ortam değişkeni. Bu değişken bir sonraki sürümde kaldırılacak
lshell için, bir kullanıcının ana dizinini ayarlamak için lütfen sisteminizin araçlarını kullanın. A
joker karakter kullanılabilir:
%u -> kullanıcı adı (örneğin '/ev/%u')
intro girişte yazdırılacak girişi ayarlayın
giriş_script
kullanıcı oturumunda çalıştırılacak komut dosyasını tanımlayın
passwd belirli bir kullanıcının şifresi (varsayılan boştur)
yol kullanıcıyı coğrafi olarak kısıtlamak için yol listesi. Joker karakterler kullanmak mümkündür
(örneğin '/var/log/ap*').
istemi kullanıcının bilgi istemi biçimini ayarlayın (varsayılan: kullanıcı adı)
%u -> kullanıcı adı
%h -> ana bilgisayar adı
istem_kısa
sıralama istemini geçerli dizin güncellemesini ayarla - 1 veya 0 olarak ayarla aşırıya kaçmak komut listesi
ssh üzerinden yürütülmesine izin verilir (örn. rsync, rdiff-backup, scp, vb.)
scp scp bağlantısının kullanımına izin verin veya yasaklayın - 1 veya 0 olarak ayarlayın
scpforce
scp aracılığıyla belirli bir dizine gönderilen dosyaları zorla
scp_download
scp indirmelerini yasaklamak için 0'a ayarlayın (varsayılan 1'dir)
scp_upload
scp yüklemelerini yasaklamak için 0'a ayarlayın (varsayılan 1'dir)
sftp sftp bağlantısının kullanımına izin verin veya yasaklayın - 1 veya 0 olarak ayarlayın.
UYARI: OpenSSH'nin dahili sftp hizmetini kullanıyorsanız bu seçenek çalışmayacaktır.
(ör. chroot'ta yapılandırıldığında)
sudo_commands
ile kullanılabilecek izin verilen komutların bir listesi sudo(8). 'tümü' olarak ayarlanırsa, tümü
'izin verilen' komutlar aracılığıyla erişilebilir olacak sudo(8).
Bir komutu farklı bir komut olarak çalıştırmak için -u sudo bayrağını kullanmak mümkündür.
varsayılan kökten daha kullanıcı.
kronometre oturum zamanlayıcı için saniye cinsinden bir değer
sıkı kayıt katılığı. 1 olarak ayarlanırsa, bilinmeyen herhangi bir komut yasak olarak kabul edilir,
ve kullanıcının uyarı sayacı azaltılır. 0 olarak ayarlanırsa, komut olarak kabul edilir
bilinmiyor ve kullanıcı yalnızca uyarılıyor (yani *** bilinmeyen sözdizimi)
Warning_counter
Kullanıcı yasak bir değer girdiğinde çıkış yapmadan önce uyarı sayısı
kabuk. Ayarlanır -1 sayacı devre dışı bırakmak ve sadece kullanıcıyı uyarmak için.
SHELL İNŞAAT KOMUTLAR
lshell ile her zaman kullanılabilen komutlar şunlardır:
açık terminali temizler
yardım et, ?
izin verilen komutların listesini yazdır
tarih
komut geçmişini yazdır
yol izin verilen ve yasaklanan tüm yolları listeler
sudo tüm sudo izin verilen komutları listeler
ÖRNEKLER
$ kabuk
Yapılandırma dosyası olarak varsayılan ${PREFIX}/etc/lshell.conf kullanarak lshell'i çalıştırmaya çalışır.
Başarısız olursa bir uyarı yazdırılır ve lshell kesintiye uğrar. lshell seçenekleri
yapılandırma dosyasından yüklendi
$ kabuk --yapılandırma /yol/to/myconf.file --kayıt /yol/to/mylog.log
Bu, yapılandırma ve/veya günlük dosyası için belirtilen varsayılan seçenekleri geçersiz kılar
KULLANIMI OLGU
lshell'in birincil amacı, ssh erişimi olan kabuk hesapları oluşturabilmek ve
ortamlarını birkaç gerekli komutla sınırlayın. Bu örnekte, Kullanıcı 'foo' ve
user 'bar' her ikisi de 'users' UNIX grubuna aittir:
kullanıcı foo:
- erişebilmeli / usr ve / var Ama değil / Yerel / usr
- kullanıcı PATH'indeki tüm komutları ancak 'su'
- 5'e ayarlanmış bir uyarı sayacı var
- ev yolunun '/home/users' olarak ayarlanmış olması
kullanıcı Çubuk:
- erişebilmeli / Etc ve / usr Ama değil / Yerel / usr
- varsayılan komutlara izin verilir artı 'ping' eksi 'ls'
- katılık 1'e ayarlanmıştır (yani bilinmeyen bir komut yazmasına izin verilmemektedir)
Bu durumda, yapılandırma dosyam şöyle görünecek:
# KONFİÜRASYON BAŞLANGIÇ
[küresel]
günlük yolu : /var/log/lkabuk/
günlük seviyesi : 2
[varsayılan]
izin : ['ls','pwd']
yasak : [';', '&', '|']
Warning_counter : 2
kronometre : 0
yol : ['/ Etc', '/ usr']
env_path : ':/ sbin:/ usr / bin /'
scp : 1 # or 0
sftp : 1 # or 0
aşırıya kaçmak : ['rsync','ls']
takma adları : {'ls':'ls --color=auto','ll':'ls -l'}
[grp:kullanıcılar]
Warning_counter : 5
aşırıya kaçmak : - ['l']
[foo]
izin : 'herşey' - ['su']
yol : ['/ var', '/ usr'] - ['/ Yerel / usr']
ev_yolu : '/ev/kullanıcılar'
[Çubuk]
izin : + ['ping'] - ['l']
yol : - ['/ Yerel / usr']
sıkı : 1
scpforce : '/home/bar/yüklemeler/'
# KONFİÜRASYON END
NOTLAR
Bir kullanıcının uyarılarını kayıt dizinine kaydetmek için (varsayılan /var/log/lkabuk/)
önce klasörü oluşturmalısınız (henüz mevcut değilse) ve onu lshell grubuna almalısınız:
# grup ekle --sistem kabuk
# mkdir /var/log/lkabuk
# chown :lkabuk /var/log/lkabuk
# chmod 770 /var/log/lkabuk
sonra kullanıcıyı ekleyin kabuk grubu:
# usermod -aG kabuk kullanıcı_adı
Bir kullanıcı için lshell'i varsayılan kabuk olarak ayarlamak için:
On Linux:
# şşş -s /usr/bin/lkabuk kullanıcı_adı
On *BSD:
# şşş -s /usr/{pkg,yerel}/bin/lshell kullanıcı_adı
onworks.net hizmetlerini kullanarak lshell'i çevrimiçi kullanın