我必须创建另一个用户并将我的所有文件转移给“他”。Linux 上的问题是新用户将无法访问/编辑它们。是否有快速命令来转移所有文件并更改其所有权限?
答案1
创建用户后,在注销旧用户之前,请确保他属于正确的组:
sudo adduser --home /home/<new-username> <new-username>
sudo usermod -aG adm,cdrom,sudo,dip,plugdev,lpadmin,sambashare <new-username>
然后 :
mv -v ~/* /home/<new-username>/
chown -R <new-username>:<new-username> /home/<new-username>/*
正如@Zzzach在评论中指出的那样,不要在命令sudo
上使用该chown
命令,首先它不应该是必需的,因为如果你mv
在没有sudo的情况下也这样做了,那么所有不属于你的文件和文件夹将保留在旧文件夹中,并且无论如何都应该在新用户上重新创建。系统通常对所有权和权限不挑剔,但有些程序是这样的。
答案2
我会尝试使用 rsync 来保持在 sage 方面:
rsync -rlvzu --owner=<new-username> --chmod=a+rwx,g+rwx,o-wx /source/ /destination/
在哪里
-r
用于递归-l
用于链接-v
详细-z
用于压缩-u
:更新文件而不是覆盖它们(节省时间)--chmod=a+rwx,g+rwx,o-wx
:更新权限