linux下添加普通用户并配置sudo 作者: 毕世平 时间: 2022-03-25 分类: 默认分类 前言:`linux`系统支持多用户同时在线使用,因此对于文件(夹)的权限要求比较严格,那么如何在一个全新的系统下从头开始创建一个新的普通用户呢,且听我慢慢道来。 本文主要以`Debian`发行版为例,新建一个普通用户`user`,并安装`sudo`,给普通用户配置`sudo`。 ## 1、新建用户 以`root`用户执行下面命令,新建用户,用户名取为`user`: # 新建一个user用户,创建并指定其家目录为/home/user,指定其shell为/bin/bash useradd -s /bin/bash -d /home/user -m user > `-s`代表指定用户user的shell为`bash`; `-m`表示创建用户时候同时创建家目录,默认`/home/user`; `-d`用来具体指定家目录路径,可以不是`/home/user`。 执行完上面命令以后,linux即替你创建了一个`user`用户,并同时为你创建了一个用户组,组名也为`user`,这些可以通过`id user`来查看。后面修改用户配置一般使用`usermod`命令。 ## 2、安装sudo 以`root`用户执行下面命令安装`sudo`: # 更新源并安装sudo apt update && apt -y install sudo ## 3、给普通用户配置sudo 上面安装好`sudo`以后,可以查看`/etc/sudoers`文件的全文: # 查看/etc/sudoers文本全文 cat /etc/sudoers ------------------------- # # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d 这个文件给出了给普通用户配置`sudo`的规范,有多种方法。 - 直接将用户加到sudo组里 # 将user用户加到sudo组里 usermod -aG sudo user - 修改`/etc/sudoers`文件,将user写进去 # 修改/etc/sudoers文件,它默认使用了nano编辑器 visudo # 追加一行,配置user的权限 %sudo ALL=(ALL:ALL) ALL user ALL=(ALL:ALL) ALL # 添加完成后,保存文件即可 - 不修改`/etc/sudoers`文件,在`/etc/sudoers.d/`目录下新建文件,要求文件名不以`~`结尾,且不包含`.`符号,这也是受推荐的使用方法 # 切换到/etc/sudoers.d/目录,新建文件,取名随意,这里取为file cd /etc/sudoers.d/ && vim file # 添加下面一行,给user用户配置sudo user ALL=(ALL:ALL) ALL # 如果你想第一次使用sudo提权时也不用输密码,那么可这样配置 user ALL=(ALL:ALL) NOPASSWD: ALL #修改完成后,保存文件,并设置文件权限为0440 chmod 0440 file ## 4、常见命令 # 在没有安装sudo前,普通用户切换到root需要执行下面命令 su - root > 下面需要输入root密码 ------------------ # 在安装sudo,并正确配置普通用户的sudo以后,从普通用户切换到root或者临时提权需要执行下面命令 sudo -i > 下面只需要输入普通用户自己的密码,而不是root密码,如果设置了NOPASSWD则密码也不用输入 ------------------- # 从root用户切换为普通用户,user为用户名 su - user # root用户修改密码,root用户执行下面命令 passwd //修改root密码 passwd user //修改user密码 # 普通用户修改自己密码,普通用户执行下面命令 passwd //需要知道旧密码 标签: none