我想为我的 Ubuntu 10.04 用户定制外观,这样就不会显示关机菜单之类的东西,而只会在屏幕底部显示一个面板。同时删除一些创建的默认文件夹,如音乐和视频。我创建了一个用户 (test1),并让它看起来像我想要的那样,然后我将 /home/test1 的所有内容复制到 /etc/skel,并将所有内容设置为由 root 拥有,就像它应该的那样。
问题是,当用户登录 Ubuntu 系统时,不会复制任何 /etc/skel 内容。但是会创建一些目录,如 Public、Music、Video 和 .gconf。我知道 /etc/skel 只会影响新用户,所以我可能找错了地方。
我希望我所做的自定义设置能够应用于刚刚登录的用户。我不希望创建这些额外的文件夹或类似的东西。我该如何实现这一点?
我正在使用 Ubuntu 10.04,当用户使用 autofs 登录到 NFS 挂载时,用户主目录会自动挂载。NFS 挂载包含当前 LDAP 目录中所有用户的主目录。我正在使用 OpenLDAP 对我的用户进行身份验证。我已检查以确保我的用户 ID 高于 Ubuntu 认为的系统 ID。我还确认,如果我从我的主目录中删除 Ubuntu 创建的文件夹,它们会在下次登录时重新创建。设置文件(如 .gconf)也是如此。我不知道这些目录和文件是从哪里复制的,但不是 /etc/skel,因为创建的文件不包含任何自定义内容。
关于如何解决我的问题有什么想法吗?
答案1
我相信,只有当您调用 newuser(或等效命令)来创建新用户时,才会复制 /etc/skel 中的指定文件(例如:.profile 和 .cshrc)。除此之外,它不会使用。
答案2
这是因为 Ubuntu(至少在 9.10 中)默认不使用 pam_mkhomedir.so 来自动创建主目录。
将此行添加到 /etc/pam.d/common-account 的底部:
会话需要 pam_mkhomedir.so skel=/etc/skel/ umask=0027