5-1用户管理

项目一:
1、 新建一个user1用户,UID、GID、主目录均按默认;

[pl@localhost 桌面]$ su
密码:
[root@localhost 桌面]# useradd user1

2、 新建一个user2用户,UID=800、其余按默认;

[root@localhost 桌面]# useradd -u 800 user2

3、 新建一个user3用户,默认主目录为/abc、其余默认;并观察这三个用户的信息有什么不同;

[root@localhost 桌面]# useradd -d /abc user3

4、 分别为以上三个用户设置密码为123456;

[root@localhost 桌面]# passwd user1
更改用户 user1 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost 桌面]# passwd user2
更改用户 user1 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost 桌面]# passwd user3
更改用户 user1 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

5、 把user1用户改名为u1,UID改为700,主目录为/test;

[root@localhost 桌面]# usermod -l u1 user1
[root@localhost 桌面]# usermod -u 700 u1
[root@localhost 桌面]# usermod -d /test u1

6、 修改用户user2在密码过期后5天禁用该账号;

[root@localhost 桌面]# passwd -x 5 user2
调整用户密码老化数据user2。
passwd: 操作成功

7、 修改用户user3账户的过期日期为2020年2月2日;

[root@localhost 桌面]# usermod -e 2/2/2020

8、 锁定用户u1,使密码无效;

[root@localhost 桌面]# passwd -l u1
锁定用户 u1 的密码 。
passwd: 操作成功

9、 解除用户u1密码锁住;

[root@localhost 桌面]# passwd -u u1
解锁用户 u1 的密码。
passwd: 操作成功

10、 修改user3账户的shell为禁止交互登录

[root@localhost 桌面]# usermod -s /bin/nologin user3

11、 删除用户u1

[root@localhost 桌面]# userdel -f u1

12、 删除用户user2,以及其账号下主目录等文件

[root@localhost 桌面]# userdel -r user2

5-2组管理

项目一:
1、 建立一个标准的组group1,GID=900;

[root@localhost 桌面]# groupadd -g 900 group1

2、 建立一个标准组group2,选项为默认,观察该组的信息有什么变化;

[root@localhost 桌面]# groupadd group2

3、 新建用户ah、xh,再新建一个组group3,把root、u1、user2用户添加到group1组中,把ah、xh添加到group2组;

[root@localhost 桌面]# useradd ah
[root@localhost 桌面]# useradd xh
ocalhost 桌面]# gpasswd -a root group1
正在将用户“root”加入到“group1”组中
[root@localhost 桌面]# gpasswd -a u1 group1
正在将用户“u1”加入到“group1”组中
[root@localhost 桌面]# gpasswd -a user2 group1
正在将用户“user2”加入到“group1”组中
root@localhost 桌面]# gpasswd -a ah group2
正在将用户“ah”加入到“group2”组中
[root@localhost 桌面]# gpasswd -a xh group2
正在将用户“xh”加入到“group2”组中

4、 创建名为zhangsan的系统组群;

[root@localhost 桌面]# groupadd -r zhangsan

5、 把group3组改名为g3,GID=1000;

[root@localhost 桌面]# groupmod -n g3 group3
root@localhost 桌面]# groupmod -g 1000 g3

6、 将ah 设为group1群组的管理员;

[root@localhost 桌面]# gpasswd -A ah group1

7、 从group2组群中删除用户ah;

root@localhost 桌面]# gpasswd -d ah group1
正在将用户“ah”从“group1”组中删除
gpasswd:用户“ah”不是“group1”的成员

8、 查看user2所属于的组;


9、 删除user1组与g3组,观察有什么情况发生;

[root@localhost 桌面]# groupdel user1
[root@localhost 桌面]# groupdel g3

10、 查看用户ab是属于哪些组群的成员;

在这里插入代码片

项目二:
1、 添加一个组grouplinux,并显示/etc/group文件内容;

[root@localhost 桌面]# groupadd grouplinux

2、 将用户pl加入到grouplinux组中,将zhangsan设置为该组管理员,并显示/etc/shadow文件内容;

在这里插入代码片

3、 切换用户到zhangsan,添加lisi用户到grouplinux组群,并将pl从组群中删除,退出zhangsan用户;

在这里插入代码片

4、 显示当前/etc/gshadow文件,更改grouplinux组id为1220,查看结果;

在这里插入代码片

5、 将grouplinux重命名为groupg;

在这里插入代码片

6、 删除grouplinux和groupg,查看结果;

在这里插入代码片

5-3用户、组和权限管理综合测试

一、 用户和组的构建
服务器管理员经过对公司各部门的需求分析发现,只有商务部和开发部的员工需要登录服务器,其他部门的员工暂时不需要访问服务器,因此,管理员需要为这两个部门创建组账户,并为两个部门的员工创建各自的用户账号。

-切换管理员身份

[pl@localhost 桌面]$ su
密码:
  • 创建组gBusiness、 gDevelop

[root@localhost 桌面]# groupadd gBusiness
[root@localhost 桌面]# groupadd gDevelop
[root@localhost 桌面]# tail /etc/group
sshd:x:74:
slocate:x:21:
avahi:x:70:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
pl:x:1000:
gBusiness:x:1001:
gDevelop:x:1002:
  • 分别创建用户B_tom、B_lucy、D_mike、D_lily
[root@localhost 桌面]# useradd -G gBusiness B_tom
[root@localhost 桌面]# useradd -G gBusiness B_lucy
[root@localhost 桌面]# useradd -G gDevelop D_mike
[root@localhost 桌面]# useradd -G gDevelop D_lily
[root@localhost 桌面]# cat /etc/passwd
  • 设置初始密码
[root@localhost 桌面]# echo "123456" |passwd --stdin B_tom
更改用户 B_tom 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost 桌面]# echo "123456" |passwd --stdin B_lucy
更改用户 B_lucy 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost 桌面]# echo "123456" |passwd --stdin D_mike
更改用户 D_mike 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost 桌面]# echo "123456" |passwd --stdin D_lily
更改用户 D_lily 的密码 。
passwd:所有的身份验证令牌已经成功更新。
  • 更改用户口令策略
[root@localhost 桌面]# chage -d 0 -M 30 -m 1 -W 5 B_tom
[root@localhost 桌面]# chage -d 0 -M 30 -m 1 -W 5 B_lucy
[root@localhost 桌面]# chage -d 0 -M 30 -m 1 -W 5 D_mike
[root@localhost 桌面]# chage -d 0 -M 30 -m 1 -W 5 D_lily
[root@localhost 桌面]# tail /etc/shadow    //查看用户账户信息

二、权限的管理
公司承接一项新的WEB业务,商务部负责与客户沟通并调研客户需求,为客户指定网站建设方案,开发部根据沟通记录及建设方案给出网站设计风格,并交由商务部与客户部沟通确认,确认后,由开发部进行代码编写,部门之间有大量数据需要共享,为了优化办公流程,需要在服务器上为项目创建专用的目录,并修改目录属性,为员工提供必要的读写权限。
项目分析:
1、 创建目录plan,商务部负责人(用户B_tom)可以往该目录内拷贝商务部给出的建设方案文档,开发部所有员工(组gDevelop)可以读取该目录下的所有文件。
2、 创建目录design,开发部负责人(用户D_mike)可以往该目录内拷贝设计部给出的网站风格设计文档,商务部所有员工(组gBusiness)可以读取目录下的设计文档。
3、 创建目录public,作为公共共享,允许所有员工在其下创建文件及子目录

[root@localhost 桌面]# mkdir -p /webdata/{plan,design,public} //创建目录
[root@localhost 桌面]# cd /webdata
[root@localhost webdata]# ll   //查看文件下目录
总用量 0
drwxr-xr-x. 2 root root 6 5月  25 01:48 design
drwxr-xr-x. 2 root root 6 5月  25 01:48 plan
drwxr-xr-x. 2 root root 6 5月  25 01:48 public
[root@localhost webdata]# tail /etc/group[root@localhost webdata]# chown B_tom:gDevelop plan[root@localhost webdata]# chown D_mike design/
[root@localhost webdata]# chown :gBusiness design/


项目二:
一、 根据需求创建用户和组
1、 由于这台服务器由公司三个部门共同使用 ,请创建对应的组账户分别为:technical,sales,finance
2、 为各部门的经理创建用户账号,技术部经理james,销售部经理alice,财务部经理bruce
3、 为以下员工创建账号,技术部员工tom,销售部员工jack,财务部员工yanni,技术部实习生dick
4、 所有用户账号初始密码为123456,用户首次登录需要更改密码,密码至少使用一个月才可修改,三个月后必须修改,密码过期前10天开始提醒用户修改密码
5、 每个用户的主组为与用户名同名的组,附加组为所在部门对应的组
6、 实习生账号6个月后过期
7、 为统一管理,技术部用户UID范围为2001—2050,销售部用户UID范围为2051—2100,财务部用户UID范围为2101—2150,实习生UID范围为2151—2200
8、 三个部门经理UID分别为2001,2051,2101
二、 根据需求设置合适的权限
1、 创建工作目录/var/work,除了管理员不允许任何人在/var/work目录下创建、删除文件,在此目录下新建的目录、文件默认不给予其他人任何权限
2、 在工作目录下创建各部门目录:tech,sales,finance,以及公共目录share
3、 各部门目录下分别创建开放目录public

4、 各部门目录的属主为部门经理,属组为部门组账户,共享目录属主、属组为管理员
5、 各部门目录下创建的文件、目录属组默认为部门组账户
6、 各部门目录下只有部门经理可创建、删除,部门员工只可查看
7、 各部门目录下的开放目录可供三个部门的人查看,但只有所在部门的人可以修改
8、 共享目录下所有人都可以创建、删除,但只能删除自己创建的文件
9、 实习生只能在共享目录下创建、删除,其他所有目录均没有创建、删除权限

习题解题

pwd找路径
ls 查看目录下文件

文件和目录基本操作
项目一:
首先切换用户

[pl@localhost 桌面]$ su
密码:
[root@localhost 桌面]#
  1. 在根目录(/)下新建一目录 test
[root@localhost 桌面]# cd /
[root@localhost /]# mkdir test
  1. 改变当前目录至 /test ,在该目录下,以自己名字的英文缩写建一个空的文件,再建两个子目录(-xh)与(ah);
[root@localhost /]# cd /test
[root@localhost test]# touch sa
[root@localhost test]# ls
ah  sa
[root@localhost test]# mkdir -- -xh
[root@localhost test]# mkdir ah
  1. 进入到(-xh)子目录中,新建一个空文件text1;
[root@localhost test]# cd -- -xh
[root@localhost -xh]# touch text1
[root@localhost -xh]# ls
text1
  1. 进入到(ah)子目录中,再新建一个子目录(abc),同时建立空文件text2;
[root@localhost -xh]# cd ah
bash: cd: ah: 没有那个文件或目录
[root@localhost -xh]# cd /test/ah
[root@localhost ah]# mkdir abc
[root@localhost ah]# touch text2
[root@localhost ah]# ls
abc  text2

注意:一定要绝对路径
5. 把刚建的text1文件移动到刚建立的abc子目录下,并改名为text3,同时把text2文件复制到-xh子目录中;

[root@localhost ah]# pwd
/test/ah
[root@localhost ah]# mv /test/-xh/text1 /test/ah/abc/text3
[root@localhost ah]# ls
abc  text2
[root@localhost ah]# ls /test/-xh
  1. 删除text3文件与-xh子目录及目录中的文件;并删除abc子目录;
[root@localhost ah]# rm ./abc/text3
rm:是否删除普通空文件 "./abc/text3"?y
[root@localhost ah]#
  1. 清屏;
在这里插入代码片

8、 使用ls 命令显示test的目录结构;

[root@localhost ah]# cd /test
[root@localhost test]# ls
ah  sa  -xh

9、 在/test文件夹下,创建hello文件;

[root@localhost test]# touch hello

10、 在当前路径下创建软链接文件test,链接到/test/hello文件;

[root@localhost test]# ls
ah  hello  sa  -xh
[root@localhost test]# ln -s /test/hello test
[root@localhost test]# ls
ah  hello  sa  test  -xh

11、 查看test链接文件创建成功,能够看到文件内容;

[root@localhost test]# ls /test/hello
/test/hello

12、 删除源文件/test/hello;

[root@localhost test]# rm -rf /test/hello

13、 可以看到test文件,但文件已经损坏无法打开;

[root@localhost test]# cat ./test
cat: ./test: 没有那个文件或目录

14、 使用sort或uniq命令对/root目录下的inittab文件排序后输出其结果;

[root@localhost test]# sort /root/anaconda-ks.cfg

15、 统计inittab文件的字节数、行数、字数;

[root@localhost test]# ls -a /root

项目二:
1、将/etc/selinux/config复制到/tmp 目录下 并重命名为web.conf

2、在tmp目录下新建目录树 /tmp/test/test1/test2/test3

3、用vi编辑器在/tmp目录下创建一个文件。文件名为example,内容为 this file is a test file

4、新建用户test1,将example 复制到test1 的家目录 (useradd 用户名)

5、将example文件复制一份到/tmp/test/test1/test2 下,并命名为testfile

6、使用ls 命令显示tmp的目录结构

补充笔记

新建目录 mkdir  /test
删除  :rmdir/test
新建文件  :vim test/test]# touch test 空文件rm-rf test强制递归
;wq 保存
;q  退出






专题学习Linux笔记相关推荐

  1. linux网络配置命令笔记,初学者学习linux笔记与练习-第二天。一些基本命令以及初级网络配置...

    菜鸟学习linux笔记与练习-----第二天.一些基本命令以及初级网络配置 基本命令 ??uname -a -s ??hostname显示主机名 若是要永久生效,则编辑以下文件 ??#vim /etc ...

  2. 莫比乌斯反演专题学习笔记

    莫比乌斯反演专题学习笔记 本文记录一些和莫反有关的内容的笔记 可能存在诸多谬误,阅读时请谨慎分析 若发现文中有谬误,如您愿意,恳请您向我指出,不胜感激! 为什么要学莫比乌斯反演? 解决一类与狄利克雷卷 ...

  3. 操作系统进程学习(Linux 内核学习笔记)

    操作系统进程学习(Linux 内核学习笔记) 进程优先级 并非所有进程都具有相同的重要性.除了大多数我们所熟悉的进程优先级之外,进程还有不同的关键度类别,以满足不同需求.首先进程比较粗糙的划分,进程可 ...

  4. 学习Linux第一次上课笔记

    一.配置IP地址 1.设置网络连接模式为NAT模式. 学习linux第二次上课笔记 2.获取IP地址,首先运行dhclinet服务,然后敲ip add进行查看,自动获取的IP地址. 学习linux第二 ...

  5. 数学/数论专题-学习笔记:狄利克雷卷积

    数学/数论专题-学习笔记:狄利克雷卷积 1. 前言 2. 一些基础函数 3. 积性函数 4. 狄利克雷卷积 5. 总结 6. 参考资料 1. 前言 狄利克雷卷积,是学习与继续探究 μ\muμ 函数和 ...

  6. 图论专题-学习笔记:强连通分量

    图论专题-学习笔记:强连通分量 一些 update 1. 前言 2. 定义 3. 求法 4. 应用 5. 总结 一些 update update on 2021/8/12:增加了对于 Kosaraju ...

  7. 图论专题-学习笔记:虚树

    图论专题-学习笔记:虚树 1. 前言 2. 详解 2.1 虚树定义 2.2 虚树构造 2.3 例题 3. 总结 4. 参考资料 1. 前言 虚树,主要是用于一类树上问题,这类问题通常是需要取一些关键点 ...

  8. 数据结构专题-学习笔记:李超线段树

    数据结构专题 - 学习笔记:李超线段树 1. 前言 2. 详解 3. 应用 4. 总结 5. 参考资料 1. 前言 本篇博文是博主学习李超线段树的学习笔记. 2020/12/21 的时候我在 线段树算 ...

  9. 系统学习Linux建议

    国内的专业Linux网站(GB) ChinaUnix Linux中国 实验楼: 免费提供了Linux在线实验环境,不用在自己机子上装系统也可以学习Linux,超方便实用!. 国内的专业Linux网站( ...

最新文章

  1. Win10环境下搭建virtualenvwrapper-win
  2. Bug貌似发现了centos系统配置host主机的问题
  3. 使用movetable收缩表空间
  4. 程序员买房与程序员转型
  5. 亿纬锂能:拟参与竞拍兴华锂盐35.2857%股权 挂牌价1.44亿元
  6. 让Linux使用malloc申请更多的内存
  7. 百度云2019落地第一枪打响:两款智能边缘硬件,让城市环卫、农药喷洒都AI起来...
  8. mybatis调用mysql存储过程_秒会mybatis调用存储过程(MySQL)
  9. 当你学会这项python数据提取神器时,请做好升职准备!
  10. 可视化设计的时候应该注意什么
  11. 《R in Action》读书笔记(3) 数据变换
  12. CUID卡写入错误数据被锁死——入坑NFC的一段经历
  13. 【python实战】爬取起点中文网自制小说阅读器
  14. 怎么用matlab幅频特性曲线怎么模拟,幅频特性曲线的MATLAB模拟
  15. 华为员工吐槽加班太多,晒出7天上班打卡记录网友:不怕猝死吗?
  16. python多进程传递参数_Python进程,多进程,获取进程id,给子进程传递参数操作示例...
  17. php将amr转换成mp3,微信JSSDK-将录制文件amr格式转换为mp3
  18. python中的元组介绍
  19. 9月24号面试总结(康拓普2面)
  20. 关于数据结构和算法的面试题

热门文章

  1. vue使用XLSX 读取excel日期格式的单元格问题
  2. android adb shell device not found 或 adb devices 无设备
  3. iVMS-4200 Vs区别_死神vs火影新版柱间下载-死神vs火影新版柱间手机版下载
  4. R语言使用pbern函数生成伯努利分布(0-1分布)累积分布函数数据、使用plot函数可视化伯努利分布累积分布函数数据( Bernoulli distribution)
  5. 济南大学计算机考研压分吗,浙江理工大学调档函.doc
  6. 情侣头像大全,700多张微信QQ情侣头像呆萌两张配对
  7. IOS开发者账号被调查(Other - Other)怎么办?附解决办法
  8. 掌握这个套路,80%的问题你都能靠自己解决
  9. 什么?你还不知道特拉维夫?!
  10. eclipse rcp项目打包