暗无天日

=============>DarkSun的个人博客

更换Linux UID的脚本

Linux 上更改 UID 的操作步骤有点麻烦,有时会忘了重新设置用户文件的属主,所以写个脚本来简化负担。

  1. 更改文件属主需要 root 权限

    if [[ "$(id -u)" -ne "0" ]];then
        echo "This script should be execute by root" >&2
        exit 1
    fi
    
  2. 脚本接受两个参数,一个是用户名,一个是新的UID

    user="$1"
    newUid="$2"
    
  3. 记录下用户对应的旧UDI

    oldUid="$(id -u "${user}")"
    
  4. 更改用户UID

    usermod -u "${newUid}" "${user}"
    
  5. 重新设置用户文件的属主

    find / -user "${oldUid}" -exec chown -h "${user}" {} \;
    

    这里一定要记得使用 chown-h 选项把符号链接的属主改掉,否则改的是符号链接所指向的文件属主。