我运行的是 Ubuntu 12.04,相对较新,只安装了依赖项的 samba 4.2。更改为 root 后,出现警告“访问被拒绝”,但随后可以访问:
adminuser@pc:~$ sudo su
Password:
Access is denied
root@pdc:/home/admiuser# dmesg
[ 13.793551] type=1400 audit(1384167002.630:12): apparmor="STATUS" operation="profile_replace" name="/sbin/dhclient" pid=1194 comm="apparmor_parser"
[ 13.794255] type=1400 audit(1384167002.630:13): apparmor="STATUS" operation="profile_replace" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=1194 comm="apparmor_parser"
[ 13.794648] type=1400 audit(1384167002.630:14): apparmor="STATUS" operation="profile_replace" name="/usr/lib/connman/scripts/dhclient-script" pid=1194 comm="apparmor_parser"
[ 13.801483] type=1400 audit(1384167002.638:15): apparmor="STATUS" operation="profile_replace" name="/usr/lib/cups/backend/cups-pdf" pid=1195 comm="apparmor_parser"
[ 13.802318] type=1400 audit(1384167002.638:16): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/cupsd" pid=1195 comm="apparmor_parser"
[ 13.808872] type=1400 audit(1384167002.646:17): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/ntpd" pid=1196 comm="apparmor_parser"
[ 13.829593] type=1400 audit(1384167002.666:18): apparmor="STATUS" operation="profile_load" name="/usr/sbin/tcpdump" pid=1198 comm="apparmor_parser"
[ 15.213985] init: plymouth-upstart-bridge main process (658) killed by TERM signal
Samba4 - PDC AC 的身份验证发生了一些变化:
# cat /etc/nsswitch.conf
#It should look like:
passwd: compat winbind
group: compat winbind
shadow: compat
# Configuring PAM in /etc/pam.d/common*
-auth
# add:
auth sufficient pam_winbind.so
# modify:
auth [success=1 default=ignore] pam_unix.so nullok_secure use_first_pass
-account
# Add this line before pam_unix.so:
account sufficient pam_winbind.so
-session
# Add these lines before any other session line:
session required pam_mkhomedir.so
session required pam_winbind.so
这就是麻烦的根源吗?
答案1
身份验证失败,但 root 无法访问用户的主文件夹。(您没有包含 - 来告诉 su 加载超级用户的帐户。)如果您sudo su -
在执行 之前使用 或 更改为 root 有权访问的文件夹su
,则不会出现错误。至于最佳实践,在现代系统中,唯一需要 su 到 root 的情况是您需要浏览只有 root 才能访问的文件夹内部。