扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
假设有这样一种需求:某些普通用户允许通过telnet登陆上系统,默认情况下该用户的HOME目录是/home/username。如果我想让该用户只能在该目录下活动,也就是该用户不能通过cd命令切换的其他的目录,该如何实现?希望大家多提想法?
个人意见:一个用户可以cd到一个目录,是因为该用户对该目录有r权限,那么可以通过对目录权限的设置而达到对用户权限的限制。但是这种方法是否太繁琐?
在SHELL命令行模式下执行 sh -r、 ksh -r 实质是开启了一个新的SHELL,exit 退出后又会回到原来的用户SHELL下。
解决办法就是从根本上下手,更改/etc/passwd中用户的SHELL信息为 /bin/ksh -r
如果要彻底限制用户的登录的话,简单的办法还有更改/etc/passwd中SHELL信息为一个SHELL命令(非SHELL本身),如/usr/bin/logout,这样用户一登录即先执行在/etc/passwd里面设定的SHELL。
-r 选项限制的还不止这个呢:
-r Runs a restricted shell. With a restricted shell you cannot:
o Change the current working Directory.
o Set the value of the SHELL, ENV, or PATH variable.
o Specify the pathname of a command that contains a / (slash).
o Redirect output of a command with >(right caret), >| (right caret, pipe symbol), <>(left caret, right caret), or >>(two right carets).
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者