V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  tomychen  ›  全部回复第 5 页 / 共 19 页
回复总数  379
1  2  3  4  5  6  7  8  9  10 ... 19  
2022-03-19 14:54:47 +08:00
回复了 0o0O0o0O0o 创建的主题 Linux 如何保护 $HOME/.ssh
@FrankHB 其实我想表达的一个意思是,先有 UNIX 、Linux ,而后才有了强制控制访问一说。而整体的 Unix 或者类 Unix 系统的最初模型也是基于 DAC 模型。而后,为了适用于这个模型,才引用到操作系统中。
不瞒你说,我大概是 2010 年左右才听到这种说法,而还是因为当时公司参与了等级保护的项目。

当时我熟悉另一家公司的产品,除了 FreeBSD 以外,类 AIX ,HPUNIX 包括了 Windows 这类闭源系统,他们采用都是非常暴力的 Hacking 式介入,从而达到“强制访问控制”的需求。

但这些也正如你所说的,因为历史遗留问题。但是确实不能把文件系统做得不那么“烂”么,我觉得以维护 linux kernel 那帮老头的能力,并不是什么太大的问题吧,以 Windows 这么有经济实力的企业重新设计也不是多大难题吧。

但更多的时候,我觉得操作系统的迭代除了引入,加强新的功能和特性外,应该还要考虑的是“用户”,用户包括了使用者和开发者和硬件厂家。推倒一个文件系统去重新实现一个满足于并不算多数用户需要使用到的功能重要,还是只是兼容某个特性重要,这个问题似乎套在 linux 上,它似乎已经承受了太多它不应该承受的包袱,我并不是指它有多完美或者多优秀。

从为课堂而生的它到今天已经演变成了一个主流操作系统,它已经不是当年的那个研究的课件。

再回到 VFS ,从设计模式来看,我觉得 VFS 是一个非常棒的东西。当然可能是我格局小了,我看到的是这个内核层的接口,让后来的开发者在这个接口上重新设计一套 FS ,将变得更简单,而且不用过度参与到更底层的现实层去。总不能因为一个新的 FS fork 一个新的分支吧。

同样,参考你的 “about-operating-systems.md” ,整个文档看下来,你的思维更多想完成一个更合乎于“现代”的一个操作系统的模型,或者说更理想化的一个模型。

从我的理解和认知里,Linux 也好其他 Unix 也好,更多的时候,在对现代模型的支持在当年那个年代没有办法设计出来,而后通过这种补丁式,侵入式,或者模块化的方式集成的现有的模型里面。当然,可能像你说的“懒”,但是我的理解可能是会了兼容更多的用户,满足更多的用户。


SELinux 可能对很多用户来讲太复杂了,但更多人没注意到一个简单的

https://elixir.bootlin.com/linux/v3.10/source/security/tomoyo

而这是一个 LMK 的存在,当然,官方现在已经引入,也就是说已经可以在编译内核的时候选择编译到内核。

同样引用了 VFS 。

看了你的文档,才发现你对操作系统这么有研究,一个门外汉,跟你说了这么多,显得有点,不那么从容和淡定。
2022-03-18 17:14:15 +08:00
回复了 0o0O0o0O0o 创建的主题 Linux 如何保护 $HOME/.ssh
@FrankHB 这杆子挥得有点狠...
从历史层面上来讲也确实是先有 DAC ,而后引入的 MAC ,这并没什么毛病,而从设计年代上来讲也并没什么毛病。

而从使用者的角度而言,是使用 DAC 还是 MAC ,这得使用者,也是用户本身去评估,就像 linux 已经用了 SELinux ,但并没有强制用户去使用,这也是有原因。

在用户的使用颗粒并没达到 MAC 时,强制去推行,那让非专业的用户使用起来,只是一种负担。
反之,就是强制让对安全敏感的用户去用 DAC ,只会让他们无法相信这种模式能够保证自己的数据安全。

所以抛开场景去谈论这个确实有点不公平。

而操作系统本身就是,只是保证系统运行的稳定性,健壮性,和合乎逻辑性。

再者别忘了 Unix 的初衷 KISS
2022-03-18 16:20:08 +08:00
回复了 man2vec 创建的主题 Apple M1 Max 和 Ultrafine 5K 是个好搭配吗?
一直让屏幕供电,从 LG5K 屏刚出来,16 款、18 款、M1 本换了几个了,但一直这么用,没感觉有啥问题啊
2022-03-18 16:08:53 +08:00
回复了 0o0O0o0O0o 创建的主题 Linux 如何保护 $HOME/.ssh
你的意思是想让“我”访问不了“我的文件”?这逻辑,好像有点不太对。

那能不能换个思路,让“其他”人访问不了“我的”文件。


为啥不考虑一下像很多服务一样添加一个新的服务用户如 mysql 和组,再配上 chroot 也算已经很 OK 了。

实在懒也可以用 nobody

事情上很多发行的 linux 在用户权限上已经做得很好了,也相对比较人性化了。
更多的时候是权限滥用引发的事故,而把责任归到操作系统上,这锅让操作系统背,是有点无辜的。
2022-03-16 13:26:10 +08:00
回复了 redtech 创建的主题 程序员 通用控制 是否可以提高编程效率
楼主的表和车🔑️比较亮眼
2022-03-16 13:19:58 +08:00
回复了 redtech 创建的主题 程序员 通用控制 是否可以提高编程效率
在我的环境里特别有用,我大概的环境是,公司一台 Mini ,算是测试机吧,上面的东西比较杂乱,另一台就是 MBP ,主要用的系统,桌子太小了,显示器堆满了,连 HHKB ,都放不下了。现在刚好,用 MBP ,横跨 4 个屏幕,就很舒服了,再也不需要用 Mini 的时候,再把 HHKB 搬到 MBP 上。
ls -altr ?
2022-03-16 12:26:14 +08:00
回复了 loserwn 创建的主题 macOS 升级 Mac OS 12.3 USB-C 外接显示器失效
LG5k 14" 正常点亮
2022-03-14 15:00:15 +08:00
回复了 FreeTxT 创建的主题 Linux Slackware 15.0
个人挺喜欢这个发行的,刚学的时候开始装的是 redhat ,后来无意中发现这个,后来转战 gentoo ,看到这名字感觉还是很亲切
2022-03-08 17:31:44 +08:00
回复了 dongse 创建的主题 Linux Linux 的/usr/bin 或者/usr/local 没有权限,如何安装软件
./configure --prefix
2022-03-02 15:25:54 +08:00
回复了 linux1orange 创建的主题 Linux 如何设计一款 Linux 防火墙软件
额,好像是完全没接触过啊。netfilter 是基于内核模块处理的,也就是说你要弄一个 netfilter hook 的内核模块,在 netfilter 提供的 INPUT/OUTPUT PRE/POSTROUTING 里面实现 类似于 iptables 的 filter /nat/log 等功能,log/trace netfilter 并没有给出接口,而是自己从 pre 到 post 的流程记录一下应该算是个 trace 了吧。
关键字
netfilter kernel module
随手扒拉了个 github 的例子
https://github.com/wangm8/Netfilter-Kernel-Module
所以选无刻,就不会纠结这个问题了
2022-03-01 19:03:57 +08:00
回复了 akaHenry 创建的主题 Apple 2021 款 mbp14(M1 Max) 你都遇到了哪些问题?
会莫明的 crash.... =_=
com.apple.appkit.xpc.openAndSavePanelService
2022-02-28 17:59:42 +08:00
回复了 Mateverse 创建的主题 咖啡 每天咖啡续命,有什么便宜的每天喝咖啡的方案
另外,有必要说一下讲一下速溶咖啡。
速溶咖啡,主要用的豆都是罗布斯塔,也就是简称的罗豆,这种豆普遍生成在低海拔产区,如越南等东南亚一带。主要的特点就是便宜+咖啡因含量比较大。因此,深加工的咖啡制品特别喜欢用。这是其一,其二就是速溶咖啡里的奶(精),可不是对身体好的什么东西。

所以常年喝速溶咖啡的同学,真要注意,偶尔没有咖啡,临时解瘾也说得过去,但是真不建议当口粮,太不健康了。
2022-02-28 17:53:25 +08:00
回复了 Mateverse 创建的主题 咖啡 每天咖啡续命,有什么便宜的每天喝咖啡的方案
买套手冲工具,工作之余,刚好可以放松一下,手冲一泡。
手冲工具,价格从入门到玩家区异太大,可根据自己的能力来。
豆的话,某宝慢慢淘,从轻烘到深烘,都可以试。

喜欢黑咖啡口感,可以试一下,中烘曼特宁,亚洲产区,比较适合喜欢黑咖啡人的口感。主要酸度没高海拔产区那么重,所以显得没那么“娘”,哈哈哈。。。。
我都是 Aflred 里再启动一下
2022-02-28 15:58:03 +08:00
回复了 linux1orange 创建的主题 Linux 如何设计一款 Linux 防火墙软件
netfilter 有现成的 INPUT/OUPUT/NAT/FORWARD 等五个钩子

直接挂上处理就好了
2022-02-23 16:58:16 +08:00
回复了 Chism 创建的主题 macOS Terminal 如何强制全部走 proxy?
export 后 curl 会走代理,git 则不会
独立配置一下~/.gitconfig
2022-02-23 16:48:04 +08:00
回复了 guanzhangzhang 创建的主题 Linux 有大佬试过静态编译 keepalived 吗
keepalived 要静态编译首先:
1. 你的依赖库得静编,包括 openssl kmod 等。
2. 依赖库静编了,也不代表一定能编过编译,因为依赖库静编的过程,有可能是有动、静交叉
3. 以上条件全符合了,也不代表就一定能在不同版本的系统上跑。因为还有个变态的 glibc 。
```C
static inline void file_start_write(struct file *file)
{
if (!S_ISREG(file_inode(file)->i_mode))
return;
__sb_start_write(file_inode(file)->i_sb, SB_FREEZE_WRITE, true);
}

static inline bool file_start_write_trylock(struct file *file)
{
if (!S_ISREG(file_inode(file)->i_mode))
return true;
return __sb_start_write(file_inode(file)->i_sb, SB_FREEZE_WRITE, false);
}

static inline void file_end_write(struct file *file)
{
if (!S_ISREG(file_inode(file)->i_mode))
return;
__sb_end_write(file_inode(file)->i_sb, SB_FREEZE_WRITE);
}

ssize_t vfs_write(struct file *file, const char __user *buf, size_t count, loff_t *pos)
{
ssize_t ret;

if (!(file->f_mode & FMODE_WRITE))
return -EBADF;
if (!file->f_op || (!file->f_op->write && !file->f_op->aio_write))
return -EINVAL;
if (unlikely(!access_ok(VERIFY_READ, buf, count)))
return -EFAULT;

ret = rw_verify_area(WRITE, file, pos, count);
if (ret >= 0) {
count = ret;
file_start_write(file);
if (file->f_op->write)
ret = file->f_op->write(file, buf, count, pos);
else
ret = do_sync_write(file, buf, count, pos);
if (ret > 0) {
fsnotify_modify(file);
add_wchar(current, ret);
}
inc_syscw(current);
file_end_write(file);
}

return ret;
}
```
1  2  3  4  5  6  7  8  9  10 ... 19  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5879 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 02:05 · PVG 10:05 · LAX 18:05 · JFK 21:05
Developed with CodeLauncher
♥ Do have faith in what you're doing.