CentOS 7中添加一个新用户并授权

本文介绍了如何在Linux系统中创建新用户并设置密码,同时详细讲解了如何为普通用户授权sudo权限的方法。
部署运行你感兴趣的模型镜像

创建新用户

创建一个用户名为:linuxidc

[root@localhost ~]# adduser linuxidc

为这个用户初始化密码,linux会判断密码复杂度,不过可以强行忽略:

[root@localhost ~]# passwd linuxidc
更改用户 zhangbiao 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

授权

个人用户的权限只可以在本home下有完整权限,其他目录要看别人授权。而经常需要root用户的权限,这时候sudo可以化身为root来操作。我记得我曾经sudo创建了文件,然后发现自己并没有读写权限,因为查看权限是root创建的。

新创建的用户并不能使用sudo命令,需要给他添加授权。

sudo命令的授权管理是在sudoers文件里的。可以看看sudoers:

[root@localhost ~]# sudoers
bash: sudoers: 未找到命令...
[root@localhost ~]# whereis sudoers
sudoers: /etc/sudoers /etc/sudoers.d /usr/libexec/sudoers.so /usr/share/man/man5/sudoers.5.gz

找到这个文件位置之后再查看权限:

[root@localhost ~]# ls -l /etc/sudoers
-r--r----- 1 root root 4251 925 15:08 /etc/sudoers

是的,只有只读的权限,如果想要修改的话,需要先添加w权限:

[root@localhost ~]# chmod -v u+w /etc/sudoers
mode of "/etc/sudoers" changed from 0440 (r--r-----) to 0640 (rw-r-----)

然后就可以添加内容了,在下面的一行下追加新增的用户:

[root@localhost ~]# vim /etc/sudoers


## Allow root to run any commands anywher  
root    ALL=(ALL)       ALL  
linuxidc  ALL=(ALL)       ALL  #这个是新增的用户

wq保存退出,这时候要记得将写权限收回:

[root@localhost ~]# chmod -v u-w /etc/sudoers
mode of "/etc/sudoers" changed from 0640 (rw-r-----) to 0440 (r--r-----)

这时候使用新用户登录,使用sudo:

[linuxidc@localhost ~]$ sudo cat /etc/passwd
[sudo] password for linuxidc: 

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

第一次使用会提示你,你已经化身超人,身负责任。而且需要输入密码才可以下一步。如果不想需要输入密码怎么办,将最后一个ALL修改成NOPASSWD: ALL

您可能感兴趣的与本文相关的镜像

Yolo-v8.3

Yolo-v8.3

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

<think>好的,用户现在问的是如何在CentOS 7添加用户。我之前已经回答过关于恢复用户进程的问题,现在需要切换到这个新问题。先看一下用户提供的引用内容,里面有四个引用,其中引用[1]、[2]、[3]、[4]都提到了添加用户和CentOS 7的相关信息。特别是引用[2]专门讲的是添加用户的步骤,所以这个应该是重点参考的。 首先,用户可能需要基本的添加用户命令,比如useradd。引用[2]中提到了使用sudo useradd -m newuser来创建用户,创建家目录。同时,还提到了如何指定全名和自定义家目录。这可能是一些用户需要的进阶操作,比如设置用户详细信息。 然后,用户可能还需要设置密码,这部分在引用[2]中提到使用passwd命令,所以需要包含进去。另外,用户权限管理,比如将用户添加到sudo组,允许执行管理命令,这也是常见需求,引用[1]提到了需要非root的sudo用户,所以应该说明如何授权。 接下来,可能需要考虑其他相关操作,比如修改用户信息、删除用户等。这些虽然不是用户直接问的,但作为补充信息可能会有帮助。比如使用usermod修改用户属性,userdel删除用户,这些在引用中没有提到,但属于常见操作,可以加入。 另外,用户可能对如何验证用户是否创建成功感兴趣,所以需要包括检查用户是否存在、查看用户家目录等命令。例如,通过id命令或者查看/etc/passwd文件。 还需要注意,用户之前的提问中提到过用户进程恢复的问题,所以在当前回答中可以适当关联,比如在添加用户后如何调整进程归属,但可能这里不需要,因为用户现在的问题比较明确是如何添加用户。不过可以简要提到用户管理对进程管理的影响,以保持连贯性。 另外,引用[3]和[4]主要讲的是CentOS 7的安装和环境,可能和当前问题关联不大,但可以提及CentOS 7使用systemd,但用户添加与管理还是传统命令,这部分可能不需要特别展开。 需要确保回答结构清晰,分步骤说明,包括基本命令、设置密码、权限管理、进阶操作、验证步骤等。同时,要使用用户提供的引用内容作为参考,特别是引用[2]中的具体命令,确保信息准确。 可能的问题点是用户是否需要使用useradd还是adduser,因为在某些Linux发行版中,adduser是更友好的交互式工具,但在CentOS中通常使用useradd,而adduser可能是一个符号链接。需要明确指出CentOS中的正确命令。 另外,用户可能对家目录的创建有疑问,比如-m选项的作用,需要解释清楚。同时,设置密码时,密码的复杂性要求,可能需要提醒用户设置强密码。 最后,生成相关问题需要考虑用户可能的后续问题,比如用户权限管理、用户组操作、修改用户属性等,这些都是自然延伸的问题。</think>在 CentOS 7添加用户的详细教程如下,结合系统管理的最佳实践和引用内容: --- ### **一、基础用户创建** #### 1. **使用 `useradd` 创建用户** ```bash # 创建用户自动生成家目录(-m 参数) sudo useradd -m 新用户名 # 示例:创建用户 "devuser" sudo useradd -m devuser ``` - **关键参数说明**: - `-m`:自动创建用户家目录(默认路径 `/home/用户名`)[^2] - `-c "备注信息"`:添加用户描述(如全名)[^2] - `-d /自定义路径`:指定家目录路径(如 `/data/devuser`)[^2] #### 2. **设置用户密码** ```bash # 为用户设置登录密码 sudo passwd 新用户名 # 示例:为 "devuser" 设置密码 sudo passwd devuser ``` - 输入密码时终端不会显示字符,需重复输入确认[^2] --- ### **二、权限管理** #### 1. **授予管理员权限** 将用户添加到 `wheel` 组以允许 `sudo` 操作(参考引用[1]): ```bash sudo usermod -aG wheel 新用户名 ``` - 验证权限:切换至用户后执行 `sudo -l` 查看授权命令[^1] #### 2. **限制用户权限** 若需限制用户仅执行特定命令,编辑 `/etc/sudoers`: ```bash # 使用 visudo 安全编辑 sudo visudo # 添加行(允许用户执行 /usr/bin/systemctl 命令) 新用户名 ALL=(ALL) /usr/bin/systemctl ``` --- ### **三、进阶操作** #### 1. **自定义用户属性** ```bash # 创建用户时指定 UID、GID 和 Shell sudo useradd -m -u 1005 -g users -s /bin/bash devuser ``` - `-u`:自定义用户 UID - `-g`:指定主用户组 - `-s`:设置默认 Shell(如 `/bin/zsh`) #### 2. **修改现有用户** ```bash # 修改用户家目录路径 sudo usermod -d /新路径 用户名 # 修改用户登录名 sudo usermod -l 新用户名 旧用户名 ``` --- ### **四、验证与维护** #### 1. **检查用户信息** ```bash # 查看用户是否存在 id 用户名 # 检查家目录是否生成 ls -l /home/用户名 # 查看用户配置 grep 用户名 /etc/passwd ``` #### 2. **删除用户** ```bash # 删除用户但保留家目录 sudo userdel 用户名 # 删除用户及家目录 sudo userdel -r 用户名 ``` --- ### **五、引用关联场景** - **用户与进程关联**:若用户被删除后需恢复进程所有权,需重新创建同名用户修复文件权限[^1] - **安全性增强**:CentOS 7 默认启用 SELinux,可通过 `restorecon` 重置家目录安全上下文[^3] --- ### **操作示例** ```bash # 创建用户 "webadmin" 设置全名 sudo useradd -m -c "Web Server Administrator" webadmin sudo passwd webadmin # 授权 sudo 权限 sudo usermod -aG wheel webadmin ``` --- ### **相关问题** 1. 如何将用户添加到多个组? 2. CentOS 7 中如何批量创建用户? 3. 用户家目录权限配置的最佳实践是什么? 4. 如何通过配置文件自定义新用户的默认设置? [^1]: 非 root 用户的 sudo 权限是安全管理的基础配置。 [^2]: `useradd` 命令的灵活性支持复杂的用户管理需求。 [^3]: CentOS 7 的 SELinux 和 systemd 特性影响用户权限管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值