Linux系统的用户组管理和权限以及创建用户

1.Linux是多用户的操作系统,正如在Windows系统中可以进行用户账号的切换,Linux同样允许多用户操作。在Linux服务器环境中,通常由多名运维人员共同管理,而这些运维人员各自拥有不同的权限和级别。因此,我们可以根据每个用户的角色、职位和需求,为他们分配相应的权限,以确保服务器的安全性和有效管理。

2.在登陆Ubuntu时,会填写全名、用户名、密码等,所创建的这个用户就是默认用户,其中全名可以类似为一个昵称,用户名为主机名(较正式,不可随意更改)。

3.用户大体上分为三种,分别是:

①普通用户(Ordinary User):这是系统中最常见的用户类型,拥有执行日常任务所需的权限,但通常没有修改系统设置或访问其他用户文件的权限。

②超级用户(Superuser):也被称为root用户,是系统的最高权限用户。超级用户可以执行系统上的所有命令,包括系统配置、文件访问和用户管理等。(用户名就为root)

③系统用户(System User):这些用户通常不用于登录,而是为运行系统服务和应用程序而创建的。

我们在注册Ubuntu时创建的用户是哪一个呢?——旧版本可以先注册root用户后注册其他用户(普通用户),而新版本无法注册root用户,因为其权限很高,日常使用无需过多权限,避免误操作。

4.在Linux系统中,root用户是具有最高权限的超级用户,通常只在需要进行系统级管理操作时使用。什么时候需要使用root用户?

  1. 系统维护和管理

    • 安装、更新或删除软件包,特别是那些需要写入系统目录或更改系统配置的软件。
    • 修改系统文件和目录,比如/etc下的配置文件。
    • 管理用户账户和用户组,包括添加、删除用户或更改用户权限。
    • 执行系统级别的任务,如磁盘分区、格式化或挂载文件系统。
  2. 故障排除和修复

    • 解决系统启动问题,编辑启动加载器的配置文件,如grub
    • 修复文件系统错误或处理磁盘空间不足的情况。
    • 清除系统日志或重置系统设置,以恢复系统正常运行。
  3. 安全相关操作

    • 安装或更新系统安全补丁。
    • 配置防火墙规则或SELinux策略。
    • 审查系统日志,监控潜在的安全威胁。
  4. 资源密集型操作

    • 执行需要大量系统资源的操作,如构建大型软件项目或进行系统备份。

        通常在这些场景下使用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)

  • 11
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值