linux 用户管理 、 组账号管理 、 计划任务
1 案例1:添加用户账号
1.1 问题
创建一个名为tedu01的用户账号
检查/etc/passwd、/etc/shadow文件的最后一行
检查/home/新增加的宿主目录(家目录)
新建用户tedu02,宿主目录位于/opt/tedu02
新建系统账号system01,将UID设为1234,登录Shell设为/sbin/nologin
新建用户admin,附加组设为adm、root
1.2 方案
在Linux同添加一个用户账户的命令为useradd,常用的选项较多。可以利用man命令查看其帮助信息。
本题涉及的选项:
-u:设置 UID 标记号
-d:指定宿主目录,缺省为 /home/用户名
-G:指定所属的附加组
-s:指定用户的登录解释器
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:添加一个tedu01的用户账号
命令操作如下所示:
[root@localhost ~]# useradd tedu01
步骤二:/etc/passwd、/etc/shadow文件的最后一行
[root@localhost ~]# grep tedu01 /etc/passwd /etc/shadow //查看是否创建成功
步骤三:检查/home/新增加的宿主目录(家目录)
[root@localhost ~]# ls /home //查看家目录是否创建成功[root@localhost ~]#
步骤四:新建用户tedu02,宿主目录位于/opt/tedu02
[root@localhost ~]# useradd -d /opt/tedu02 tedu02 [root@localhost ~]# id tedu02 [root@localhost ~]# grep tedu02 /etc/passwd [root@localhost ~]# ls /opt
步骤五:新建系统账号system01,将UID设为1234,登录Shell设为/sbin/nologin
[root@localhost ~]# useradd -u 1234 -s /sbin/nologin system01 [root@localhost ~]# id system01 [root@localhost ~]# grep system01 /etc/passwd [root@localhost ~]#
步骤四:新建用户admin,附加组设为adm、root
[root@localhost ~]# useradd -G adm,root admin [root@localhost ~]# id admin
2 案例2:设置用户密码
2.1 问题
为用户tedu01设置一个密码:123456
过滤/etc/shadow文件中包含tedu01的内容
为用户system01设置密码,并测试是否能够登录
非交互式给用户tedu02设置密码123456
交互式给用户admin,设置密码为redhat
2.2 方案
为账户设置密码的命令为passwd,管理员root可以修改任何用户的口令,所有用户(包括普通用户)都可以修改自己的口令。
常用命令选项:
--stdin:从标准输入(比如管道)取密码
查看结果可以利用grep命令,从/etc/shadow筛选。
2.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:为用户tedu01设置一个密码:123456
命令操作如下所示:
[root@localhost ~]# echo 123456 | passwd --stdin tedu01
步骤二:过滤/etc/shadow文件中包含tedu01的内容
[root@localhost ~]# grep tedu01 /etc/shadow
步骤三:为用户system01设置密码,并测试是否能够登录
由于登录的解释器为/sbin/nologin,所以是无法登录系统
[root@localhost ~]# echo 123456 | passwd –stdin system01
步骤四:新建用户tedu02,宿主目录位于/opt/tedu02
[root@localhost ~]# useradd -d /opt/tedu02 tedu02 [root@localhost ~]# id tedu02 [root@localhost ~]# grep tedu02 /etc/passwd [root@localhost ~]# ls /opt
步骤五:非交互式给用户tedu02设置密码123456
[root@localhost ~]# echo 123456 | passwd –stdin tedu02
步骤六:交互式给用户admin,设置密码为redhat
[root@localhost ~]# passwd admin更改用户 admin 的密码 。新的 密码:无效的密码: 密码少于 8 个字符重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。 [root@localhost ~]#
3 案例3:配置用户和组账号
3.1 问题
本例要求创建下列用户、组以及组的成员关系:
新建用户 alex,其用户ID为3456,密码是flectrag
创建一个名为 adminuser 的组
创建一个名为 natasha 的用户,其属于 adminuser 组,这个组是该用户的从属组
创建一个名为 harry 的用户,其属于 adminuser 组,这个组是该用户的从属组
创建一个名为 sarah 的用户,其在系统中没有可交互的 Shell,并且不是 adminuser 组的成员
natasha 、harry、sarah 的密码都要设置为 flectrag
3.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:创建组账号
[root@server0 ~]# groupadd adminuser
步骤二:按照要求的属性创建用户账号
[root@server0 ~]# useradd -u 3456 alex [root@server0 ~]# useradd -G adminuser natasha [root@server0 ~]# useradd -G adminuser harry [root@server0 ~]# useradd -s /sbin/nologin sarah
步骤三:为用户设置登录密码
[root@server0 ~]# echo flectrag | passwd --stdin alex更改用户 alex 的密码 。passwd:所有的身份验证令牌已经成功更新。 [root@server0 ~]# echo flectrag | passwd --stdin natasha更改用户 natasha 的密码 。passwd:所有的身份验证令牌已经成功更新。 [root@server0 ~]# echo flectrag | passwd --stdin harry更改用户 harry 的密码 。passwd:所有的身份验证令牌已经成功更新。 [root@server0 ~]# echo flectrag | passwd --stdin sarah更改用户 sarah 的密码 。passwd:所有的身份验证令牌已经成功更新。
一、 计划任务
用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务
软件包:cronie、crontabs
系统服务:crond
日志文件:/var/log/cron
u 使用 crontab 命令
– 编辑:crontab -e [-u 用户名]
– 查看:crontab -l [-u 用户名]
– 清除:crontab -r [-u 用户名]
u 计划任务书写格式
分 时 日 月 周 任务命令行(绝对路径)
* * * * *
30 8 * * * #每天早上8:30 执行一次
30 23 * * * #每天晚上23:30 执行一次
30 23 * * 5 #每周的周五23:30 执行一次
30 23 * * 1-5 #每周的周一至周五23:30 执行一次
30 23 * * 1,3,6 #每周的周一周三周六23:30 执行一次
30 23 1 * 1 #每月的1号或每周一晚上23:30 执行一次
* * * * * #每分钟运行一次
*/5 * * * * #每隔5分钟运行一次
1 */2 * * * #每隔2小时运行一次
*:匹配范围内任意时间
,:分隔多个不连续的时间点
-:指定连续时间范围
/n:指定时间频率,每n ...
案例:
每分钟记录当前的系统时间,写入/opt/time.txt
[root@localhost ~]# date [root@localhost ~]# date >> /opt/time.txt [root@localhost ~]# cat /opt/time.txt [root@localhost ~]# crontab -e #编写计划任务
* * * * * date >> /opt/time.txt
[root@localhost ~]# crontab -l #查看计划任务内容
* * * * * date >> /opt/time.txt
[root@localhost ~]# cat /opt/time.txt
4 案例4:配置一个cron任务
4.1 问题
本例要求为用户 natasha 配置一个定时任务,具体要求如下:
每天在本地时间 14:23 执行
需要完成的任务操作为 /bin/echo hiya
4.2 方案
配置格式可参考 /etc/crontab 文件:
分 时 日 月 周 任务命令行(绝对路径)
在表示各段的时间点时,除了明确的数值以外,还可以参考以下形式:
*:匹配范围内任意时间
,:分隔多个不连续的时间点
-:指定连续时间范围
/n:指定时间频率,每n ...
4.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:配置crontab任务记录
1)确保系统服务crond可用
[root@server0 ~]# systemctl restart crond [root@server0 ~]# systemctl enable crond
2)为用户natasha添加计划任务
[root@server0 ~]# crontab -e -u natasha23 14 * * * /bin/echo hiya
步骤二:检查任务是否执行
1)将系统日期时间临时调整到任务时间点前10秒左右
[root@server0 ~]# date -s '14:22:50' //设置Sat Nov 26 14:22:50 CST 2016 [root@server0 ~]# date //确认日期时间Sat Nov 26 14:22:55 CST 2016
2)等待10秒后查看/var/log/cron日志,应该会有执行记录
[root@server0 ~]# tail /var/log/cron.. ..Nov 26 14:23:02 localhost CROND[3818]: (natasha) CMD (/bin/echo hiya)
over