有朋友想用我的linux服务器,准备给他开一个权限,只允许他们访问固定的文件夹。但是这个东西百度了好久都没有万全之策,后来通过问我们伟大的运维攻城狮,终于这个问题得以解决~
撒花,撒花,此时应有100个赞,给我亲爱的运维哥哥疯狂打call!!!
1、寻找lshell这个东东,一开始运维同学给我丢了一个github地址,我是一脸的懵逼与茫然,惆怅呀!我对这块真的是不好呀!废话少说,丢地址:https://github.com/ghantoos/lshell/blob/master/README.md lshell链接地址
2、在linux中,执行以下命令:
git clone https://github.com/ghantoos/lshell.git
python setup.py install --no-compile --install-data=/usr/{pkg,local}/
groupadd lshell
vim /usr/local/etc/lshell.conf
useradd ceshi1
useradd ceshi2
passwd ceshi1
passwd ceshi2
usermod -aG lshell ceshi1
usermod -aG lshell ceshi2
chsh -s /usr/bin/lshell ceshi1
chsh -s /usr/bin/lshell ceshi2
3、编辑lshell的配置文件,命令如下:
vim /usr/local/etc/lshell.conf
在文件里面加入以下内容
# CONFIGURATION START
[global]
logpath : /var/log/lshell/
loglevel : 2
[default]
allowed : ['ls', 'echo','ll']
forbidden : [';', '&', '|','`','>','<', '$(', '${']
warning_counter : 2
aliases : {'ll':'ls -l'}
strict : 0
[grp:users]
warning_counter : 5
overssh : - ['ls']
[ceshi]
allowed : + ['ping'] - ['ls']
path : - ['/usr/local']
strict : 1
home_path : '/home/ceshi'
[ceshi1]
allowed : + ['ping','pwd'] - ['ls']
path : - ['/usr/local']
strict : 1
home_path : '/home/ceshi1'
# CONFIGURATION END
4、重启一下lshell
lshell --config /usr/local/etc/lshell.conf
5、进行测试,你会发现测试1的用户只允许访问home/ceshi 文件夹