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

总结


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

人已赞赏
笔记

母亲节快乐

2020-5-10 21:20:34

笔记

ActiveMQ:java.io.IOException: Failed to recover data at position:2

2020-6-12 11:30:43

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧