Linux如何管理多用户环境?_Linux用户隔离与资源分配策略

哎呀,那就是管理多用户Linux环境,我来说说我当年遇到的坑吧。

当时我刚刚接手我们公司的服务器,有几百个用户。
很头疼。
第一个障碍是管理权限。
当你谈到UID/GID时,听起来水平很高,但我一开始并没有理解它。
有朋友使用useradd来添加用户。
结果,用户可以看到彼此的文件,一切都会变得混乱。
后来我意识到我需要处理主组并使用 usermod 将用户添加到特定的工作组。
比如开发团队、运维团队,这样在交换文件的时候就不会出现混乱。
我已经使用 chmod 和 chown 这两个命令已有十年了,但我仍然需要时不时地阅读文档。
我忘记了哪些字母代表哪些权限,甚至忘记了rwx。
记得有一次我更改了一个重要目录的权限,导致几个用户无法工作,这让我很担心。

然后是资源控制。
起初cgroups看起来很复杂,有CPU、内存和磁盘,这让我很困惑。
有一个用户正在使用一个特别大的程序。
结果,处理器满了,没有其他人可以使用它。
后来我学会了使用 ulimit 在每个用户或用户组的基础上设置限制,例如文件描述符和内存大小。
此外,现在所有系统都使用 systemd。
如果您创建一个切片,资源限制将自动得到遵守,为您省去很多麻烦。

特殊权限控制,需谨慎。
SUID/SGID 在经常使用时有很多优点,但如果使用不当,则会产生重大漏洞。
我记得有一次我忘记了 passwd 命令中的 SUID 位,无法更改密码。
我很担心。
/tmp 目录中还必须存在一个粘滞位,否则用户将互相删除文件并造成混乱。
但是,如果你经常使用这个东西,你应该请注意您的权限设置,防止坏人有机可乘。

安全认证审核不是一件可以掉以轻心的事情。
至于sudo机制,我建议不要混淆,指定命令并指定用户。
这样更安全。
我对 PAM 接触不多,但我知道它很好,而且有很多身份验证方法。
要审核日志,您应该每天检查 /var/log/auth.log 并立即解决任何异常情况。

这些年来我掉进了很多陷阱。
弱密码、不正确的权限设置、不正确的SUID/SGID使用、不更新系统等都是大忌。
所以我总结了一套做法:强密码、最低权限、系统更新、禁用服务、用户教育和定期备份。
当这几点完成后,安全问题就基本解决了。

最后,管理用户组,使用useradd、passwd、groupadd等命令;资源限制、ulimit 和 cgroup;强化安全性、sudo、PAM、防火墙和日志审计;共享隔离、SUID/SGID 和粘性位。
一旦理解了这一点,管理多用户 Linux 环境就基本完成了。

Kafka实战(七) - 优雅地部署 Kafka 集群

上周,朋友的公司准备在生产环境中部署Kafka集群。
他们应该首先考虑操作系统,Linux是首选,因为Linux的I/O性能比Windows好得多。
特别是在高动态情况下,Linux 吞吐量可比 Windows 高出 3 0%。

关于磁盘配置,他们计划使用机械硬盘,因为Kafka主要是读写,可以满足机械硬盘的性能需求,所以价格较低。
但他们关注机械硬盘的可靠性问题,可以通过Kafka复制的方法来解决。
在带宽规划方面,他们必须确保带宽不会成为瓶颈。
例如,如果每秒需要处理的数据量为2 3 3 6 Mbps,则至少需要1 0台服务器。
考虑到重复的数量,服务器总数应为3 0台。
另外,Zookeeper单独部署集群,并使用Prometheus和Grafana进行监控和报警。

硬件配置方面,计划采用CentOS7 .x操作系统、8 核CPU、1 6 GB内存、4 TB机械硬盘和千兆网卡。
软件配置为Kafka 2 .8 .0版本,还需配置broker.id、listeners、num.partitions、replication.factor、log.retention.hours等参数。
一般来说,部署Kafka集群是一个复杂的过程,需要仔细考虑。
但通过适当的规划,集群的稳定性和性能是可以得到保证的。
你明白了,我的朋友。

如何限制Linux网络带宽 wondershaper限速工具使用

哈,Wondershaper 是一个非常有用的工具。
我以前也曾陷入过这个陷阱,但忘记使用 sudo 权限。
结果直接设置限速的时候就出现了故障。
我气得跺脚。

上周有客户问我如何限制家里路由器的带宽。
起初我以为我需要做一些复杂的设置,但是检查后我发现Wondershaper是多么方便。
他使用Ubuntu系统,所以我教他怎么做:
1 .安装: sudo apt install Wondershaper 2 、设置限速:比如他想限制eth0网卡的下载速度为1 02 4 kbps,上传速度为5 1 2 kbps,那么他应该这样做: sudo Wondershaper eth0 1 02 4 5 1 2 3 .解除速度限制:如果想恢复默认状态,使用这个命令:sudo Wondershaper Clear eth0
但是,这个产品也有限制。
比如只能限制整个网卡的流量,不能按进程或者IP进行细分。
而且,限速规则在系统重启后就会失效,需要重新手动设置。

高级提示:如果您希望限速规则在启动时自动生效,您可以在 /etc/rc.local 文件中添加一条命令,并记住对该文件设置执行权限。
或者,您可以编写一个 systemd 服务模块文件来自动化它。

说到监控带宽使用情况,nload 和 iftop 是两个非常好的工具,可以帮助您实时查看带宽使用情况,为您设置速度限制奠定基础。

总之,Wondershaper是一个非常好的工具,简单易用,适合基本带宽限制的情况。
但是,如果您有更复杂的流量管理需求,您可能需要考虑其他更高级的工具。
无论如何,这取决于你。
如果有需要的话你可以尝试一下这个。
我还在想这个问题,怎么让它变得更智能,比如自动调整限速取决于网络使用情况。

Linux下MinIO性能怎样优化

哎呀,说到这个我就很有发言权了。
几年前我在杭州做一个项目,MinIO用得很好。
起初,那家伙被卡住了,无法使用。

我记得2 02 1 年的时候,服务器用的是两块普通机械硬盘,数据量不大,只有几百TB。
结果一旦装载货物,就如乌龟爬行一样缓慢。
后来老板着急了,说如果我们不抓紧时间,项目就泡汤了。
我想起了之前看过的信息,赶紧思考如何改正。

我们先来说说硬件。
我当时就想,这个机械硬盘肯定不行了。
直接访问高速SSD是必须的。
我花了小2 万元,换了两块颗粒度不错的NVMe SSD。
那速度,与之前完全不同。
随机读写性能立即提升,I/O 延迟下降一半以上。
这钱花得值!
系统配置也需要更改。
记得MinIO的时候,文件描述符限制太低,并发高的时候会直接崩溃。
我用ulimit -n 6 5 5 3 5 暂时提一下。
后来为了永久,我改了/etc/security/limits.conf,加了一堆soft nofile 6 5 5 3 5 和hard nofile 6 5 5 3 5 还有/proc/sys/fs/file-max,我改成了3 8 6 5 1 6 1 2 3 3 ,反正调高了。
现在好多了,不再害怕高并发了。

互联网也必须跟上。
我的服务器使用1 0G网卡,一开始没有开启Jumbo Frames。
结果,大文件传输速度极其缓慢。
后来查了资料,用ethtool打开了9 000的MTU,速度惊人。
另外,我的服务器有两个网卡,所以我使用bonding模式创建一个逻辑网卡,这样带宽就增加了一倍。
该交换机还支持LACP,因此您不必担心。

MinIO自身的参数也需要调整。
我把数据目录直接挂载到SSD上了。
这一步很关键。
然后我调整了并发连接数。
以前是默认的,后来我改成了5 000,感觉比较合理。
我还增加了内存池。
原来默认是5 0%,我改成8 0%。
反正内存就大了,占用多一点就好了。

监控也很重要。
我用的是vmstat、iostat之类的工具,每天都盯着它们。
如果您发现任何地方速度缓慢,请重点优化该地方。
另外,您应该阅读 MinIO 日志。
有时,缓慢是由于某些查询的问题造成的。
您可以通过查看日志来查找原因。

最后一点,测试验证。
我更改完所有配置后,先在测试环境跑一下,跑完后再移到生产环境。
另外,版本也要及时更新。
我当时更新到了最新版本,解决了一些小问题。

总之,MinIO优化是一个系统工程,必须从硬件、系统、网络、MinIO自身参数等多个方面综合考虑。
我不确定你的场景,但基本思想是相同的。
如果您有任何具体问题,请随时询问我,我会详细与您交谈。