如何在CentOS中创建非特权用户?


10

我想创建一个无特权的用户来在CentOS实例上运行我的RhodeCode服务器和Celery守护程序。我认为可接受的定义是没有主目录,禁用登录名和没有shell访问权限?查看adduser的手册页,我只是看不到这样做的直观方法。任何建议表示赞赏。谢谢。

Answers:


9

这里(centos.org)

useradd(这是调用adduser时运行的实际二进制文件,它的行为有所不同。请参见此处。)具有一个标志-r,其记录如下:

-r   Create a system account with a UID less than 500 and without a home directory

听起来像您想做什么。


有趣的是,至少在Redhat上/etc/passwd会有一个主目录条目(/home/username默认情况下);该目录当然不会存在,但这有点奇怪)
ジョー

15

我认为我应该从serverfault链接两个答案:

基本上-r是指“将帐户设置为系统帐户”(例如“无过期”等),完整的拼写可能看起来像

useradd -s /bin/false -r <username>

要么

useradd -s /usr/sbin/nologin -r -M -d /dev/null <username>

或类似)

注意 对于类似samba的事情,可能还需要向该用户提供密码,并且还可以添加/usr/sbin/nologin/etc/shells

# `which nologin` >> /etc/shells

NB(2):根据OrangeDog的评论:-r实际上暗示-M,因此-M并非严格必要。

PS。是的,在serverfaultaskubuntu和这里寻找相同的东西对我来说有点奇怪;有没有一种方法可以对所有 stackoverflow网站进行元搜索?


至于元搜索-目前缺少任何“本机”选项,但是有用于堆栈交换的自定义Google搜索
2012年

我已经看到了诸如使用命名为/sbin/nologinin的服务/etc/passwd。那么他们如何开始服务呢?
Antarus

@OrangeDog:我现在没有CentOS系统,但是在Redhat和Debian上-d都不会被忽略。奇怪的是,实际上没有任何审稿人打扰过测试)
ジョージ

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.