LINUX添加只读用户(查日志专用)
参考博客:
1 2 3 4 5 6 7 | https://blog.csdn.net/weixin_ 33794672 /article/details/ 89621391 https://blog.csdn.net/yk 10010 /article/details/ 88976021 https://blog.csdn.net/hch 15112345824 /article/details/ 88816064 https://www.cnblogs.com/anech/p/ 6920509 .html https://blog.csdn.net/bob_tthp/article/details/ 84936169 https://www.cnblogs.com/xiaochaoyxc/p/ 6206481 .html https://blog.csdn.net/manyueonline/article/details/ 48913767 ?depth_ 1 -utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task |
第一步:添加用户并设置能够在shell上使用的命令
#1.创建用户和登录shell
useradd -s /bin/bash test
这步不要指定rbash,否侧cd等內建命令无法使用
#2.修改用户密码
passwd test
#3.创建用户shell执行命令目录
mkdir /home/test/.bin
#4.root修改用户的shell配置文件
chown root. /home/test/.bash_profile
chmod 755 /home/test/.bash_profile
#5.修改bash配置文件,主要是指定PATH的读取
复制代码
[swallet@iZj6c6g9pt4wd4xt1xi69zZ ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
#切换到只读账号使环境变量生效
su - test
source /home/test/.bash_profile
复制代码
#6.将允许执行的命令链接到$HOME/.bin目录
复制代码
ln -s /usr/bin/wc /home/test/.bin/wc
ln -s /usr/bin/tail /home/test/.bin/tail
ln -s /bin/more /home/test/.bin/more
ln -s /bin/cat /home/test/.bin/cat
ln -s /bin/grep /home/test/.bin/grep
ln -s /bin/find /home/test/.bin/find
ln -s /bin/pwd /home/test/.bin/pwd
ln -s /bin/ls /home/test/.bin/ls
ln -s /bin/less /home/test/.bin/less
ln -s /bin/tar /home/test/.bin/tar
第二步:在相应服务的log日志文件夹授权
chmod说明(u:与文件属主拥有一样的权限[a:所有人];+:增加权限;rwx:可读可写可执行) -R:递归所有目录和文件
chmod a+rwx -R logs
第三步:验证
在只读账号上
[test@iZj6c6g9pt4was4xt1xi69zZ cat_wallet]$ tail -100f logs/catalina.out
2020-03-26 14:31:44,126 DEBUG (BaseJdbcLogger.java:159)- ==> Preparing: SELECT id AS id,parent_id AS parensplay_orde AS mobileRegisterAmount,auth_register_amount AS authRegisterAmount,email_bind_amount AS emailBindAmount,transfer_CAT_status AS transferCatStatus,transfer_USDT_status AS transferUsdtStatus,transfer_CAG_status AS trAS rechargeGptStatus,cash_CAT_status AS cashCatStatus,cash_USDT_status AS cashUsdtStatus,cash_CAG_status AS cashCag
2020-03-26 14:31:44,128 DEBUG (BaseJdbcLogger.java:159)- <== Total: 110
2020-03-26 14:31:45,612 DEBUG (BaseJdbcLogger.java:159)- ==> Preparing: SELECT id AS id,parent_id AS parentId,parent_ids AS parentIds,`name`,nickname,logo_url AS logoUrl,child_status AS childStatus,hidden_status AS hiddenStatus,child_ids AS chi......
完美...............................................................................................................................................................................................
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· C#/.NET/.NET Core技术前沿周刊 | 第 31 期(2025年3.17-3.23)
· 接口重试的7种常用方案!