我正在编写一些读取 /etc/{passwd,group} 的程序。
我了解到任何程序都应该在编写上述文件之前通过调用 lckpwdf() 来锁定 /etc/.pwd.lock,以避免写入冲突。
我猜读操作也需要这个锁,这样程序就不会读出不一致的数据。
但是我发现当以非 root 身份读取 /etc/passwd 时我无法执行锁定,因为 /etc/.pwd.lock 归 root:root 所有,并且模式为 0600。
我错了吗?阅读不需要这个锁吗?
我正在编写一些读取 /etc/{passwd,group} 的程序。
我了解到任何程序都应该在编写上述文件之前通过调用 lckpwdf() 来锁定 /etc/.pwd.lock,以避免写入冲突。
我猜读操作也需要这个锁,这样程序就不会读出不一致的数据。
但是我发现当以非 root 身份读取 /etc/passwd 时我无法执行锁定,因为 /etc/.pwd.lock 归 root:root 所有,并且模式为 0600。
我错了吗?阅读不需要这个锁吗?