管理用户和组
用户管理
用户: 1.可以登录操作系统 2.不同用户具备不同的权限
用户唯一标识: UID
管理员的UID永远为0,一般普通用户的UID值从1000开始
组: 方便管理用户
组唯一标识:GID
组的分类:基本组(私有组) 附加组(从属组)
linux规定一个用户至少属于一个组
添加用户
用户基本信息放在/etc/passwd文件
[root@feifan ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:密码占位符:UID:基本组的GID:用户描述信息:用户家目录:解释器
• 使用 useradd 命令
– useradd [选项]… 用户名
• 常用命令选项
– -u 用户id、-d 家目录路径、-G 附加组、-s 登录解释器
[root@feifan ~]# useradd a1 #创建用户
[root@feifan ~]# id a1 #查看用户基本信息
[root@feifan ~]# useradd -u 1500 a2 #指定UID创建用户
[root@feifan ~]# id a2
[root@feifan ~]# useradd -d /opt/abc a3 #指定家目录路径
[root@feifan ~]# ls /opt/
aa google node_bash.xml NSD-2019-2-20 Python-3.6.7 rpm
abc kingsoft node_tedu.xml pysoft rh
[root@feifan ~]# grep a3 /etc/passwd
a3:x:1501:1501::/opt/abc:/bin/bash
用户名:密码占位符:UID:基本组的GID:用户描述信息:用户家目录:解释器
[root@feifan ~]# groupadd xixi #创建xixi组
[root@feifan ~]# useradd -G xixi a4 #指定附加组(从属组)
[root@feifan ~]# id a4
uid=1502(a4) gid=1503(a4) 组=1503(a4),1502(xixi)
-s 登录解释器
/sbin/nologin:禁止用户登录操作系统
[root@feifan ~]# useradd -s /sbin/nologin a5
[root@feifan ~]# grep a5 /etc/passwd
修改用户属性
• 使用 usermod 命令
– usermod [选项]… 用户名
• 常用命令选项
– -u 用户id、-d 家目录路径、-s 登录解释器
– -G 附加组 #重置附加组
[root@feifan ~]# useradd a6
[root@feifan ~]# grep a6 /etc/passwd
[root@feifan ~]# usermod -u 1600 -d /mnt/aaa -s /sbin/nologin -G xixi a6
[root@feifan ~]# id a6
删除用户
• 使用 userdel 命令
– userdel [-r] 用户名
[-r] :连同家目录一并删除
[root@feifan ~]# userdel -r a6
[root@feifan ~]# ls /home/
管理组账号
添加组
组基本信息存放在 /etc/group 文件
[root@feifan ~]# grep xixi /etc/group
xixi:x:1502:
组名:组密码占位符:组的GID:组的成员列表
• 使用 groupadd 命令
– groupadd [-g 组ID] 组名
[root@feifan ~]# groupadd haha
[root@feifan ~]# grep haha /etc/group
haha:x:1503:
组名:组密码占位符:组的GID:组的成员列表
[root@feifan ~]# useradd jack
[root@feifan ~]# useradd kaka
[root@feifan ~]# useradd haxi
[root@feifan ~]# id jack
[root@feifan ~]# id kaka
[root@feifan ~]# id haxi
管理组成员
• 使用 gpasswd 命令
– gpasswd -a 用户名 组名
– gpasswd -d 用户名 组名
[root@feifan ~]# gpasswd -a jack haha #用户jack加入haha组
[root@feifan ~]# grep haha /etc/group
[root@feifan ~]# gpasswd -a haxi haha #用户haxi加入haha组
[root@feifan ~]# grep haha /etc/group
[root@feifan ~]# gpasswd -d jack haha #用户jack从haha组中删除
[root@feifan ~]# grep haha /etc/group
[root@feifan ~]# gpasswd -a kaka haha
[root@feifan ~]# grep haha /etc/group
删除组
• 使用 groupdel 命令
– groupdel 组名
[root@feifan ~]# groupdel tedu
[root@feifan ~]# grep tedu /etc/group
设置登录密码
• 使用 passwd 命令
– passwd [用户名]
[root@feifan /]# passwd a2
更改用户a2 的密码 。
新的 密码: #输入新的密码
无效的密码: 密码少于 8 个字符
重新输入新的 密码: #重新输入新的密码
passwd:所有的身份验证令牌已经成功更新。
[root@feifan /]# su - a2 #临时切换用户身份
[a2@feifan ~]$ passwd
更改用户 nsd02 的密码 。
为 a2 更改 STRESS 密码。
(当前)UNIX 密码: #输入旧的密码
新的 密码: #输入新的密码
重新输入新的 密码: #重新输入新的密码
passwd:所有的身份验证令牌已经成功更新。
[a2@feifan ~]$ exit #回到root身份
非交互式设置密码
echo ‘密码’ | passwd --stdin 用户名
[root@feifan ~]# echo 123 | passwd --stdin a2
[root@feifan ~]# echo redhat | passwd --stdin a2
[root@feifan ~]# echo haxi | passwd --stdin a2
[root@feifan ~]# echo 456 | passwd --stdin a2
管道操作 ( | ) : 将前面命令的输出,交由后面命令处理,作为后面命令的参数
显示/etc/passwd的8~12行内容?
[root@feifan /]# head -12 /etc/passwd
[root@feifan /]# head -12 /etc/passwd | tail -5
[root@feifan /]# head -12 /etc/passwd | tail -5 | cat -n
[root@feifan /]# cat -n /etc/passwd | head -12 | tail -5
[root@feifan /]# ifconfig | less
[root@feifan /]# ifconfig | head -2
tar备份与恢复
1.整合分散数据 2.减小空间的占用
常见的压缩格式及命令工具:
.gz --> gzip压缩格式
.bz2 --> bzip2压缩格式
.xz --> xz压缩格式
• tar 集成备份工具
– -c:创建归档
– -x:释放归档
– -f:指定归档文件名称
– -z、-j、-J:调用 .gz、.bz2、.xz格式的工具进行处理
– -t:显示归档中的文件清单
– -C:指定释放路径
打包格式:
tar 选项 /路径/压缩包的名字 被压缩的源数据
解包格式:
tar 选项 /路径/压缩包的名字 选项 释放的路径
[root@feifan ~]# rm -rf /opt/*
[root@feifan ~]# tar -zcf /opt/file.tar.gz /home /etc/passwd
[root@feifan ~]# ls /opt/
[root@feifan ~]# tar -jcf /opt/test.tar.bz2 /home/ /etc/passwd
[root@feifan ~]# ls /opt/
[root@feifan ~]# tar -Jcf /opt/abc.tar.xz /home/ /etc/passwd
[root@feifan ~]# ls /opt/
[root@feifan ~]# tar -zcf /opt/bh.tar.gz /boot /home
[root@feifan ~]# ls /opt/
[root@feifan ~]# tar -xf /opt/file.tar.gz -C /mnt/
[root@feifan ~]# ls /mnt/
[root@feifan ~]# ls /mnt/etc/
[root@feifan ~]# ls /mnt/home/
[root@feifan ~]# mkdir /aaa
[root@feifan ~]# tar -xf /opt/abc.tar.xz -C /aaa
[root@feifan ~]# ls /aaa
查看tar包内容
[root@feifan ~]# tar -tf /opt/test.tar.bz2
[root@feifan ~]# tar -tf /opt/test.tar.bz2 | less
查看日期时间命令: date
[root@feifan ~]# date
2019年 06月 04日 星期二 15:49:20 CST
[root@feifan ~]# date -s '年-月-日 时:分:秒'
[root@feifan ~]# date -s '2008-10-1 12:10:03'
[root@feifan ~]# date
[root@feifan ~]# date -s '2019-6-4 15:55:03'
[root@feifan ~]# date
cron任务概述
• 用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务
• 日志文件:/var/log/crond
• 使用 crontab 命令
– 编辑:crontab -e [-u 用户名]
– 查看:crontab -l [-u 用户名]
– 清除:crontab -r [-u 用户名]
如何编写crontab任务记录
分 时 日 月 周 任务命令行(绝对路径)
* * * * *
30 8 * * * #每天早上8:30执行
30 23 * * * #每天晚上11:30执行
30 23 * * 5 #每周的周五晚上11:30执行
30 23 1 * 5 #每周的周五或每月1号晚上11:30执行
30 23 * * 1-5 #每周的周一至周五晚上11:30执行
30 23 * * 1,3,7 #每周的周一 周三 周日晚上11:30执行
0 */2 * * * #每隔两个小时
*:匹配范围内任意时间
,:分隔多个不连续的时间点
-:指定连续时间范围
/n:指定时间频率,每n …
每分钟记录当前的系统时间,写入到/opt/time.txt
[root@feifan ~]# date
[root@feifan ~]# date >> /opt/time.txt
[root@feifan ~]# cat /opt/time.txt
[root@feifan ~]# crontab -e -u root #书写计划任务
*/1 * * * * date >> /opt/time.txt
[root@feifan ~]# crontab -l -u root #查看root计划任务
*/1 * * * * date >> /opt/time.txt
[root@feifan ~]# cat /opt/time.txt