用户及权限管理
sudo
是 "superuser do" 的缩写,是一个在类 Unix 操作系统(如 Linux 和 macOS)中使用的命令。它允许普通用户以超级用户(root 用户)的身份执行命令,从而获得更高的权限。
useradd -u 1024 jack 创建 jack 用户时指定其 UID 为 1024useradd -d /home/myd bob1 为新添加的用户指定 home 目录useradd -d /usr/local/apache -g apache -s /bin/false bob2添加一个不能登录的用户;添加一个 bob2 用户,登录目录为 /usr/local/apache ,用户组为 apache ,指定 shell 为 /bin/false ;将用户 shell 设置为 /usr/sbin/nologin 或者 /bin/false ,表示拒绝系统用户登录usermod -l tony tom 将用户 tom 的用户名改为 tonyusermod -d /home/tony/ tony 家目录改为 /home/tonygroupmod -n tony tom 修改原 tom 用户的私有组名 tom 改为 tonyuserdel -r cx问题分析:这表明系统没有找到用户cx的邮件存储和主目录。这可能是因为用户在创建时没有被完全配置解决方案:1.创建用户时指定主目录:
在使用
useradd
命令时,可以明确指定主目录。sudo useradd -m cx
-m
选项会创建用户的主目录2.手动创建主目录:
如果你已经创建了用户但没有主目录,可以手动创建主目录,然后再尝试删除用户:
sudo mkdir /home/cx
3.删除用户时忽略邮件存储:如果你只想删除用户而不关心邮件存储和主目录,可以使用
userdel
命令而不加-r
选项:sudo userdel cx
4.检查用户信息:使用以下命令查看用户
cx
的信息,确认其状态:sudo getent passwd cx
-u UID
-d 指定目录
-g 指定用户组
-s shell用户设置
-l 改变用户名
-n 修改私有组名
-m
创建用户的主目录ls /home/ 查看用户sudo 切换用户passwd tony 设置密码passwd -S jack 查看 jack 账号当前的状态passwd -l jack 将 jack 账号锁定,测试效果后再解锁你运行passwd -l cx
命令并看到消息passwd: password expiry information changed.
时,这表明用户cx
的密码过期信息已成功更改。这是一个正常的反馈,表示系统已经更新了该用户的密码状态
- 锁定账户:使用
passwd -l cx
命令锁定用户账户时,系统会在/etc/shadow
文件中添加一个标记(通常是!
或*
),这会阻止用户使用密码登录。- 密码过期信息:系统记录了用户密码的状态和过期信息。锁定账户的操作也会更新这些信息,因此你会看到这条消息。
- 验证账户状态:sudo grep cx /etc/shadow
passwd -uf jack passwd -uf jack //openEuler 在这里做了安全加强,必须加上 -f 强制解锁ubuntu版本chage -l jack chage 命令查看编辑密码过期时间编辑用户过期时间,其它参数说明-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。-M 密码保持有效的最大天数。-W 用户密码到期前,提前收到警告信息的天数。-E 帐号到期的日期。过了这天,此帐号将不可用。-d 上一次更改的日期-I 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。-l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
- 用户名: 是用户在系统中的标识符,通常用于登录和文件权限管理。
- 私有组: 默认情况下,Linux 会为每个用户创建一个同名的组,这个组被称为用户的私有组。它的主要作用是简化权限管理,使得用户能够轻松管理自己的文件和目录
用户组管理
groupadd hatest 创建 hatest 组,且将用户 tony 、 jack 加到 hatest 组里面gpasswd -M tony,jack hatesttail -1 /etc/group # 查看用户组是否创建成功groupadd group1 用于创建新用户组groupdel group1 删除用户组groupmod -g 102 group2 更改用户组 IDcat /etc/group 查看用户组编辑一个文本用户文件,以 root 身份执行命令 newusers,从刚创建的用户文件 user.txt 中导入数据,创建用户查看用户信息
查看用户账号信息文件 /etc/passwd cat /etc/passwd查看用户账号信息加密文件 /etc/shadow cat /etc/shadow查看组信息文件 /etc/group cat /etc/group查看组信息加密文件 /etc/gshadow cat /etc/gshadow将 /test 目录修改为公共共享目录即给其设置 t 位权限位 chmod 1777 /test将文件 file1 和 file2 设置权限为 755 chmod 755 /test/file1 /test/file2查看其默认的权限及归属 ls -l / | grep test将文件 file1 设为所有人皆可读取 chmod ugo+r file1chmod a+r file1将文件 file1 与 file2 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 chmod ug+w,o-w file1 file2将目前目录下的所有文件与子目录皆设为任何人可读取 chmod -R a+r *将文件 file1 的所属用户改为 jack ,所属用户组改为 hatest 组 chown jack:hatest /test/file1修改文件群组属性 chgrp -v bin file1通过 umask 来查看为修改权限掩码前 umask 值 umask使用 umask 命令进行权限的修改 umask 022
openEuler软件管理
配置yum源
1.进入 yum repo 目录
2.新建名为 openeuler 的 repo
3.在文件最后输入以下代码,保存退出
name=openeuler
baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/everything/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS/everything/x86_64/4.输入如下命令刷新列出软件列表。yum list al
使用 RPM 命令管理软件
一.RPM 查询命令
1.执行以下命令, 通过 yum 和 rpm 方式查询 openjdk 包名称2.查询 openjdk 是否安装
rpm -q java-1.8.0-openjdk-1.8.0.242.b08-1.h5.oe1.x86_64.rpm
二.RPM 安装命令
1.执行以下命令,下载 openjdk 和 zziplib 安装包
wget https://repo.openeuler.org/openEuler-20.03-LTS/everything/x86_64/Packages/java-1.8.0-openjdk-1.8.0.242.b08-1.h5.oe1.x86_64.rpm
wget https://repo.openeuler.org/openEuler-20.03-LTS/everything/x86_64/Packages/zziplib-0.13.69-5.oe1.x86_64.rpm
2.rpm 安装 openjdk 1.8,结果无法解决软件包的依赖关系
rpm -ivh java-1.8.0-openjdk-1.8.0.242.b08-1.h5.oe1. x86_64.rpm
3.使用 yum 安装 openjdk
4.验证 openjdk 安装成功
5.使用 rpm 安装 zziplib
3.4.5步没安装成功
三. RPM 升级命令
执行以下命令,升级 openjdk
rpm -Uvh java-1.8.0-openjdk-1.8.0.242.b08-1.h5.oe1.x86_64.rpm执行以下命令,升级 zziplib
rpm -Uvh zziplib-0.13.69-5.oe1.x86_64.rpm
四.RPM 常用参数
查询已安装的软件包中的文件列表和完整目录
rpm -ql python3-libxml2-2.9.8-9.oe1.x86_64查询软件包的详细信息
rpm -qi python3-libxml2-2.9.8-9.oe1.x86_64五.RPM 卸载命令
执行以下命令, 显示已安装 zziplib
rpm -qa | grep zziplib卸载 zziplib
rpm -e zziplib-0.13.69-5.oe1.x86_64再次输入“ rpm -qa | grep zziplib”有报错提示未安装,说明 zziplib 已经卸载
DNF 管理软件包
1.使用 winscp 工具将 openEuler-20.03-LTS-x86_64-dvd.iso 上传至 openEuler01 虚拟机的
/root 目录下, 然后执行如下命令挂载 ISOmount -o loop /root/openEuler-20.03-LTS-x86_64-dvd.iso /mnt/
执行以下命令,查看 dnf 配置文件内容
cat /etc/dnf/dnf.conf
添加软件源
dnf config-manager --add-repo file:///mnt/
使用命令 vim /etc/yum.repos.d/mnt_.repo 打开编辑文件,在最后添加以下代码
gpgcheck=1
gpgkey=file:///mnt/RPM-GPG-KEY-openEuler出了点bug
安装个人网盘应用
一.安装依赖组件
dnf install -y unzip curl wget bash-completion policycoreutils-python-utils mlocatebzip2
二.安装 Apache 服务器
执行以下命令,安装 Apache web 服务器
dnf install -y httpd
三.启动 Apache 网络服务
systemctl enable httpd.service
systemctl start httpd.service四.安装 PHP
执行以下命令,重置并安装 PHP
dnf install -y php php-devel