如何创建新用户?


28

创建(或不创建)新用户有任何安全隐患吗?

如果需要,如何创建新用户或更改默认用户?


完全取决于您。创建新用户时没有安全问题。我个人将立即将其更改为我自己的名字。
Jivings 2012年

这是Debian专用的吗?Arch是否附带默认用户?
亚历克斯·张伯伦

@AlexChamberlain:拱只有根。您必须创建其他用户。
Jivings 2012年

无论哪种方式,这确实是软件所特有的,而不是PI所特有的,应该确实在标题中。
XTL 2012年

Answers:


22

德比安

官方的Debian映像至少具有2个用户,rootpi。您将只能登录该pi帐户。

如何更改pi密码?

至少,您应该更改该pi帐户的密码,因为拥有RPi的任何人都可以登录到您的帐户。为此,请从命令行运行passwd并按照提示进行操作。

如何更改pi的用户名?

如果像我一样,想要使用自己的名字,则要这样使用usermod

usermod -l newname -d newname -m oldname

usermod可以通过运行找到更多选项man usermod

我应该设置密码root吗?

Debian的root没有一个密码是无效的-你不能登录,或suroot。您不应该更改此设置,因为它存在安全隐患,sudo并且更安全。

那么,更改密码后我的文件安全吗?

但是,请不要对RPi的安全性太过放松,默认情况下,文件系统未加密,因此,任何具有物理访问权限的人都可以删除SD卡并使用另一台机器读取它。

相关问题


usermoduser pi is currently used by process 10190运行时回复usermod -l morgan -d morgan -m pi(进程10190是bash,我正在运行的shell)。我无法登录,root因为我不知道其密码。是否需要创建一个临时用户来更改pi的用户名?
Morgan Courbet

2
@Morgan root通过运行设置密码sudo passwd
亚历克斯·张伯伦2012年

18

全新的Arch安装附带了只有root用户可用的安装。因此,您肯定应该创建一个新用户,因为花费过多时间作为root用户是危险的。此外,您还应该更改root密码,因为保留默认设置是主要的安全风险。

修改root密码

以root用户身份登录时,可以通过运行passwd命令来更改密码。

# passwd
Changing password for root.
(current) UNIX password: 
Enter new UNIX password:
Retype new UNIX password:

添加新用户

可以使用adduseruseradd命令创建新用户。adduser可能是最简单的,唯一需要的字段是名称(您可以通过按Enter跳过其他字段):

# adduser
Login name for new user []: 

创建帐户时,系统会提示您输入新密码。

须藤

如果愿意,可以使用sudoDebian用户类似的方式使用。

安装

要安装sudo,请运行

pacman -S sudo

作为根。

使用

为了允许用户使用sudo,需要将它们添加到sudoers文件中。这可以通过两种方式完成。

  • wheel使用usermod此用户将其添加到组中,并在sudoers文件中取消注释此行:

    %wheel ALL=(ALL) ALL
    
  • 或将用户直接添加到sudoers文件中:

    username ALL=(ALL) ALL
    

注意你应该永远用Vim编辑时,Emacs等sudoers文件你应该总是通过编辑它visudo。这样可以防止您弄乱语法并使其sudo无法使用。

禁用根

如果需要,您可以通过以root身份运行此命令来有效地禁用root帐户:

# passwd --lock

此选项通过将密码更改为与可能的加密值不匹配的值来禁用密码。

如果您具有强壮的root密码并且禁用了通过SSH的root访问权限,那么这实际上不是必需的。


适用于Raspian和Arch。比你。
2014年

7

与树莓上的额外技巧 usermod

usermod 如果要更改的用户在计算机上运行时有任何进程在运行,则该命令将不会运行。

如果您在 pi的控制台上有一种解决此问题的方法,而无需创建另一个用户(或在root用户上设置pw):

假设除了控制台上的外壳程序外,其他用户名和用户名都没有运行-没有X会话,没有ssh登录等:

exec sudo -s
cd /
usermod -l newname -d /home/newname -m oldname

起作用的原因:

  • sudo -s告诉sudo它不应该仅以另一个用户的身份运行命令,而是应该以给定的用户身份运行新的shell
  • exec告诉外壳程序,而不是在运行命令时生成新进程(因此使外壳程序进程作为登录用户运行),外壳程序应使用新进程覆盖自身-这意味着当execed命令结束时,外壳程序已消失-如果登录Shell等同于与登录断开连接
  • cd /是可选的。至少,如果您将目录移入(进入您的登录名时先坐在用户pi主目录中),情况会有些混乱,但有时会导致失败,更好的安全性,然后再对不起。

因此,exec sudo -s您将使用已创建为其他用户的新外壳覆盖外壳。

PS务必给usermod -d一个完整的路径,否则你会落得帐户的家搬到什么地方你不希望(和在一个虚假的目录项passwd


6

要在raspbian中添加新用户:

sudo useradd -m -G pi,sudo,gpio,audio,video steve

然后:

sudo passwd steve

说明:

-m -创建一个新的主目录

-G group1,group2,group3-将用户添加到这些组中,sudo如果您不希望用户具有sudo特权,则不要添加。

steve -新用户名

passwd -Linux需要密码才能登录,因此请设置密码。


对我自己很有帮助!欢呼史诗般的人
克莱门特2016年

-G选项似乎不再起作用。一次-group只允许一组。

该选项-group将初始登录组更改为指定的字符串。-G设置用户所在的组的列表
。– Theoremiser

2

我一直在读很多关于此的用法,但是最简单也是最简单的

以pi身份登录,

要添加新用户:

 sudo adduser john

创建成功后,添加johnsudoers

 sudo usermod john -g sudo

登出:

logout

登录为 john

更新软件包列表:

 sudo apt-get update

如果可行,就完成了...


如果他使用Arch怎么办?

运行“ sudo adduser guest”,“ passed”并创建文件夹/ home / guest之后,我有一个工作的guest用户。但是,当我以该用户身份登录时,/ home / guest中的.bashrc文件似乎未得到执行。我已经手动创建了.bashrc并授予了对其的执行权限。还有缺少的东西吗?
mvmn 2014年

PS好的,我自己解决了-.bashrc由.profile来源提供,而.profile对于新用户不存在。
mvmn 2014年

应该使用参数调用它-G,因为参数设置了初始登录组,因此它不会将组添加到列表中。
Theoremiser
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.