一、创建用户
命令 |
注释说明 |
useradd |
用adduser命令,执行此命令可在系统中添加用户 |
userdel |
执行此命令可以删除用户及相关用户的配置或文件 |
passwd |
执行此命令可以为用户设置密码 |
chage |
修改用户密码有效期 |
usermod |
修改用户的命令,可以通过usermod来修改登录名、用户的家目录等等 |
id |
查看用户的UID、GID及所归属的用户组 |
su |
用户切换工具 |
sudo |
Sudo通过另一个用户来执行命令(execute a command as another user),su是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo能在命令后面直接接命令执行,比如sudo ls /root,不需要root密码就可以执行只有root才能执行相应的命令或具备的目录权限,这个权限需要通过visudo命令或者直接编辑/etc/sudoers来实现 |
1、useradd命令使用
useradd -u 2001 -s /sbin/nologin -M -c dddd -e 2025/9/01 pp
-u 指定uid -s 添加shell -M 不创建家目录 -c 添加说明 -e 用户过期时间
默认用户配置文件useradd
创建用户调用这个文件
/etc/default/useradd
[root@localhost.localdomain ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home #把用户的家目录创建在/home中
INACTIVE=-1 #是否启用账号过期停权,-1表示不启用
EXPIRE= #账号终止日期,不设置表示不启用
SHELL=/bin/bash #新用户默认所用的shell类型
SKEL=/etc/skel #配置新用户家目录的默认文件存放路径
CREATE_MAIL_SPOOL=yes
如果不指定参数,就默认使用useradd里面的参数
chage -l tom 查看用户tom的有效期
二、用户组
groupadd命令的使用
groupadd kkk 添加组
groupadd -g 444 tom 指定GID
只记这个就可以了
三、修改用户密码
passwd命令的使用
passwd tom 更改用户tom密码
echo 111 |passwd --stdin tom 非交互式给tom添加密码 写脚本时经常用到
要求tom用户7天内不能更改密码,60天以后必须修改密码,过期前10天通知tom用户,过期后30天后禁止用户登陆
[root@dingjian ~]# passwd -n 7 -x 60 -w 10 -i 30 tom Adjusting aging data for user tom. passwd: Success [root@localhost.localdomain /etc/skel]# chage -l tom Last password change : Sep 22, 2020 Password expires : Nov 21, 2020 Password inactive : Dec 21, 2020 Account expires : never Minimum number of days between password change : 7 Maximum number of days between password change : 60 Number of days of warning before password expires : 10
chage命令使用
chage –E 2020/10/30 tom 修改tom的过期时间
或者
[root@dingjian ~]# usermod -e 01/28/2020 tom
userdel命令的使用
userdel -r ddd 删除ddd用户 –r连家目录和邮件一起删掉
在工作中,在/etc/passwd里面把用户密码加注释,
在删用户时要考虑到用户的家目录中有没有重要数据,不要轻易删除
groupdel 444 删除组
无论使用useradd或者usermod等命令创建或者删除用户,都更改以下四个文件
/etc/group
/etc/gshadow
/etc/passwd
/etc/shadow
usermod -e 01/28/2020 tom
-e 账号停止日期 -g 更新用户新的起始登入用户组 -G 定义group -s shell -u uid
usermod命令的使用
用户信息修改相关命令useradd
与usermod命令相关的文件有:
/etc/passwd 用户账号资料文件
/etc/shadow 用户账号资讯加密文件
/etc/group 用户组资讯文件
参数选项 |
注释说明带※号的内容是最需要掌握的 |
-e expire_date |
※加上用户账号停止日期,日期格式为MM/DD/YY |
-f inactive_days |
账号过期几日后永久停权。当值为0时账号则立刻被停权。而当值为-1时则关闭此功能。预设值为-1 |
-g initial_group |
※更新用户新的起始登入用户组。用户组名须己存在。用户组ID必须参照既有的用户组,用户组ID预设值为1 |
-G group[…] |
※定义用户为一堆groups的成员。每个用户组使用”,”逗号分隔开来,用户组名同-g选项的限制 |
-l login_name |
变更用户login时的名称为login_name 。其余信息不变 |
-s shell |
※指定新登入shell,如此栏留白,系统将选用系统预设shell,这个-s参数功能也可以使用chsh命令来修改,也可以手功修改/etc/passwd |
-u uid |
※指定用户UID值,除非接-o能数,如usermod –u 505 –o tom ,否则ID值必须是唯一的数字(不能为负数) |
[root@dingjian ~]# usermod -c tom -u 1806 -G root,sa -s /bin/tcsh -d /tmp/oldboy6 oldboy6
-c 更改说明 -u UID –G 修改组 –s 更改shell -d 修改家目录
id tom 显示用户tom的信息
W 显示己经登陆的用户,并且都做了什么的信息
[root@localhost.localdomain ~]# w 17:51:50 up 2 days, 20:29, 3 users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 Mon21 2days 0.15s 0.15s -bash root pts/0 192.168.200.2 13:49 1:32m 1.94s 1.94s -bash root pts/1 192.168.200.2 17:36 6.00s 0.05s 0.00s w
[root@dingjian ~]# who 显示哪些用户在登陆,终端及登陆时间,来源于主机。
[root@dingjian ~]# last 显示己登陆用户列表及登陆时间等
查看的信息和/var/log/wtmp 及/var/log/btmp两个文件有关
[root@dingjian ~]# lastlog 报告最近的所有系统用户的登陆信息,安全检查或者被攻击检查 查看的信息和/var/log/lastlog日志有关
[root@dingjian ~]# users 显示当哪些用户在登陆
[root@dingjian ~]# uptime
07:58:01 up 6 days, 8:34, 1 user, load average: 0.03, 0.04, 0.01
groups tom 查看所属组
显示第一个为主组,后面的是附加组
四、用户之间的切换
su 命令就是切换用户身份的命令,
通过su命令可以在用户之间切换,超级权限用户root向普通或虚拟用户切换不需要密码验证(这就是超级权限所在),其它普通用户之间或者普通用户切换到root,都需要切换用户的密码验证
env查看环境变量
su命令总结
1.普通用户切换到root用户,可使用su –或su – root 。必须输入root的密码才能完成切换
2.root用户切换到普通用户,可使用”su – 普通用户名”的写法,不需要输入任何密码就能完成切换,切换到普通用户后,使用普通用户的PATH变量,
3.如果仅希望以某用户的角色执行命令,而不直接切换到该用户下操作,可以使用su – 用户名 –c “命令”