如何更改/usr/lib的所有权目录和特定用户的所有库?
我尝试编写一个自定义bb配方,但没有成功。
SUMMARY = "Change /usr/lib ownership."
LICENSE = "MIT"
FILES_${PN} = "${libdir}*"
do_install () {
chown user1:group1 ${D}${libdir}
}
我也尝试使用${libdir}而不是/usr/lib,但没有成功。如何正确访问/usr/lib
?在编译过程中不可能更改它,因为文件系统是在编译过程的最后构建的。有两种方法可以实现。首先是添加chmod在系统镜像安装脚本中。二是准备一个系统服务和bash脚本,可以检查所有者并在必要时设置当前所有者。
owner-updater.service
[Unit]
Description=Directory Owner Updater
After=local-fs.target
[Service]
Type=oneshot
ExecStart=/opt/update-owner
StandardOutput=journal
[Install]
WantedBy=multi-user.target
update-owner
#!/bin/bash
USER=user_name
DIR_PATH="/usr/lib"
DIR_OWNER="$(stat --format '%U' $DIR_PATH)"
DIR_GROUP="$(stat --format '%G' $DIR_PATH)"
if [ "$(id -u $DIR_OWNER)" -eq "$(id -u $USER)" ] &&
[ "$(id -g $DIR_GROUP)" -eq "$(id -g $USER)" ]; then
echo Correct owner
else
echo Incorrect owner
fi
chown -R [user_name/user_id]:[group_name/group_id] /usr/lib