![删除 Samba 域用户帐户的 shell 访问权限](https://linux22.com/image/208171/%E5%88%A0%E9%99%A4%20Samba%20%E5%9F%9F%E7%94%A8%E6%88%B7%E5%B8%90%E6%88%B7%E7%9A%84%20shell%20%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90.png)
我有一个 Samba 域服务器,为 AD 用户提供网络共享。所有用户都作为常规 Linux 用户在此服务器上创建,因此被授予 shell 访问权限。我必须删除绝大多数用户的 shell 访问权限,并且我正在考虑将 /etc/passwd 中的默认 shell 从 /bin/bash 更改为 /sbin/nologin 或 /bin/false 但这会影响他们的能力获取他们在服务器上的共享?
答案1
/sbin/nologin
不会,为用户提供类似或 之类的 shell/bin/false
不会阻止他们访问其 samba 共享。事实上,这是一种非常常见/正常的做你想做的事情的方式。
但请注意,如果复杂的组成员身份很重要,那么对于大多数(如果不是全部)Samba 用户来说,最好不要使用本地用户或组,而是依赖 AD - AD 支持嵌套组成员身份(即组可以是另一个团体的成员)。 Unix 组织没有也不能这样做。
(我知道这一点是因为我曾经不得不编写一个 perl 脚本来从 AD 服务器中提取特定教师的用户和组名,并为他们生成本地帐户和组......因为我工作的大学不想在其中央 IT 管理的 AD 服务器上安装 AD 的 unix 扩展)