linux下创建只读Log日志的用户

按照需求,需要创建一个用户,用于查看生产环境的日志。基于该需求,我们需要创建只读用户且该用户只能访问日志目录。

解决方案


1,新建用户lamqlog。

#useradd lamplog

2,将要共享的目录挂载到指定用户的目录中

#mount –bind /home/app02/lamq-springboot/logs /home/lamqlog/logs

#mount –bind /home/app02/lamq-springboot/backup /home/lamqlog/backup

3,设置ACL权限

#setfacl -m -d u:lamqlog:rx /home/app02/lamq-springboot/logs

#setfacl -R -d u:lamqlog:rx /home/app02/lamq-springboot/logs

4,设置mount开机启动

#vi /etc/rc.local

Mount –bind /home/app02/lamq-springboot/logs /home/lamqlog/logs

Mount –bind /home/app02/lamq-springboot/backup /home/lamqlog/backup

#Chmod +x /etc/rc.local

5.创建只读shell

#ln -s /bin/bash  /bin/rbash

6.修改用户的shell

#vi /etc/passwd

lamqlog:x:1004:1004::/home/lamqlog:/bin/rbash

7.修改用户密码

#passwd lamqlog

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

#mkdir /home/lamqlog/.bin

9.修改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

10.切换到只读账号使环境变量生效

su – lamqlog

source /home/readonly/.bash_profile

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

ln -s /usr/bin/wc  /home/lamqlog/.bin/wc

ln -s /usr/bin/tail  /home/lamqlog/.bin/tail

ln -s /bin/more  /home/lamqlog/.bin/more

ln -s /bin/cat  /home/lamqlog/.bin/cat

ln -s /bin/grep  /home/lamqlog/.bin/grep

ln -s /bin/find  /home/lamqlog/.bin/find

ln -s /bin/pwd  /home/lamqlog/.bin/pwd

ln -s /bin/ls  /home/lamqlog/.bin/ls

ln -s /bin/less /home/lamqlog/.bin/less

总结


这种方案是很笨的实现方式,如果各位公司有日志查询服务器,还是使用该方式实现。

给TA买糖
共{{data.count}}人
人已赞赏
笔记

linux下精确指定账号和密码过期时间

2021-4-6 18:11:57

笔记

PHP执行权限导致”FastCGI sent in stderr: “Primary script unknown”

2021-4-7 18:11:29

此心远送浑河岸,斟别酒,唱阳关,临别无语空长叹,酒已阑,曲未残,人初散,心长怀去后,杳鱼雁,对遥山,当时无计锁雕鞍,去后思量悔应晚,别时容易见时难!
17 条回复 A文章作者 M管理员
  1. 鸡翅野性

    主题不错!

  2. 宝贝负责

    啦啦啦啦

  3. 绿草俊秀

    点赞是不可能点赞的

  4. 小伙缥缈

    超喜欢这里的

  5. 帆布鞋失眠

    我只是随便看看

  6. 学姐仁爱

    可以的

  7. 鸭子含蓄

    哈哈

  8. 月饼欣喜

    可以的

  9. 凉面温婉

    哈哈

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索