我遇到了一个非常特殊的情况,需要从一个品牌的 Linux 迁移到 ubuntu 22.04。到目前为止一切顺利。除其他事项外,原始设置有多个用户和相应的目录,它们与 apache webserver 用户和/或组相关联,这些用户和/或组的 uid 和 gid 与 Ubuntu 上的不同。为了最大限度地减少权限问题,我们正在考虑将 www-data uid 和 gid 更改为原始操作系统的 uid 和 gid(两个值均为 48,而原始值为 33)。问题是当我尝试这样做时,我收到以下消息:
sudo -- usermod -u 48 www-data
usermod: user www-data is currently used by process 717
因此,如果我寻找与 www-data 相关的文件和目录,这就是列表
sudo -- find / -user 33
/proc/717
/proc/717/task
/proc/717/task/717
/proc/717/task/717/fdinfo
/proc/717/task/717/net
/proc/717/task/717/attr
/proc/717/task/717/attr/smack
/proc/717/task/717/attr/apparmor
/proc/717/fdinfo
/proc/717/net
/proc/717/attr
/proc/717/attr/smack
/proc/717/attr/apparmor
/proc/718
/proc/718/task
/proc/718/task/718
/proc/718/task/718/fdinfo
/proc/718/task/718/net
/proc/718/task/718/attr
/proc/718/task/718/attr/smack
/proc/718/task/718/attr/apparmor
/proc/718/fdinfo
/proc/718/net
/proc/718/attr
/proc/718/attr/smack
/proc/718/attr/apparmor
find: ‘/proc/2240/task/2240/fd/6’: No such file or directory
find: ‘/proc/2240/task/2240/fdinfo/6’: No such file or directory
find: ‘/proc/2240/fd/5’: No such file or directory
find: ‘/proc/2240/fdinfo/5’: No such file or directory
/run/apache2/socks
/run/php
/run/php/php8.2-fpm.sock
/run/lock/apache2
/var/cache/apache2/mod_cache_disk
/var/lib/apache2/fcgid
/var/lib/apache2/fcgid/sock
Apache 服务当然已停止
缺什么?
答案1
运行的守护进程(根据您的日志)是php-fpm
。此守护进程通常以 apache 用户身份运行,因此请停止守护进程并重试该操作。
成功更改 UID 后,不要忘记更改文件的所有权。