• Ubuntu - 用户和权限


    sudo

    sudo(Super User Do)是在Linux和Unix系统中用于执行具有超级用户(root)权限的命令的命令。它允许普通用户以特权身份运行特定命令,通常需要输入密码以确认其身份。

    sudo 是一种安全的方式,用于限制哪些用户可以执行特权操作,以减少潜在的系统损害。通常,只有系统管理员或有需要的用户才能使用 sudo

    以下是一些 sudo 命令的常见用法:

    1. 以超级用户(root)身份运行单个命令

    sudo command_to_run

    例如,要以超级用户权限安装软件,你可以运行:

    sudo apt-get install package_name

    1. 切换到超级用户(root)模式

    sudo -i

    这将打开一个新的Shell会话,将以超级用户身份运行所有命令。要退出超级用户模式,只需输入 exit

    1. 编辑系统文件

    sudo nano /etc/file_to_edit

    这将以超级用户权限使用文本编辑器打开文件以进行编辑。你可以使用 vimnano 或其他文本编辑器。

    1. 管理系统服务

    sudo systemctl start|stop|restart service_name

    这将启动、停止或重启特定系统服务。

    1. 管理用户和组
    sudo useradd new_username
    sudo userdel existing_username
    sudo usermod -aG group_name username
    
    
    • 1
    • 2
    • 3
    • 4

    这些命令用于管理用户和组,以及将用户添加到组中。

    使用 sudo 时要小心,因为拥有超级用户权限的用户可以对系统进行故障排除和更改,而错误的操作可能导致系统不稳定。在使用 sudo 时,请确保知道你在做什么,并仔细阅读所要运行的命令,以避免不必要的风险。

    useradd

    useradd 命令来创建新用户,但它不会自动为用户分配home目录或设置密码。以下是使用 useradd 命令创建用户的基本语法:

    sudo useradd [options] username

    • options:可以包括一些选项,用于指定用户的详细信息,如家目录、默认Shell等。
    • username:要创建的新用户的用户名。

    以下是一些常用的 useradd 选项:

    • -m:自动为用户创建家目录。
    • -s:指定用户的默认Shell。例如,-s /bin/bash 会将用户的默认Shell设置为Bash。
    • -G:指定用户要加入的附加组。多个组可以用逗号分隔。
    • -d:指定用户的家目录路径。
    • -p:指定用户的加密密码。密码通常使用 passwd 命令设置,而不是直接在 useradd 命令中指定密码。

    以下是一个示例,创建一个名为 “newuser” 的新用户,并为其分配家目录:

    sudo useradd -m newuser

    接下来,使用 passwd 命令为新用户设置密码:

    sudo passwd newuser

    输入新密码,然后再次确认密码。

    如果需要为新用户添加到其他组,可以使用 -G 选项:

    sudo useradd -m -G group1,group2 newuser

    创建新用户后,新用户将能够使用其用户名和密码登录到系统,以及访问其家目录。请注意,管理用户和密码时要小心,确保密码强度和安全性。

    passwd

    passwd 是一个用于更改用户密码的命令,或者具有管理员权限的用户可以更改其他用户的密码。以下是 passwd 命令的一些常见用法:

    1. 更改当前用户的密码

    用户可以使用 passwd 命令来更改自己的密码。在终端中,只需键入:

    passwd

    然后按照提示输入当前密码,然后输入新密码两次。

    1. 更改其他用户的密码

    如果有管理员权限,可以使用 passwd 命令来更改其他用户的密码。在终端中,使用以下命令:

    sudo passwd username

    其中 username 是要更改密码的用户的用户名。然后按照提示输入新密码两次。

    1. 强制用户更改密码

    如果需要强制用户在下次登录时更改密码,使用以下命令:

    sudo passwd -e username

    这将使用户的密码在下次登录时过期,用户将被要求立即更改密码。

    1. 查看用户密码策略

    使用以下命令来查看密码策略的详细信息:

    sudo chage -l username

    这将显示密码过期日期、最小和最大密码年龄等信息。

    1. 锁定用户账户

    使用以下命令来锁定用户账户,使用户无法登录:

    sudo passwd -l username

    要解锁用户账户,使用以下命令:

    sudo passwd -u username

    chmod

    chmod 用于更改文件或目录权限的命令。用来分配或更改文件的访问权限,以确定哪些用户或用户组可以读取、写入或执行文件。 chmod 命令可以通过符号模式或八进制模式进行操作。以下是一些常见的 chmod 命令用法:

    符号模式:

    • 添加权限

      chmod +[权限] [文件名]

      例如,要添加执行权限给文件 file.txt,可以使用:

      chmod +x file.txt

    • 删除权限

      chmod -[权限] [文件名]

      例如,要删除写入权限从文件 file.txt,可以使用:

      chmod -w file.txt

    • 设置权限

      chmod [权限] [文件名]

      例如,要将文件 file.txt 的权限设置为读取和写入,可以使用:

      chmod rw file.txt

    • 同时设置多个权限

      chmod [权限1][权限2] [文件名]

      例如,要为文件 file.txt 设置读取和执行权限,可以使用:

      chmod rx file.txt

    八进制模式:

    • 分配权限

      chmod [八进制权限] [文件名]

      在八进制模式中,每个权限都用数字表示,如下所示:

      • 4:读权限
      • 2:写权限
      • 1:执行权限

      例如,为了将文件 file.txt 的权限设置为读取和写入权限,可以使用:

      chmod 600 file.txt

    • 递归更改权限

      递归更改目录及其子目录的权限,使用 -R--recursive 选项:

      chmod -R [权限] [目录名]

      例如,要递归地将目录 mydir 及其所有子目录中的文件的权限设置为只读,可以使用:

      chmod -R 444 mydir

    更改文件或目录的权限时要小心,确保不会破坏系统或文件的安全性。通常,只有系统管理员或文件的所有者应具有更改权限的权利。

    chown

    chown 用于更改文件或目录的所有者和组的命令。分配文件的所有者(user)和组(group)权限。以下是一些常见的 chown 命令用法:

    更改所有者:

    sudo chown [新用户] [文件名/目录名]

    • 新用户 是要将文件或目录的所有权分配给的用户名。

    例如,要将文件 file.txt 的所有权更改为用户 newuser,可以使用:

    sudo chown newuser file.txt

    更改组:

    sudo chown :[新组] [文件名/目录名]

    • 新组 是要将文件或目录的组权限分配给的组名。

    例如,要将文件 file.txt 的组权限更改为组 newgroup,可以使用:

    sudo chown :newgroup file.txt

    更改所有者和组:

    sudo chown [新用户]:[新组] [文件名/目录名]

    • 新用户 是新的文件或目录所有者的用户名。
    • 新组 是新的文件或目录组的组名。

    例如,要将文件 file.txt 的所有者更改为 newuser 并将组更改为 newgroup,可以使用:

    sudo chown newuser:newgroup file.txt

    递归更改权限:

    递归地更改目录及其子目录中的文件的所有者和组,可以使用 -R--recursive 选项:

    sudo chown -R [新用户]:[新组] [目录名]

    例如,要递归地将目录 mydir 及其所有子目录中的文件的所有者和组设置为 newusernewgroup,可以使用:

    sudo chown -R newuser:newgroup mydir

    请小心使用 chown 命令,确保有足够的权限来更改文件或目录的所有者和组。通常,只有系统管理员或文件的所有者应具有更改所有者和组的权利。

    groups

    groups 命令用于查看当前用户属于哪些用户组(组名)。在Unix、Linux和类Unix系统中,每个用户可以同时属于一个或多个用户组。

    要查看当前用户属于的用户组,只需在终端中输入以下命令:

    groups

    系统将列出当前用户所属的所有用户组。

    例如,如果输出包含以下内容:

    user adm cdrom sudo dip plugdev lpadmin sambashare

    这表示用户 user 同时属于 admcdromsudodipplugdevlpadminsambashare 这些用户组。每个组在系统中通常有特定的权限和访问控制。

    使用 id 命令来查看用户的详细信息,包括用户的 UID(用户标识符)、GID(组标识符)、主组以及其他附加组:

    id

    这将显示包括用户和组的详细信息。

    su

    su 用于切换用户身份。通常,它用于从当前用户切换到另一个用户,通常是超级用户(root)或其他普通用户。以下是 su 命令的基本用法:

    切换到超级用户(root):

    su

    当运行 su 命令而不指定要切换到的用户时,默认情况下,它会尝试切换到超级用户(root)身份。需要输入超级用户的密码,以获得超级用户的权限。在某些系统上,需要明确使用 su - 以获取完整的超级用户环境。

    su -

    切换到其他用户:

    使用 su 命令切换到其他普通用户的身份。例如,要切换到用户 newuser 的身份,可以运行:

    su newuser

    然后,输入 newuser 用户的密码以获得其权限。

    切换用户并启动Shell:

    通常,su 命令还可以用于切换用户并启动新的Shell会话,以执行一系列命令。例如:

    su - newuser -c "command_to_run"

    这将切换到用户 newuser 的身份,然后运行指定的命令。

    su 命令通常需要超级用户权限,因此需要输入超级用户密码。在某些系统上,用户帐户必须在超级用户(root)的 /etc/sudoers 文件中配置为允许使用 su 命令。此外,su 命令的使用可能会受到系统和安全策略的限制。通常情况下,建议使用 sudo 来执行特权操作,因为它允许有更精细的权限控制。

  • 相关阅读:
    手把手教你搭建 Ceph+JuiceFS
    PostgreSQL 跨库查询配置
    微信小程序使用TCP通信
    一起Talk Android吧(第四百三十一回:Java8中的日期类)
    ChatGPT说明与介绍与ChatGPT如何实现的
    基于灰狼算法优化的lssvm回归预测-附代码
    how to find gcc openbug
    【系统架构设计】计算机公共基础知识: 1 嵌入式系统
    【windows Docker 安装mysql:只需3条命令】
    amis 事件动作 和 行为按钮 常用用法
  • 原文地址:https://blog.csdn.net/qq_43116031/article/details/133858239