整个配置的命令如下(主要使用了:Linux bash受限的shell(RESTRICTED SHELL))

步骤
#1.创建只读shell(这步可以省略)

ln -s /bin/bash  /bin/rbash

#2.创建用户并指定用户启动执行的shell

useradd -s /bin/bash readonly

这步不要指定rbash,否侧cd等內建命令无法使用

#3.修改用户密码

passwd readonly

#4.创建用户shell执行命令目录

mkdir /home/readonly/.bin

#5.root修改用户的shell配置文件

chown root. /home/readonly/.bash_profile
chmod /home/readonly/.bash_profile 并设置文件不可删除权限
chattr -i /home/readonly/.bash_profile

#6.将允许执行的命令链接到$HOME/.bin目录

ln -s /usr/bin/wc  /home/readonly/.bin/wc
ln -s /usr/bin/tail /home/readonly/.bin/tail
ln -s /bin/more /home/readonly/.bin/more
ln -s /bin/cat /home/readonly/.bin/cat
ln -s /bin/grep /home/readonly/.bin/grep
ln -s /bin/find /home/readonly/.bin/find
ln -s /bin/pwd /home/readonly/.bin/pwd
ln -s /bin/ls /home/readonly/.bin/ls
ln -s /usr/bin/less /home/readonly/.bin/less
ln -s /bin/tar /home/readonly/.bin/tar

#7.修改bash配置文件,主要是指定PATH的读取

vi /home/readonly/.bash_profile
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs
#PATH=$PATH:$HOME/bin
PATH=$HOME/.bin
export PATH
#切换到只读账号使环境变量生效
su - readonly
source /home/readonly/.bash_profile

转自

Linux只读账号配置-天道酬勤-51CTO博客 http://blog.51cto.com/4543647/1951626

Linux内建命令和外部命令(整理) - holybin的专栏 - CSDN博客 https://blog.csdn.net/holybin/article/details/24230747

Linux进阶之 which 命令 - 小桥流水丶 - CSDN博客 https://blog.csdn.net/Ivy___/article/details/77985881

Linux只读账号配置【转】的更多相关文章

  1. linux学习笔记3:linux的网络配置,rpm包,shell以及samba服务器的使用和安装

    1.linux下的shell<linux命令.编辑器和shell编程> (1)shell种类有很多,常用的有三种,在linux可以通过ls -l /bin/*sh 来显示所有已安装的she ...

  2. linux 网桥的配置与实现

    ==================================================================================from: http://www.i ...

  3. 【转】linux下cvs配置

    1.  验证是否已安装CVS #rpm -q cvs 如果能显示出类似这样的版本信息,证明已安装CVS: #cvs-1.11.19 若没有安装信息,则需要从htttp://www.cvshome.or ...

  4. 关于Linux目录的配置

    关于Linux目录的配置说明 大家都知道Linux一切皆文件,但是Linux的文件有那么多,目录也不少.他们都是干什么用的呢,有没有什么规律呢?今天我们就来讨论一下Linux目录的配置 Linux目录 ...

  5. Linux 的账号与群组[转自vbird]

    Linux 的账号与群组 管理员的工作中,相当重要的一环就是『管理账号』啦!因为整个系统都是你在管理的, 并且所有一般用户的账号申请,都必须要透过你的协助才行!所以你就必须要了解一下如何管理好一个服务 ...

  6. linux上安装配置samba服务器

    linux上安装配置samba服务器 在linux上安装配置samba服务器 在这给大家介绍一个不错的家伙,samba服务.如果您正在犯愁,如何在Windows和Linux之间实现资源共享,就请看看这 ...

  7. 本地Linux服务器上配置Git

    当我们需要拉取远程服务器代码到本地服务器时,我们首先要确定已经配置了正确的Git账号,可以从~/.gitconfig文件(为隐藏文件,需要使用ls -a查看),以及~/.ssh下的id_rsa.pub ...

  8. Linux学习之CentOS(十)----Linux 的账号与群组

    Linux 的账号与群组 管理员的工作中,相当重要的一环就是『管理账号』啦!因为整个系统都是你在管理的, 并且所有一般用户的账号申请,都必须要透过你的协助才行!所以你就必须要了解一下如何管理好一个服务 ...

  9. linux FTP安全配置

    linux FTP安全配置 关闭防火墙,selinux安全机制   service iptables stop  setenforce 0 匿名用户 匿名用户只能访问ftp服务器上的/var/ftp/ ...

随机推荐

  1. 图论分支-差分约束-SPFA系统

    据说差分约束有很多种,但是我学过的只有SPFA求差分: 我们知道,例如 A-B<=C,那么这就是一个差分约束. 比如说,著名的三角形差分约束,这个大家都是知道的,什么两边之差小于第三边啦,等等等 ...

  2. 设计模式_代理模式_在SqlSessionTemplate(Spring)中的应用

    1.SqlSessionTemplate的构造函数,根据传入的SqlSessionFactory和ExecutorType创建一个Spring管理的SqlSession,并生成SqlSession的动 ...

  3. Zabbix Server 自带模板监控无密码MySQL数据库

    Zabbix Server 自带模板监控无密码MySQL数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.安装MariaDB 1>.安装MariaDB  [root ...

  4. winddow10下 virtualBox Ubuntu网络设置

    1. virtualbox 全局设置 2. 虚拟机网络设置 3.虚拟机中设置 4. 宿主机 设置 5. 最后 在虚拟机中 ping www.baidu.com

  5. 理解self与this

    刚开始学习Python的类写法的时候觉得很是麻烦,为什么定义时需要而调用时又不需要,为什么不能内部简化从而减少我们敲击键盘的次数?你看完这篇文章后就会明白所有的疑问. self代表类的实例,而非类. ...

  6. 用itext合并多个pdf文件【转】【补】

    java代码 package c; import java.io.FileOutputStream; import java.io.IOException; import java.util.Arra ...

  7. java使用google开源工具实现图片压缩【转】

    jar包名 import net.coobird.thumbnailator.Thumbnails; import net.coobird.thumbnailator.geometry.Positio ...

  8. springMVC怎么接受前台传过来的多种类型参数?(集合、实体、单个参数)

    创建一个实体:里面包含需要接受的多种类型的参数.如实体.list集合.单个参数.(因为springMVC无法同时接受这几种参数,需要创建一个实体包含它们来接受) 如接收User(bean里面包含Lis ...

  9. Linux命令(十二)制作静态库和共享库

    1. 静态库 静态库文件命名:libxxxx.a 1.1 步骤: ar rcs libCalc.a *.o 1.2 用nm查看文件内容 1.3 发布并使用 gcc main.c -o mycpp.ou ...

  10. 微信小程序入门教程(一)API接口数据记录

    今天测试用小程序调用API接口,发现有些数据打印都是对象,怎么全部打印详细点来 小程序代码: httpsearch: function (name, offset, type, cb) { wx.re ...