Linux学习历程(2)

·请总结描述用户和组管理类命令的使用方法并完成以下练习:

  • 添加账号:

  useradd 选项 用户名

    • -c comment 指定一段注释性描述

    • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录

    • -g 用户组 指定用户所属的用户组

    • -s Shell文件 指定用户的登录Shell

    • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号

  • 删除账号:

    userdel 选项 用户名

    • -f, --force 强制删除

    • -r, --remove 删除用户家目录和邮箱

 

  • 修改账号:

usermod 选项 用户名

    • -u UID: 新UID-g GID: 新主组
    • -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项
    • -s SHELL:新的默认SHELL
    • -c 'COMMENT':新的注释信息
    • -d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
    • -l login_name: 新的名字
    • -L: lock指定用户,在/etc/shadow 密码栏的增加 !
    • -U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
    • -e YYYY-MM-DD: 指明用户账号过期日期
    • -f INACTIVE: 设定非活动期限,即宽限期
  • 用户口令管理:

passwd 选项 用户名

    • -l 锁定口令,即禁用账号
    • -u 口令解锁
    • -d 使账号无口令
    • -f 强迫用户下次登录时修改口令
    • -x 天数:设置该用户的密码有效期

 

  • 添加用户组:

groupadd 选项 组名

    • -g GID 指定新用户组的组标识号(GID)。
    • -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
  • 修改用户组:

    groupmod 选项 组名

    • -g GID 为用户组指定新的组标识号。
    • -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
    • -n新用户组 将用户组的名字改为新名字
  • 删除用户组:
groupdel [options] GROUP
    • -f, --force 强制删除,即使是用户的主组也强制删除组,但会导致无主组的用户不可用无法登录

 

(1)、创建组distro,其GID为2019;

 

 

(2)、创建用户mandriva, 其ID号为1005;基本组为distro;

 

(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;

 

(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期

 

 

(5)、删除mandriva,但保留其家目录;

 

(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;

 

(7)、修改slackware的默认shell为/bin/tcsh;

 

 

(8)、为用户slackware新增附加组admins,并设置不可登陆。

 


 

·创建用户user1、user2、user3。在/data/下创建目录test

(1)、目录/data/test属主、属组为user1

 

(2)、在目录属主、属组不变的情况下,user2对文件有读写权限

 

(3)、user1在/data/test目录下创建文件a1.sh, a2.sh, a3.sh, a4.sh,设置所有用户都不可删除1.sh,2.sh文件,除了user1及root之外,所有用户都不可删除a3.sh, a4.sh

 

(4)、user3增加附加组user1,同时要求user1不能访问/data/test目录及其下所有文件

 

(5)、清理/data/test目录及其下所有文件的acl权限

 


 

·统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来

 

 

·查出用户UID最大值的用户名、UID及shell类型

 

·统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序

 

·编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值

 

·编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小

posted @   12avde  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示