整个配置的命令如下(主要使用了: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. python 深浅拷贝 for循环删除

    ###########################总结########################### 1. 基础数据类型补充 大多数的基本数据类型的知识.已经学完了 a='aaaa' ls ...

  2. js验证登录注册

    js验证登录注册的优势,在前台直接验证,不需要在后台读取返回数据验证,减轻服务器压力. 登陆验证得必要性,拦截恶意脚本的登录注册攻击.哈哈,当然有些高手是可以直接跳过js验证的. 所以还是后台验证,并 ...

  3. Trailing slash

    Trailing Slash common case It's common for URLs with a trailing slash to indicate a directory, and t ...

  4. java枚举(enum)

    1. 创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 java.lang.Enum (抽象类) 类的子类. enum AccountType { SAVING, FIXED, CURRE ...

  5. node的优缺点及应用场景

    Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎(V8引擎执行Javascript的速度非常快,性能非常好) 可以说node是运行在服务器端V8引擎上的Ja ...

  6. 自学python 8.

    1.有如下文件,a1.txt,里面的内容为:LNH是最好的培训机构,全心全意为学生服务,只为学生未来,不为牟利.我说的都是真的.哈哈分别完成以下的功能:a,将原文件全部读出来并打印.b,在原文件后面追 ...

  7. keeping.py

    定时push+告警 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author : 71standby@gmail.com # Description ...

  8. 伪触发 input file 的click事件

    前端在做 input file 美化的时候,通常 把 input 定位position 到 已美化的按钮最上方 opacity: 0 HTML5时代,已有更方便的方法,点击美化按钮直接触发选择文件事件 ...

  9. Nginx 配置反向代理后,页面中取绝对URL地址的问题显示代理端口

    本文有V型知识库提供 upstream tomcat {    server 127.0.0.1:82;} location / {     proxy_pass http://tomcat;} 如上 ...

  10. [译]A NON-TRIVIAL EXAMPLE OF MEDIATR USAGE

    原文 来看看我目前的一个项目.这个是一个多租户的财务跟踪系统.有一个组织继承的关系.首先得新建一个组织. 表单如下: 这个表单能让用户输入关于组织的一些信息,包括active directory组,一 ...