1.Linux是多用户的操作系统,正如在Windows系统中可以进行用户账号的切换,Linux同样允许多用户操作。在Linux服务器环境中,通常由多名运维人员共同管理,而这些运维人员各自拥有不同的权限和级别。因此,我们可以根据每个用户的角色、职位和需求,为他们分配相应的权限,以确保服务器的安全性和有效管理。
2.在登陆Ubuntu时,会填写全名、用户名、密码等,所创建的这个用户就是默认用户,其中全名可以类似为一个昵称,用户名为主机名(较正式,不可随意更改)。
3.用户大体上分为三种,分别是:
①普通用户(Ordinary User):这是系统中最常见的用户类型,拥有执行日常任务所需的权限,但通常没有修改系统设置或访问其他用户文件的权限。
②超级用户(Superuser):也被称为root用户,是系统的最高权限用户。超级用户可以执行系统上的所有命令,包括系统配置、文件访问和用户管理等。(用户名就为root)
③系统用户(System User):这些用户通常不用于登录,而是为运行系统服务和应用程序而创建的。
我们在注册Ubuntu时创建的用户是哪一个呢?——旧版本可以先注册root用户后注册其他用户(普通用户),而新版本无法注册root用户,因为其权限很高,日常使用无需过多权限,避免误操作。
4.在Linux系统中,root用户是具有最高权限的超级用户,通常只在需要进行系统级管理操作时使用。什么时候需要使用root用户?
-
系统维护和管理:
- 安装、更新或删除软件包,特别是那些需要写入系统目录或更改系统配置的软件。
- 修改系统文件和目录,比如
/etc下的配置文件。 - 管理用户账户和用户组,包括添加、删除用户或更改用户权限。
- 执行系统级别的任务,如磁盘分区、格式化或挂载文件系统。
-
故障排除和修复:
- 解决系统启动问题,编辑启动加载器的配置文件,如
grub。 - 修复文件系统错误或处理磁盘空间不足的情况。
- 清除系统日志或重置系统设置,以恢复系统正常运行。
- 解决系统启动问题,编辑启动加载器的配置文件,如
-
安全相关操作:
- 安装或更新系统安全补丁。
- 配置防火墙规则或SELinux策略。
- 审查系统日志,监控潜在的安全威胁。
-
资源密集型操作:
- 执行需要大量系统资源的操作,如构建大型软件项目或进行系统备份。
通常在这些场景下使用root用户或相应的管理员权限,因为这些操作涉及到系统、服务器的关键部分,足以影响到整个系统的安全性和稳定性。然而,由于root用户的权限极高,因此在非必要的时刻应避免使用root用户,以减少误操作带来的风险。相反,我们通常通过sudo命令让普通用户在需要时临时提升权限,以执行特定的管理任务。
5.用户的添加(需要root权限)
useradd 用户名

由上图我们可知,权限不足,需要提升权限,我们可以通过sudo来暂时提高普通用户的权限。
拓展:sudo是什么?
sudo(superuser do)是在类Unix操作系统中(包括Linux和macOS)常用的一个命令,它允许经过授权的用户以系统管理员(通常是root用户)的权限来运行程序或命令。sudo提供了一种安全的方式来暂时提升用户的权限,而无需用户实际登录为root账户。
sudo使用时间戳文件来记录用户最近一次成功使用sudo的时间。默认情况下,这个时间戳的有效期大约是5分钟。在这段时间内,用户可以继续使用sudo而不需要重新输入密码。
sudo的基本语法是:
sudo [options] command [arguments]
这里的command是你想以root或其他用户身份运行的命令,arguments是传递给命令的参数。
eg:
如果你想以root用户身份运行apt-get命令来安装软件包,你可以这样做:
sudo apt-get install software-package
这将提示你输入你注册时设置的用户密码(非root的密码)。
sudo的选项
sudo有许多选项可以用来定制其行为,其中一些最常用的是:
-u或--user:允许你指定以哪个用户的身份运行命令。-i或--login:模拟登录环境,通常用于需要环境变量的脚本。-s或--shell:启动一个交互式的shell会话,通常是root的shell。
eg:
以另一个用户身份运行命令ls -l(以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等。):
sudo -u otheruser ls -l
一般的系统上都默认安装了 sudo 实用程序
——————————————————————————————————
接拓展前:
故输入命令并输入密码即可:
sudo useradd user1

可通过cat /etc/passwd命令查看所有用户(最后一行就是新建的用户)

使用sudo passwd user1来设定该用户的密码。(若3~5前验证过密码则不会验证,否则注意输入的是新密码还是原来用户的密码)
PS:如果出现“密码未通过字典检查”,可直接忽略,再次输入一遍即可.

6.添加用户时的选项
-c,--comment "comment": 添加用户信息。-d,--home-dir directory: 指定用户的家目录。-m,--create-home: 如果未指定家目录,则创建默认的家目录。-s,--shell shell: 指定用户的登录shell。-u,--uid uid: 指定用户的UID。-g,--gid gid: 指定用户的主用户组。-G,--groups groups: 将用户添加到额外的用户组。-p,--password password: 指定加密的密码。-e,--expiredate date: 指定账户的过期日期。-L,--inactive days: 指定密码过期后多少天内仍可登录。-f,--inactive days: 指定从密码过期开始,多少天后账户失效。-M,--no-create-home: 不创建家目录。-N,--no-log-init: 不记录到/var/log/lastlog和/var/log/faillog。-U,--no-user-group: 不创建与用户同名的用户组。
比如,
①创建家目录-m,需要在创建新用户时添加选项。
sudo useradd -m user2
这时进入到/home,并ls就可以看到除了suki以外还有user2。
②指定所在组-g:
输入id回车后可以查看当前用户(suki)的信息,其中gid中1000就是组id,suki就是组的名字,与用户名一样。(也可以查id user1)

sudo useradd -g user2 user3
把user3分到了user2组中,这时再输入id user3,就会发现gid中括号内为user2。
PS:只输入命令passwd就是设置当前用户的密码。(退出是ctrl+D)



















