青岛实训 7月11号 day04

一、用户与权限

1. ls /etc/passwd -l
用途:列出 /etc/passwd 文件的详细信息。
输出结果:显示该文件的权限、所有者、大小、修改时间等详细信息。
// 解释:/etc/passwd 文件包含系统中所有用户的信息,包括用户名、用户ID、组ID、用户的全名、主目录和登录shell。

2. ls /etc/shadow -l
用途:列出 /etc/shadow 文件的详细信息。
输出结果:显示该文件的权限、所有者、大小、修改时间等详细信息。
// 解释:/etc/shadow 文件包含加密后的密码和其他与用户密码相关的信息。这是一个敏感文件,只有超级用户和授权用户才能访问。

3. ls /etc/group -l
用途:列出 /etc/group 文件的详细信息。
输出结果:显示该文件的权限、所有者、大小、修改时间等详细信息。
// 解释:/etc/group 文件包含系统中所有组的信息,包括组名、组ID和组成员。

4. ls -l /etc/gshadow
用途:列出 /etc/gshadow 文件的详细信息。
输出结果:显示该文件的权限、所有者、大小、修改时间等详细信息。
// 解释:/etc/gshadow 文件包含组密码和其他与组相关的敏感信息。像 /etc/shadow 一样,这也是一个敏感文件。

5. ls -al /etc/skel/
用途:列出 /etc/skel/ 目录中所有文件(包括隐藏文件)的详细信息。
输出结果:显示该目录下所有文件的权限、所有者、大小、修改时间等详细信息。
// 解释:/etc/skel/ 目录包含新用户主目录的初始文件。当创建新用户时,这些文件将被复制到用户的主目录。

6. ls -l /var/spool/mail/
用途:列出 /var/spool/mail/ 目录中所有文件的详细信息。
输出结果:显示该目录下所有文件的权限、所有者、大小、修改时间等详细信息。
// 解释:/var/spool/mail/ 目录包含系统用户的邮件信箱文件。每个用户都有一个以用户名命名的文件,存储其接收到的邮件。

7. ls -al /home/
用途:列出 /home/ 目录中所有文件(包括隐藏文件)的详细信息。
输出结果:显示该目录下所有文件的权限、所有者、大小、修改时间等详细信息。
// 解释:/home/ 目录是系统中所有用户主目录的根目录。每个用户都有一个以用户名命名的子目录,存储该用户的个人文件和配置。

1.用户管理

(1)为什么需要其他用户?

不同级别人员使用不同级别的用户账号,同时也安全。

2.用户基本信息

[root@yum ~]# vim /etc/passwd

1.用户名
2.密码占位 真正的密码是在/etc/shadow中,shadow文件只有root才可以看到
3.用户id 0超级用户 1-499 系统用户伪用户,500-65535 普通用户
4.初始组用户 添加用户默认添加同名组 /etc/group
5.用户说明,可有可无
6.用户名目录
7.用户登陆后的权限 /bin/bash 可以执行所有权限 /sbin/nolog 伪用户无法登录

window要修改为管理员,就修改组 直接修改用户的uid就可以变成超级用户,但是不建议,因为超级用户只能是root

3.影子文件 /etc/shadow 只能被root读取修改

[root@yum ~]# head -1 /etc/shadow

4.组文件 /etc/group

[root@aa ~]# tail -2 /etc/group
postfix:x:89:
chrony:x:996:

每个用户有且必须有一个初始组,允许有多个附加组

二、用户管理命令(验证管理用户和组的指令和参数)

1.root    添加账号  修改密码 删除用户

2.普通用户   uid(500-65535)

3.系统用户 1-499

新增和删除用户对什么文件有影响

删除以下文件所对应的信息可以创建相同名称用户

root@aa ~]# vim /etc/passwd
[root@aa ~]# vim /etc/shadow
[root@aa ~]# vim /etc/group
[root@aa ~]# vim /etc/gshadow
[root@aa ~]# rm -rf /home/user
[root@aa ~]# rm -rf /var/spool/mail/user
[root@aa ~]# useradd user  //可以再次创建

默认文件

[root@aa ~]# vim /etc/login.defs

新建用户   useradd [选项]  用户名

删除用户   userdel  [选项] 用户名  (-r 和家目录一起删除)
设置用户账号口令 passwd命令
 [root@localhost ~]# useradd -p 123456 user1        #设置密码123456

[root@localhost ~]# passwd user1                        # root用户更改user1的密码
更改用户 user1 的密码                                         # 更改为符合要求的密码:
新的 密码:                                                        #大小写字母数字特殊符号等,不少于8位
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# passwd -l user1                # 锁定用户,禁止登录
锁定用户 user1 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -uf user1                # 解锁用户
解锁用户 user1 的密码。
passwd: 操作成功

维护用户账号

(1)修改用户账户   usermod [选项]  用户名

选项    说明
-g    变更所属用户组(基本组)
-G    变更附加组
-u    指定UID
-s    指定登录的shell类型
-L    锁定用户
-U    解锁用户(用户要有密码)
-p     设置账户密码

管理组

(1)创建组   group  [选项]  组名

选项    说明
-g    指定组ID
(2)删除组  groupdel 组名 

(3)修改组  groupmod [选项]  组名

选项    说明
-a    把用户添加到组中
-d    把用户从组中删除
-o    强制
4)为组添加用户 gpasswd [选项]  用户名  组名

选项    说明
-d    把用户从组中删除
-a    把用户添加到组中

三、Linux下载安装MySQL8.0.28版本

(1)新建mysql文件存放路径

(2)解压压缩包

(3)检查是否具有mariadb/mysql,  有的话卸载

(4)下载依赖包

(5)初始化MySQL

(6)修改权限

(7)启动MySQL

(8)查看MySQL默认密码并修改密码

[root@aa ~]# mkdir mysql  
[root@aa ~]# tar -xvf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar -C mysql
[root@aa ~]# cd mysql/
[root@aa mysql]# rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[root@aa mysql]# rpm -e --nodeps mariadb-libs
[root@aa mysql]# rpm -qa | grep mariadb
[root@aa mysql]# rpm -ivh mysql-community-common-8.0.28-1.el7.x86_64.rpm
[root@aa mysql]# rpm -ivh mysql-community-client-plugins-8.0.28-1.el7.x86_64.rpm
[root@aa mysql]# rpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm
[root@aa mysql]# rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm
[root@aa mysql]# rpm -ivh mysql-community-icu-data-files-8.0.28-1.el7.x86_64.rpm
[root@aa mysql]# rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm
[root@aa mysql]# mysqld --initialize --console
[root@aa mysql]# chown -R mysql:mysql /var/lib/mysql/
[root@aa mysql]# systemctl start mysqld
[root@aa mysql]# cat /var/log/mysqld.log | grep localhost   #查看默认密码

[root@aa mysql]# mysql -uroot -p
Enter password: 默认密码

mysql> alter user 'root'@'localhost'identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> exit
[root@aa mysql]# mysql -uroot -p123456  #修改密码为123456

mysql> exit

  • 14
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的C语言万年历的实训报告,供您参考: 一、实训目的 本次实训的主要目的是通过编写一个简单的C语言万年历程序,巩固C语言基本语法和编程思想,提高编程能力和解决问题的能力。 二、实训要求 1、能够使用C语言基本语法和控制语句编写程序。 2、能够使用数组来存储和操作数据。 3、能够使用函数来实现模块化编程。 4、能够使用指针来操作内存中的数据。 5、能够使用文件来读取和写入数据。 三、实训内容 1、程序功能 本程序实现了一个简单的万年历功能,可以通过输入年份和份来显示该的日历。 2、程序实现 以下是本程序的主要代码实现: ```c #include <stdio.h> // 判断是否为闰年 int is_leap_year(int year) { if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { return 1; } else { return 0; } } // 获取某个份的总天数 int get_days(int year, int month) { int days[] = {31, 28 + is_leap_year(year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; return days[month - 1]; } // 获取某个日期是星期几 int get_weekday(int year, int month, int day) { if (month == 1 || month == 2) { year--; month += 12; } int c = year / 100; int y = year % 100; int w = y + y / 4 + c / 4 - 2 * c + 26 * (month + 1) / 10 + day - 1; w = (w % 7 + 7) % 7; return w; } // 显示日历 void show_calendar(int year, int month) { int days = get_days(year, month); int weekday = get_weekday(year, month, 1); printf(" 日 一 二 三 四 五 六\n"); int i; for (i = 0; i < weekday; i++) { printf(" "); } for (i = 1; i <= days; i++) { printf("%2d ", i); if ((weekday + i) % 7 == 0) { printf("\n"); } } if ((weekday + days) % 7 != 0) { printf("\n"); } } int main() { int year, month; printf("请输入年份:"); scanf("%d", &year); printf("请输入份:"); scanf("%d", &month); if (month < 1 || month > 12) { printf("份输入错误!\n"); return 1; } printf(" %d年%d\n", year, month); show_calendar(year, month); return 0; } ``` 四、实训总结 通过本次实训,我学会了如何使用C语言来编写一个简单的万年历程序,巩固了C语言基本语法和编程思想,加强了对函数、数组、指针、文件等概念和用法的理解,提高了编程能力和解决问题的能力。同时,我也意识到在编程过程中需要注重代码的规范、可读性和可维护性,这对于日后的开发工作非常重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值