Linux添加用户

使用Root权限执行以下命令

1 创建用户

adduser --home /home/john --shell /bin/bash --uid 1001 --gecos "Dorian S" dorian

useradd -m -d /home/john -s /bin/bash -c "Dorian S" -u 1001 dorian

adduser命令

adduser 是一个高层脚本,提供了更友好的交互式体验,适合手动操作

参数 意义 示例值
--home 指定用户的主目录 --home /home/dorian
--shell 指定用户的默认 shell --shell /bin/bash
--uid 指定用户的 UID --uid 1001
--gid 指定用户的主组 --gid developers
--ingroup 指定用户的主组 --ingroup developers
--disabled-password 创建用户但不设置密码 --disabled-password
--gecos 添加用户的注释信息(如全名) --gecos "Dorian S"
--system 创建系统用户 --system

useradd 命令的参数

useradd 是一个底层命令,提供了更多的灵活性和选项,适合脚本化操作。

参数 意义 示例值
-c 添加用户的注释信息(如全名) -c "Dorian S"
-d 指定用户的主目录 -d /home/dorian
-e 设置用户账户的过期日期 -e 2025-12-31
-f 设置密码过期后的宽限天数 -f 7
-g 指定用户的主组 -g developers
-G 指定用户的附加组 -G admins,webadmin
-m 自动创建用户的主目录 -m
-M 不创建用户的主目录 -M
-s 指定用户的默认 shell -s /bin/bash
-u 指定用户的 UID -u 1001
-r 创建系统用户 -r

如果用户需要通过ssh登录再进行以下配置,如果只是添加不需要登录的用户直接使用adduser [username]创建即可

2 设置用户密码

passwd [username]

执行命令后输入密码即可

通常情况下,设置完密码后用户就可以登录了,如果不能登录,参考 3 修改ssh配置

3 修改ssh配置(可选)

# 1. 打开配置文件
vim /etc/ssh/sshd_config

# 2. 修改 PasswordAuthentication 参数(建议注释原有值,再复制一行修改)
PasswordAuthentication yes

# 3. 重启 ssh 服务
systemctl restart sshd

4. 添加sudo权限(任选其一)

4.1 将用户加入到sudo权限组(最简单)

原理:默认的用户权限配置文件(/etc/sudoers)中,sudo用户组拥有ALL权限

adduser [username] sudo
# 例如 adduser dorian sudo

# 验证用户组
groups [username]
# 如果输出的内容中有 sudo 即成功

4.2 修改默认权限配置文件

权限配置文件为 /etc/sudoers,这个文件默认是没有写权限的,非常敏感。不建议修改!!!

# 1 添加写权限
chmod +w /etc/sudoers

# 2 打开文件
vim /etc/sudoers

# 3 写入配置
[username]    ALL=(ALL)       ALL  # 例如: dorian    ALL=(ALL)       ALL

# 4 移除写权限
chmod -w /etc/sudoers

4.3 添加新的权限配置文件(建议)

原理:默认权限配置文件 /etc/sudoers中有一条命令@includedir /etc/sudoers.d会加载/etc/sudoers.d文件夹下的所有权限配置文件,因此可以针对每个用户(或用户组)创建一个权限配置文件更利于维护

# 1 创建文件
vim /etc/sudoers.d/dorian

# 2 写入配置
dorian    ALL=(ALL)       ALL
    三段配置的含义:

  • 第一段:用户/用户组
    • 用户名(如 dorian):直接指定用户。
    • 用户组(以 % 开头,如 %sudo):授权整个用户组。
    • 别名(通过 User_Alias 定义):例如 User_Alias ADMINS = dorian, alice。
  • 第二段:适用主机(表示允许执行 sudo 的主机范围,可以是:)
    • ALL:允许所有主机:允许所有主机
    • 主机名/IP(如 localhost 或 192.168.1.1):限制特定主机。
    • 别名(通过 Host_Alias 定义):例如 Host_Alias SERVERS = server1, 192.168.1.*
  • 第三段:权限规则,包含两部分:
    • 切换身份((ALL)
    • 允许的命令(ALL

5 sudo免密操作

配置完权限的用户虽然可以使用sudo命令,但是每隔一段时间都要输入一次密码,如果密码比较复杂,非常影响操作.
想要免密使用sudo操作只需修改权限配置中的第三段参数。例如:

# 1 打开配置文件
vim /etc/sudoers.d/dorian

# 2. 修改配置,添加 NOPASSWD 参数
dorian    ALL=(ALL)       NOPASSWD:ALL

参考

  1. linux创建用户并赋权
  2. Ubuntu 22.04新建用户,并赋予管理权限
  3. Linux新建用户无法登陆系统的解决方案
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇