linux(用户管理、组账号管理、计划任务)

    科技2022-07-11  129

    每天一遍,构建yum仓库:

    ~]# mkdir /nsd20 ~]# ls /nsd20 ~]# mount /dev/cdrom /nsd20 mount: /dev/sr0 写保护,将以只读方式挂载 ~]# ls /nsd20 ~]# rm -rf /etc/yum.repos.d/* vim /etc/yum.repos.d/dvd.repo [dvd] name=dvd baseurl=file:///dvd enabled=1 gpgcheck=0 ]#yum repolist #查看yum源 ]#yum -y install xorg-x11-apps #安装大眼睛软件包 ]#xeyes

    用户管理简介:

    用户账户:

    作用:1.可以登录操作系统 2.不同的用户具备不同的权限 唯一标识:UID(编号从0开始的编号,默认最大60000) 管理员root的UID:永远是0 普通用户的UID:默认从1000开始

    组账户:

    作用:方便管理用户 唯一标识:GID(编号从0开始的编号,默认最大60000) 原则: linux一个用户必须至少属于一个组 组账户的分类: 基本组:系统创建以用户同名 附加组:(从属组):由管理员创建,由管理员进行加入

    本地账户的数据文件

    -/etc/passwd、 /etc/shadow -/etc/group/etc/gshadow

    /etc/passwd: 存放用户基本信息配置文件:

    [root@localhost ~]# head -1 /etc/passwd root:x:0:0:root:/root:/bin/bash 用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器

    用户账号创建

    命令useradd –格式:useradd [选项]... 用户名 •常用命令选项 –-u:指定 UID 标记号 –-d:指定宿主目录(家目录),缺省为 /home/用户名 –-G:指定所属的附加组 –-s:指定用户的登录解释器 -u:指定 UID 编号: ~]# useradd nsd01 ~]# ls /home/ #查看家目录的产生 lisi nsd01 zhangsan ~]# grep nsd01 /etc/passwd #查看nsd01信息 nsd01:x:1002:1002::/home/nsd01:/bin/bash ~]# id nsd01 #查看nsd01用户基本信息 uid=1002(nsd01) gid=1002(nsd01)=1002(nsd01) ~]# id gaga id: gaga: no such user #无此用户 ~]# useradd -u 1500 nsd02 #指定UID创建用户 ~]# id nsd02 #查看nsd02用户基本信息 uid=1500(nsd02) gid=1500(nsd02)=1500(nsd02) ~]# grep nsd /etc/passwd #查看用户信息 nsd01:x:1002:1002::/home/nsd01:/bin/bash nsd02:x:1500:1500::/home/nsd02:/bin/bash ~]# useradd nsd03 ~]# grep nsd /etc/passwd ~]# id nsd03 -d:指定宿主目录(家目录),缺省为 /home/用户名 [root@localhost ~]# useradd -d /opt/nsd04 nsd04 [root@localhost ~]# grep nsd04 /etc/passwd nsd04:x:1502:1502::/opt/nsd04:/bin/bash [root@localhost ~]# ls /opt/ nsd04 rh [root@localhost ~]# useradd -d /opt/haha05 nsd05 [root@localhost ~]# grep nsd05 /etc/passwd nsd05:x:1503:1503::/opt/nsd05:/bin/bash [root@localhost ~]# ls /opt/ nsd04 nsd05 rh -G:指定所属的附加组 [root@localhost ~]# groupadd stugrp #单独创建stugrp组 [root@localhost ~]# useradd -G stugrp nsd06 [root@localhost ~]# id nsd06 uid=1504(nsd06) gid=1505(nsd06)=1505(nsd06),1504(stugrp) [root@localhost ~]# useradd -G stugrp nsd07 [root@localhost ~]# id nsd07 uid=1505(nsd07) gid=1506(nsd07)=1506(nsd07),1504(stugrp) -s:指定用户的登录解释器 shell:壳,解释器 用户---->解释器---->内核---->硬件 /sbin/nologin:禁止用户登录操作系统 [root@localhost ~]# useradd -s /sbin/nologin nsd10 [root@localhost ~]# grep nsd07 /etc/passwd nsd07:x:1505:1506::/home/nsd07:/bin/bash [root@localhost ~]# useradd -s /sbin/nologin nsd11 [root@localhost ~]# grep nsd11 /etc/passwd nsd11:x:1507:1508::/home/nsd11:/sbin/nologin usermod命令 –格式:usermod [选项]... 用户名 •常用命令选项 –-l:更改用户帐号的登录名称 –-u:用户id –-d:家目录路径 –-s:登录解释器 –-G:附加组 //重置附加组 -l:更改用户帐号的登录名称 -u:用户id -s:登录解释器 ]# useradd nsd13 ]# id nsd13 uid=1508(nsd13) gid=1509(nsd13)=1509(nsd13) ]# grep nsd13 /etc/passwd nsd13:x:1508:1509::/home/nsd13:/bin/bash ]# usermod -l stu13 nsd13 #修改用户名字 ]# id stu13 uid=1508(stu13) gid=1509(nsd13)=1509(nsd13) ]# usermod -u 1600 stu13 #修改用户的UID ]# id stu13 uid=1600(stu13) gid=1509(nsd13)=1509(nsd13) ]# usermod -s /sbin/nologin stu13 #修改用户的解释器程序 ]# grep stu13 /etc/passwd stu13:x:1600:1509::/home/nsd13:/sbin/nologin -d:家目录路径(不会自动创建家目录) [root@localhost ~]# useradd nsd15 [root@localhost ~]# grep nsd15 /etc/passwd nsd15:x:1601:1601::/home/nsd15:/bin/bash [root@localhost ~]# ls /home/ [root@localhost ~]# usermod -d /etc/abc nsd15 [root@localhost ~]# grep nsd15 /etc/passwd nsd15:x:1601:1601::/etc/abc:/bin/bash [root@localhost ~]# ls /etc/abc ls: 无法访问/etc/abc: 没有那个文件或目录 -G:修改用户的附加组 #重置附加组 [root@localhost ~]# useradd nsd16 [root@localhost ~]# id nsd16 uid=1602(nsd16) gid=1602(nsd16)=1602(nsd16) [root@localhost ~]# usermod -G stugrp nsd16 [root@localhost ~]# id nsd16 uid=1602(nsd16) gid=1602(nsd16)=1602(nsd16),1504(stugrp) [root@localhost ~]# groupadd tmooc [root@localhost ~]# usermod -G tmooc nsd16 [root@localhost ~]# id nsd16 uid=1602(nsd16) gid=1602(nsd16)=1602(nsd16),1603(tmooc)

    设置密码:

    passwd命令 –格式:passwd [选项]... 用户名 [root@localhost ~]# passwd nsd01 #交互式设置 更改用户 nsd01 的密码 。 新的 密码: #输入新密码 无效的密码: 密码少于 8 个字符 重新输入新的 密码: #重新输入新密码 passwd:所有的身份验证令牌已经成功更新。 [root@localhost ~]# su - nsd01 #临时切换用户身份 [nsd01@localhost ~]$ passwd 更改用户 nsd01 的密码 。 为 nsd01 更改 STRESS 密码。 (当前)UNIX 密码: #输入旧密码 新的 密码: #输入新密码 重新输入新的 密码: #重新输入新密码 passwd:所有的身份验证令牌已经成功更新。 [nsd01@localhost ~]$ exit #退出。回到root用户身份

    passwd命令,支持非交互式设置密码

    --stdin:从标准输入(比如管道)取密码 [root@localhost ~]# echo 123 | passwd --stdin nsd01 [root@localhost ~]# echo 123456 | passwd --stdin nsd01 [root@localhost ~]# echo redhat | passwd --stdin nsd01

    /etc/shadow,保存密码字串/有效期等信息

    –每个用户记录一行,以:分割为9个字段 [root@localhost ~]# grep nsd01 /etc/shadow nsd01:$6$NVe937Nd$B0n94XrpQ.LipQHTpYh0iV/M4jCLdccfHxzRLprdxDzwk8WDDh/TzdTfh8lA9y9WKJ.8Ls/l5.w/1W.nV6CFX/:18481:0:99999:7::: 上一次修改密码的时间:自1970-1-1到达上一次修改密码的时间,所经历的天数 字段1:用户帐号的名称 字段2:加密后的密码字符串 字段3:上次修改密码的时间 字段4:密码的最短有效天数,默认0 字段5:密码的最长有效天数,默认99999 字段6:密码过期前的警告天数,默认7 字段7:密码过期后多少天禁用此用户账号 字段8:帐号失效时间,默认值为空 字段9:保留字段(未使用)

    删除用户

    userdel命令 格式:userdel [-r] 用户名 添加 -r 选项,宿主目录/用户邮件也一并删除 [root@localhost ~]# userdel -r nsd01 #连同家目录一并删除 [root@localhost ~]# userdel nsd02 #不删除家目录,只删除用户信息 组账户管理 /etc/group,保存组帐号的基本信息 每个组记录一行,以:分割为4个字段 [root@localhost ~]# grep stugrp /etc/group stugrp:x:1504:nsd06 组名:组密码占位符:组的GID:组成员列表 [root@localhost ~]# groupadd tarena #新建一个组 [root@localhost ~]# grep tarena /etc/group #查看组信息 tarena:x:1607: [root@localhost ~]# useradd kaka [root@localhost ~]# useradd nb [root@localhost ~]# useradd jack [root@localhost ~]# useradd kenji gpasswd命令 –格式:gpasswd [选项]... 组名 •常用命令选项 –-a:添加组成员,每次只能加一个 –-d: 删除组成员,每次只能删一个 –-M:定义组成员用户列表,可设置多个 –-A:定义组管理员列表 ]# gpasswd -a kaka tarena #添加用户kaka到tarena组 ]# grep tarena /etc/group #查看组信息 ]# id kaka ]# gpasswd -a nb tarena #添加用户nb到tarena组 ]# grep tarena /etc/group ]# gpasswd -M ‘jack,kenji’ tarena #定义组成员列表 ]# grep tarena /etc/group ]# gpasswd -a nb tarena ]# grep tarena /etc/group ]# gpasswd -d nb tarena #将nb用户从tarena组中删除 ]# grep tarena /etc/group ]# gpasswd -M ‘’ tarena #删除组中所有成员 ]# grep tarena /etc/group -A:定义组管理员列表 [root@localhost ~]# su - nb [nb@localhost ~]$ gpasswd -a kaka tarena gpasswd:没有权限。 [nb@localhost ~]$ exit [root@localhost ~]# gpasswd -A nb tarena #设置组管理员 [root@localhost ~]# su - nb [nb@localhost ~]$ gpasswd -a kaka tarena 正在将用户“kaka”加入到“tarena”组中 [nb@localhost ~]$ exit [root@localhost ~]# /etc/gshadow:组的管理信息配置文件 [root@localhost ~]# grep tarena /etc/gshadow tarena:!:nb: 组名:密码加密字符串:组的管理员列表:组成员列表 删除组账号:删除组的时候,不可以删除基本组 [root@localhost ~]# groupdel tarena [root@localhost ~]# groupdel tmooc [root@localhost ~]# grep tmooc /etc/group [root@localhost ~]# grep tarena /etc/group

    计划任务

    用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务 软件包:cronie、crontabs 系统服务:crond 日志文件:/var/log/cron 使用 crontab 命令 –编辑:crontab -e [-u 用户名] –查看:crontab -l [-u 用户名] –清除:crontab -r [-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
    Processed: 0.010, SQL: 8