一、用户管理
用户管理命令汇总
useradd 增 同adduser命令,执行此命令可在系统中添加命令(更改四个文件/etc/passwd、 /etc/shadow、/etc/gshadow、)
userdel 删 执行此命令可删除用户及相关用户的配置或文件,-r参数同时删除家目录
passwd 执行此命令可为用户设置密码,更改/etc/shadow
chage 修改用户密码有效期限,管理/etc/shadow
usermod 改修改用户的命令,可以通过usermod来修改登录名、用户的家目录等等。
chpasswd 批量为用户更新密码例如user.txt格式user:uesrpasswd
id 查查看用户的UID、GID及所归属的用户组
su 用户角色切换工具必须用su -
sudo 提权 sudo是通过另一个用户来执行命令,su是用来切换用户,然后通过切换的用户来完成相应的任务,但sudo后面能够直接接命令,比如sudo ls /root
用户组命令汇总
groupadd 添加用户组
参数:
-g 指定组id
groupmod 修改用户组信息
参数:
-g, --gid 修改组id
-n, --new-name 修改组名
groups 查看用户属于的组
什么是用户
用户是操作者在系统中的身份,是系统最底层的安全机制的一部分,用户在系统中以字符和文件的形式存在
用户存储文件
-
/etc/passwd 用户信息文件
-
/etc/group 用户组信息文件
-
/etc/shadow 用户认证信息文件
-
/home/username 用户名信息文件
-
/etc/skel/ 放新用户配置文件或者环境变量的目录
管理用户组
-
groupadd 建立用户组
-g 指定组id
-
groupmod 修改用户组
-g 修改组id
- groupdel 删除用户组
管理用户
-
useradd 添加用户命令,常用参数:
-c(comment) 新账号passwd文件的说明栏注释。 -d(home_dir) 设置登录的家目录,家目录必须是已经存在 -m 用户目录如果不存在则自动创建 -e (expire_date) 账号的终日期,日期格式为/YY/MM/DD/ -g (initial_group) 指定属于的属组(只属于一个组) -G (group,[….]) 创建用户指定多个组,每个用户组用“,”逗号分隔。 -M 不创建家目录,优先于/etc/login.defs文件CREATE_HOME yes的设定,一般创建虚拟用户时不创建家目录,部署服务时需要创建虚拟用户。 -s(shell) 指定shell ,-s /sbin/nologin设置用户不能登录 -u(uid) 用户的id值,指定uid
-
passwd 与用户密码相关的命令,常用参数
-n 最短修改密码的天数,在设置的时间内不能修改密码 -x 必须修改密码的天数 -w 设置密码过期前多长时间提醒 -i 设置密码过期多少天之后禁止用户登录,账户过期的时间
-
change 修改用户密码,常用参数
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。 -M:密码保持有效的最大天数。 -w:用户密码到期前,提前收到警告信息的天数。 -E:帐号到期的日期。过了这天,此帐号将不可用。日期写法:YY/DD/MM -d:上一次更改的日期。 -i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。 -l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
-
userdel 删除用户命令,参数:
-r 用户目录下的档案一并删除,在其他位置上的相关文件也将一一找出并删除
-
usermod 修改用户属性
-l 修改用户名称 -u 修改用户的 uid -g 修改用户的 gid -aG 指定用户的附加组 -c 修改用户的说明 -md 修改用户的家目录 , 默认为 /home/username -s 修改用户的 shell 类型
二、用户权限下放
sudo 能把某些超级权限针对性的下放 , 并且不需要普通用户知道 root 密码 , 所以 sudo 相对于权限无限制性的 su 来说 , 还是比较安全的
sudo 执行命令的流程是当前用户切换到 root, 然后以 root 身份执行命令 , 执行完成后 , 直接退回到当前用户 ; 而这些的前提是要通过 sudo 的配置文件 /etc/sudoers 来进行授权
用户权限下放步骤
-
进入用户用户权限下放的配置文件:
- vim /etc/sudoers 无语法检测
- visudo 但有语法检测
-
在文件中编辑内容
这里使用vim命令进入配置文件编辑
上图中给kuangshen用户下放了添加用户的权限,可以测试一下是否下放成功
切换到kuangshen用户执行sudo useradd user1
,如果下放成功,则能运行成功
再试一下删除用户权限userdel -r user1
,会发现没有删除用户权限,因此,要删除user1,需要重新切回root用户下删除,注意删除时要加上-r,否则删除会有残留文件