Linux系统及操作 (05)

帐号控制总述

  • 基于账户身份对资源访问进行控制

    • 账户类别:用户帐号,组帐号
    • 识别方式:UID[ linux系统自动给予用户编号 ]GID[ 组帐号编号 ]
    • 不同的用户/账户对资源的访问权限不同
  • 用户帐号(UID):

    • 超级用户root (权限最大) : UID=0
    • 系统用户(系统自用): UID=1 ~999
    • 普通用户 : UID=1000~
  • 组帐号 (GID):方便管理多个用户

    • 基本组(私有组):一般情况与用户同名,一个用户必须有基本组,基本组只能有一个
    • 附加组(从属组):一个用户可以有多个附加组,也可以没有附加组
  • 帐号数据存放:本机磁盘中————本地账户

    • /etc/passwd /etc/shadow
    • /etc/group /etc/gshadow
  • /etc/passwd 中是各个用户的基础信息

    例 : [ root : x : 0 : 0 : root : /root : /bin/bash ]

    [ 账户名称 :占位符 :UID :GID :用户全名 :宿主目录 :Shell程序路径 ]

  • Linux系统 允许无家目录,或家目录异常的用户帐号。

添加用户帐号

useradd 添加用户
  • 格式 :useradd [ 选项 ] … 用户名
常用选项
  • [ -u ] : 指定 UID 标记号。
    [ useradd -u 2333 bilibili ] #1000到6w
    [ id bilibili ] ===> [ uid=2333(bilibili) gid=2333(bilibili) 组=2333(bilibili) ]

  • [ -d ] :指定宿主目录。家目录。(缺省默认为 /home/用户名

    • 自己创建的家目录权限过高,建议自动创建。
      [ useradd -d /opt bilibili ]
      [ grep bilibili /etc/passwd ] ====> [ bilibili : x : 1001 : 1001 : : /opt/bilibili : /bin/bash ]
  • [ -G ] :指定所属的附加组。
    [ groupadd diyi ] 单独创建 diyi 组
    [ groupadd dier ] 单独创建 dier 组
    [ useradd -G diyi bilibili ]
    [ id bilibili ] ===> [ uid=2336(bilibili) gid=2338(bilibili) 组=2338(bilibili),2335(diyi)]
    [ useradd -G diyi,dier 4399game ]
    [ id bilibili ]
    ===> [ uid=2337(4399game) gid=2338(4399game) 组=2338(4399game),2335(diyi),2336(dier) ]

  • [ -s ] :指定用户的登录解释器( /bin/bash )。

    • shell : 壳,解释器。

      • 用户 -------> 解释器(shell ) -------> 内核 --------> 硬件
  • /sbin/nologin :禁止用户登录操作系统。(锁定其用户帐号)

    [ useradd -s /sbin/nologin bilibili ] 把 /bin/bash 换成 /sbin/nologin

    [ passwd bilibili ] 设置密码,密码没有屏幕显示,需要输入两次密码

usermod 修改用户
  • usermod命令格式 : usermod [ 选项 ]… 用户名
常用选项 :
  • [ -l ] : 更改用户帐号的登陆名称。

    • [ usermod -l newname oldname ]
  • [ -u ] : 更改 用户id。

    • [ usermod -u 1555 newname ]
  • [ -d ] : 更改 家目录路径。

    • [ usermod -d /opt newname ]
  • [ -md ] : 把原本的家目录中的 家 移动到新家目录下。(推荐使用)

  • [ -s ] : 更改 登录解释器。

    • [ usermod -s /sbin/nologin newname ]
  • [ -G ] : 更改 附加组/重置 附加组。

    • [ usermod -G diyi,dier newname ]
passwd命令 :
  • 设置用户密码

  • 格式 : passwd [ 选项 ]… 用户名 { 交互式 }

    • [ passwd bilibili ] 设置用户 bilibili 的用户密码

      • [ su - bilibili ] 临时从 root 用户临时切换到 bilibili 用户
      • [ passwd ] 修改当前用户的密码(需要旧密码)
      • [ exit ] 退出临时用户 bilibili ,回到原用户 root
  • 非交互式设置密码 [ --stadin ]

    • 格式 :[ echo xxxxx | passwd --stadin 用户名 ]

    • [ echo 123 | passwd -stadin bilibili ]

用户初始配置

主要的初始配置文件
  • 每创造一个用户,/etc/skel 默认在 /home 下建在对应的家目录
[ _~/.bashrc_profile ]
  • 每次登陆系统时执行
[ _~/.bashrc ]
  • 每次开始新的命令行终端时执行

  • /root/.bashrc 用于定义永久别名

    • [ alias echo 现在目录: ; pwd ; ls ]

    • 只对应家目录对应的用户

用户的删与查

删除用户

[ userdel ] 命令
  • 格式:userdel [-r] 用户名

  • 添加 -r 选项,家目录/用户邮件也一并删除
    [ userdel -r bilibili ] 连同家目录一并删除
    [ userdel bilibili ] 不删除家目录,只删除用户信息组

查询账户id

[ id ] 命令 —Identity
  • 格式 :id [ 选项 ]… 用户名

    [ id bilibili ]

组帐号管理

  • 创建组 :[ groupadd ]

组帐号基本操作

/etc/group
  • 保存组帐号的基本信息。每新建一个组,就会在 group 下更新一个信息。

  • 每个组记录一行,以:分割为4个字段。

    [ stugrp:❌:1504:nsd06 ]

    组名:组密码占位符:组的GID:组成员列表。

    [ bilibili:❌:1505: ]

    用户 bilibili 作为一个组,无成员。

[ gpasswd ]命令
  • 格式:gpasswd [选项]… 组名 { 添加附加组 }
常用选项
  • [ -a ] : 添加组成员,每次只能加一个

    [ gpasswd -a wudang bilibili ] { 添加 wudang 组到 bilibili 组 }

  • [ -d ] : 删除组成员,每次只能删一个

    [ gpasswd -d wudang bilibili ] { 把 wudang 组从 bilibili 组删除 }

  • [ -M ] : 定义(重置)组成员用户列表,可设置多个用户

    [ gpasswd -M ‘wudang,shaolin,emei’ bilibili ] { 定义bilibili 组的组成员列表 ,添加多个}

  • [ -A ] : 定义组管理员列表(组管理员可以属于此组也可以不属于此组)

    • root 是所有组的默认管理员
  • [ /etc/gshadow ] 组管理信息配置文件。 记录着个个组的管理员名单。

[ gpasswd -A wudang bilibili ] { 把 wudang 组设置成bilibili 组的管理员 }

[ groupdel ] 命令
  • 删除组。删除组的时候,不可以删除基本组。

  • 删除组不会删除对应用户。

  • 格式 : groupdel 组名

    [ groupdel bilibili ] { 删除 bilibili 组 }

总结 1 :用户与组重要的配置文件

1./etc/passwd:用户基本信息配置文件

2./etc/shadow:用户密码信息配置文件

3./etc/group:组基本信息配置文件

4./etc/gshadow:组管理信息配置文件

  • 当创建一个新的用户时,以上四个文件都会增加新的内容。
总结 2 :Linux系统执行useradd命令,会完成那些操作?

1.会在/etc/passwd增加一行信息

2.会在/etc/shadow增加一行信息

3.会在/home新增用户家目录

4.会在/var/spool/mail增加用户邮件文件

5.会在/etc/group增加一行组信息

6.会在/etc/gshadow增加一行组的管理信息

总结 3 :Linux系统执行userdel -r命令,会完成那些操作?

1.会在/etc/passwd删除一行信息

2.会在/etc/shadow删除一行信息

3.会在/home删除用户家目录

4.会在/var/spool/mail删除用户邮件文件

5.会在/etc/group删除一行组信息

6.会在/etc/gshadow删除一行组的管理信息

计划任务

用途:按照设置的时间间隔,为用户反复执行某一项固定的系统任务
  • 软件包:cronie、crontabs
  • 系统服务:crond
  • 日志文件:/var/log/cron
  • [ tail ] : tail [ 选项 ] 文件名
  • 显示文件的尾部内容,默认会显示指定文件的末尾 10 行的内容。
    • 通常用于查看日志文件或实时监控日志文件的更新。
    • [ -n ] : 指定要显示的尾部行数
    • [ -f ] : 持续跟踪显示文件尾部最新的内容,实时看到输出显示。

[ crontab ] 命令

  • 编辑:crontab -e [-u 用户名]
    • [ crontab -e -u root ]root 的身份进入 -e 的编辑模式。
  • 查看:crontab -l [-u 用户名]
  • 清除:crontab -r [-u 用户名]
编写[ crontab ] 任务
  • 任务配置文件在**/etc/crontab**

  • 时间配置

    • 分 时 日 月 周 任务命令行(绝对路径)

      [ * * * * * ] #每分钟执行一次

      [ 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或每周一晚上23:30 执行一次

      特别写法:

      [ 5 * * * * ] #每个小时的第五分钟执行一次

      [ */5 * * * * ] #每隔5分钟运行一次

      [ 38 */2 * * * ] #每隔2小时运行一次

      [ * ]:匹配范围内任意时间

      [ , ]:分隔多个不连续的时间点

      [ - ]:指定连续时间范围

      [ /n ]:指定时间频率,每n …

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值