【Linux入门】账号、权限管理

管理用户账号和组账号

概述

linux基于用户身份对资源访问进行控制

  • 用户账号:
    超级用户(root、管理员) 、普通用户(一般用户)、 程序用户(特定的低权限账号保证程序运行,通常不显示在登录界面)
    su -命令切换root身份,但是shell环境、环境变量、工作目录等还是普通用户的shell;
    su -用户 切换用户
    su -
    echo $PATH 查看当前系统环境
  • 组账号:
    基本组(私有组)基本组账号只能有一个 一般为创建用户时指定的组
    /etc/
    附加组(公共组)用户除了基本组以外,额外添加指定的组,可有可无,也可以有多个
  • UDI和GID:
    UID: User IDentity,用户标识号
    GID:Group IDentity,组标识号

用户帐号文件

用户账号文件/etc/passwd

基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改。在早期的UNIX操作系统中,用户帐号的密码信息是保存在passwd文件中的,不法用户可以很容易的获取密码字串并进行暴力破解,因此存在一定的安全隐患。后来经改进后,将密码转存入专门的shadow文件中,而passwd文件中仅保留密码占位符“x”。
文件位置:/etc/passwd
每一行对应一个用户的帐号记录

root:x:0:0:root:/root:/bin/bash
  • 字段1-root:用户帐号的名称
  • 字段2-x:用户密码占位符“x”
  • 字段3-0:用户帐号的UID号
  • 字段4-0:**所属基本组帐号的GID号
  • 字段5-root:用户全名(登录)
  • 字段6-/root:宿主目录
  • 字段7-/bin/bash:登录Shell信息
  • 注意/bin/bash为可登陆系统,/sbin/nologin/bin/false为禁止用户登陆系统

用户账号文件/etc/shadow

默认只有 root 用户能够读取 shadow 文件中的内容,且不允许直接编辑该文件中的内容。
文件位置:/etc/shadow
保存用户的密码、账号有效期等信息
每一行对应一个用户的密码记录

root:$6$VyOUGqOC$v5HlLM1wagZC/FwGfnrtJFnlT:18445:0:99999:7:::
  • 字段1-root:用户帐号的名称
  • 字段2-$6$VyOUGqOC$v5HlLM1wagZC/FwGfnrtJFnlT:使用MD5加密的密码字串信息,当为*!!时表示此用户不能登录到系统。
  • 若该字段内容为空,则该用户无须密码即可登录系统
  • 字段3-18445:上次修改密码的时间,表示从1970年01月01日算起到最近一次修改密码时间隔的天数
  • 字段4-0:密码的最短有效天数,自本次修改密码后,必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制
  • 字段5-99999:密码的最长有效天数,自本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制
  • 字段6-7:提前多少天警告用户密码将过期,默认值为7
  • 字段7 :在密码过期之后多少天禁用此用户
  • 字段8 :帐号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算),默认值为空,表示账号永久可用。
  • 字段9 :保留字段(未使用)
    所有伪用户的密码都是 !!*,代表没有密码是不能登录的。
    当然,新创建的用户如果不设定密码,那么它的密码项也是 !!,代表这个用户没有密码可以登录
    不用登陆密码这是个伪命题,普通用户之间切换必须要密码,除非passwd -d

添加用户账号 useradd

/etc/passwd 文件和/etc/shadow 文件的末尾增加该用户账号的记录。
useradd 是一个在 Linux 和类 Unix 系统中用于创建新用户的命令行工具。它允许系统管理员或具有适当权限的用户创建新的用户账户,并可以指定一系列的配置选项,如用户的家目录、登录 shell、用户组等。

基本用法

基本的 useradd 命令格式如下:

useradd [选项] 用户名
  • 用户名:你想要创建的新用户的用户名。

常用选项

常用选项含义
-m创建用户时自动创建用户的家目录(通常为 /home/用户名)。
-d /path/to/dir指定用户的家目录路径,如果路径不存在,则不会创建用户。
-s /bin/shell指定用户的登录 shell,/bin/shell 可以是 /bin/bash/bin/sh/bin/zsh 等。
-g 组名将用户添加到指定的初始登录组。
-G 组名,组名,...将用户添加到指定的附加组中。
-c "注释"为新用户添加注释字段,通常用于描述用户信息。
-u UID为新用户指定一个唯一的用户 ID(UID)。

示例

  1. 创建一个新用户,并自动创建家目录
useradd -m 新用户名
  1. 创建用户并指定家目录和登录 shell
useradd -m -d /home/自定义目录 -s /bin/bash 新用户名
  1. 将新用户添加到特定的用户组中
useradd -m -g 组名 新用户名
  1. 将新用户添加到多个组中
useradd -m -g 初始组 -G 组1,组2 新用户名

注意

  • 在使用 useradd 创建用户时,通常需要 root 权限。因此,可能需要在命令前加上 sudo(如果不是以 root 用户身份登录)
  • 若未明确指定用户的宿主目录,则在/home目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件。
  • 若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/group /etc/gshadow 文件中。
  • 创建用户后,可能还需要为新用户设置密码。这可以通过 passwd 命令完成:passwd 用户名

为用户账号设置密码 passwd

passwd命令是Linux和类Unix系统中用于设置用户密码的命令行工具。root用户可以指定用户名作为参数,对指定账号的密码进行管理。普通用户却只能执行单独的“passwd”命令修改自己的密码。

基本用法

  • 无选项:当不带任何选项和参数直接运行passwd命令时,它会提示当前登录用户更改自己的密码。
  • 带用户名passwd 用户名,管理员可以使用此格式来更改指定用户的密码。

常用选项

常用选项含义
-l锁定用户账户,禁止用户登录。只有root用户或具有相应权限的用户才能执行此操作。
-u解锁用户账户,允许用户登录。同样,只有root用户或具有相应权限的用户才能执行此操作。
-d删除用户的密码。执行此操作后,用户将无需密码即可登录。此选项通常仅对系统管理员可用。
-e强制用户在下次登录时更改密码。这对于新创建的用户或需要定期更改密码的用户很有用。
-S显示用户密码的状态信息,如密码是否已设置、密码过期时间等。这对于管理员监控用户密码状态非常有用。
-x设置密码的最大使用期限(天数)。超过此期限后,用户需要更改密码才能继续登录。
-n设置密码的最短使用期限(天数)。在更改密码后,用户必须等待指定的天数才能再次更改密码。
-w设置密码过期前的警告天数。在密码过期前的指定天数内,用户登录时会收到密码即将过期的警告。
-i设置密码过期后的不活动期限(天数)。如果用户在密码过期后的一段时间内没有更改密码,则账户将被禁用。

示例

  1. 更改当前用户的密码

    passwd
    

    执行后,系统会提示你输入当前密码和新密码。

  2. 更改指定用户的密码(仅限管理员):

    sudo passwd 用户名
    

    执行后,系统会提示你输入新密码(无需输入原密码,因为你是以管理员身份执行)。

  3. 锁定用户账户

    sudo passwd -l 用户名
    

    执行后,用户将无法登录系统。

  4. 解锁用户账户

    sudo passwd -u 用户名
    

    执行后,用户将能够重新登录系统。

  5. 查看用户密码状态

    sudo passwd -S 用户名
    

    执行后,系统会显示用户的密码状态信息。

补充

  • 免交互设置密码
echo 123 | passwd --stdin 用户名
  • 执行passwd命令时,通常需要root权限或sudo权限,以便进行特权操作。
  • 在更改密码时,根据系统配置的安全策略,密码可能需要符合一定的复杂度要求(如包含数字、大写字母、特殊字符等)。
  • 对于批量设置用户密码的情况,可以使用chpasswd命令,它可以从文本文件中读取用户名和密码的列表,并将其批量应用于系统中的用户。
    总之,passwd命令是Linux和类Unix系统中管理用户密码的重要工具,它提供了丰富的选项来满足不同场景下的需求。

修改用户账号属性 usermod

基本用法

usermod [选项] 用户名

常用选项

常用选项含义
-c, --comment COMMENT为用户账户添加或更改注释信息。例如,usermod -c "New comment" username
-d, --home HOME_DIR指定用户的新家目录。如果新家目录不存在,且没有使用-m选项,则命令不会执行成功。例如,usermod -d /new/home/directory username
-e, --expiredate EXPIRE_DATE设置用户账户的过期日期。格式为YYYY-MM-DD。例如,usermod -e 2024-12-31 username
-f, --inactive INACTIVE设置用户账户在密码过期后多少天不活动则禁用账户。例如,usermod -f 30 username
-g, --gid GROUP修改用户的主用户组。GROUP可以是组名或GID。例如,usermod -g newgroup username
-G, --groups GROUPS将用户添加到指定的附加用户组中。GROUPS是一个逗号分隔的组名列表。注意,如果仅使用-G选项而不带-a,则会替换用户当前的所有附加组。例如,usermod -aG group1,group2 username
-l, --login NEW_LOGIN修改用户的登录名(即用户名)。例如,usermod -l newloginname oldloginname
-L, --lock锁定用户账户,禁止用户登录。这实际上是修改了/etc/shadow文件中用户密码的加密串前添加了一个!*字符。例如,usermod -L username
-m, --move-home-d选项一起使用时,将用户旧的家目录内容移动到新的家目录中。如果新家目录不存在,则创建它。例如,usermod -d /new/home -m username
-s, --shell SHELL修改用户的登录Shell。例如,usermod -s /bin/zsh username
-u, --uid UID修改用户的用户ID(UID)。例如,usermod -u 1001 username
-U, --unlock解锁用户账户,允许用户登录。这移除了/etc/shadow文件中用户密码加密串前的!*字符。例如,usermod -U username

示例

  1. 修改用户登录名

    sudo usermod -l newusername oldusername
    

    此命令将oldusername的登录名更改为newusername

  2. 修改用户家目录

    sudo usermod -d /new/home/directory -m username
    

    此命令将username的家目录更改为/new/home/directory,并将旧家目录的内容移动到新目录中。

  3. 将用户添加到附加组

    sudo usermod -aG groupname username
    

    此命令将username添加到groupname附加组中,同时保留其他附加组。

  4. 锁定用户账户

    sudo usermod -L username
    

    此命令锁定username账户,禁止用户登录。

  5. 解锁用户账户

    sudo usermod -U username
    

    此命令解锁username账户,允许用户登录。

  6. 修改用户默认Shell

    sudo usermod -s /bin/zsh username
    

    此命令将username的默认Shell更改为/bin/zsh

  7. 锁定用户账户

    sudo usermod -L username
    

    此命令将username的账户锁定。

  8. 修改用户的UIDl

sudo usermod -u 1003 username

此命令将username的默l更改为UID为1003

注意事项

  • 在使用usermod命令时,通常需要以root用户身份执行或使用sudo命令。
  • 修改用户账户属性时,应确保不会违反系统的安全策略或导致意外的系统行为。
  • 在进行重要更改之前,建议备份相关文件或数据以防万一。
  • 某些更改(如修改UID或用户名)可能会影响用户的文件所有权和权限,因此在执行这些操作时应格外小心。
    出现-bash-4.2$的解决方法:
    -bash-4.2表示使用的是bash shell程序的版本号是4.2,$表示当前用户是普通用户
[root@localhost home]# cp /etc/skel/.bashrc /home/test/
[root@localhost home]# cp /etc/skel/.bash_profile /home/test/
[root@localhost home]# chown test:test /home/test/.bash_profile
[root@localhost home]# chown test:test /home/test/.bashrc

删除用户账号 userdel

userdel是Linux系统中用于删除用户账户的命令。以下是关于userdel命令的详细解释,包括其基本用法、常用选项、使用示例及注意事项。

基本用法

userdel [选项] 用户名

常用选项

常用选项含义
-r, --remove删除用户的同时,删除用户的主目录及其包含的所有文件。如果不使用此选项,则默认仅删除用户账户,不删除其主目录。
-f, --force强制删除用户账户,即使用户当前已登录或有运行的进程。请注意,使用此选项可能会导致数据丢失,因为正在运行的进程可能未正确关闭。
-Z, --selinux-user删除用户时,同时删除其SELinux安全上下文。这个选项通常用于具有SELinux支持的系统上。
-h, --help显示userdel命令的帮助信息,包括可用的选项和用法说明。
-R, --root CHROOT_DIR指定用户的家目录的根路径,这个选项较少使用,主要用于特殊配置的环境。

示例

  1. 删除用户但不删除其主目录
    sudo userdel 用户名
    
    这个命令会删除指定的用户账户,但不会删除其主目录及其文件。
  2. 删除用户及其主目录
    sudo userdel -r 用户名
    
    这个命令会删除指定的用户账户,并同时删除其主目录及其包含的所有文件。
  3. 强制删除用户
    sudo userdel -f 用户名
    
    如果用户当前已登录或有运行的进程,此命令会强制删除用户账户。但请注意,这可能会导致数据丢失或系统不稳定。

注意事项

  • 在执行userdel命令之前,请确保您有足够的权限(通常是root权限或sudo权限)。
  • 默认情况下,userdel命令仅删除用户账户,不删除用户的主目录。如果您想同时删除主目录,请使用-r选项。
  • 强制删除用户(使用-f选项)可能会导致数据丢失或系统不稳定,因此请谨慎使用。
  • 在删除用户之前,请确保已经备份了任何重要数据,以防万一。
  • userdel命令不会删除与用户账户相关联的其他系统资源,如数据库记录、网络配置文件等。如果需要删除这些资源,请手动处理。

补充

在当前bash环境下读取并执行/etc/profile中的命令。

source /etc/profile

用户账号的初始配置文件:

/etc/profile

/etc/profile是系统的全局配置文件,对所有用户都有效。它包含一些系统级别的环境变量和默认的系统级别的 shell 配置。

vim /etc/profile
alias cat='cat -n'
source /etc/profile

用户登录到系统时,系统会首先执行/etc/profile文件,然后再执行该用户的个人配置文件(如.bashrc等)。所以/etc/profile中设置的环境变量和命令对于所有用户都是生效的。
这个文件通常被用来设置一些全局环境变量,例如PATH,LANG等,以及一些系统范围的配置,如umask和系统范围的别名。
~/.bash_profile:该文件是用户登录时被执行的脚本,可以用来设置环境变量和一些常用的命令别名等信息。
通常用来为用户定制个性化的系统环境。

vim .bash_profile
alias cat='cat -n'
source .bash_profile

修改之后重新登录shell即可
~/.bashrc:该文件是在每个新的bash shell打开时被执行的脚本,
通常用来定义一些用户自己的shell函数、命令别名、路径、颜色等等。

vim .bashrc
alias cat='cat -n'
source .bashrc

修改之后重新登录shell即可
~/.bash_logout:该文件是在用户退出bash shell时被执行的脚本,
通常用来清理一些临时文件、关闭一些服务等等。
/etc/bashrc:该文件是系统全局的bash配置文件,对所有用户都有效。
可以在该文件中添加系统全局的环境变量、别名等信息,通常用来为所有用户定制系统级别的配置信息。
需要注意的是,这些配置文件是在不同的环境下被执行的,执行的顺序也不同。
通常在登录系统时:
系统会首先执行/etc/profile文件
然后/.bash_profile文件会被执行,
然后再执行/.bashrc文件。
而在退出bash shell时,~/.bash_logout文件会被执行。

组账号文件

一、组账号文件概述

Linux系统中的组账号文件主要有两个:/etc/group/etc/gshadow。这两个文件分别存储了组账号的基本信息和密码信息(尽管/etc/gshadow中的密码信息通常较少使用)。

二、组账号文件内容

  1. /etc/group文件
    • 功能:用于保存组账号的基本信息。
    • 内容:该文件包含了多个字段,通常每行代表一个组的信息,字段之间用冒号(:)分隔。主要字段包括:
      • 组名称:组的唯一标识名。
      • 组密码:通常不使用,设置为x表示密码存储在/etc/gshadow文件中。
      • GID(组ID):用于唯一标识每个组的数字。
      • 组成员:属于该组的用户列表,用户之间用逗号(,)分隔。
    • 示例
      groupname:x:1001:user1,user2
      
      这表示有一个名为groupname的组,其GID为1001,包含user1user2两个成员。
  2. /etc/gshadow文件
    • 功能:用于保存组账号的密码信息以及组管理员信息。
    • 内容:该文件也包含多个字段,但通常对于大多数组来说,密码字段是空的或未使用的。主要字段包括:
      • 组名称:与/etc/group文件中的组名称相对应。
      • 组密码:如果设置了组密码,将存储在这里。但出于安全考虑,通常不建议为组设置密码。
      • 组管理员:可以管理组成员的用户列表,如果有多个管理员,则用逗号分隔。
      • 组成员:与/etc/group文件中的组成员相同,但通常这里不重复列出。
    • 示例
      groupname:!::user3
      
      这表示groupname组没有设置密码,也没有组管理员,但可能有额外的信息(如user3)存储在特定字段中,尽管这取决于系统配置和文件的具体使用方式。

三、组账号文件的操作

对组账号文件的操作通常通过命令行工具进行,
groupaddgroupmodgroupdel
用于添加、修改、删除组账号
gpasswd命令则用于管理组成员和组密码

grep "postfix" /etc/group
mail:x:12:postfix
postfix:x:89:

字段1:组帐号的名称
字段2:占位符“x”
字段3:组账号的GID号
字段4:组账号包含的用户成员(一般不包括基本组对应的用户帐号),多个成员之间以逗号“,”分隔

  • 添加组账号 groupadd
[root@localhost ~]# groupadd test
[root@localhost ~]# tail -f /etc/group

-g:指定 GID 号

[root@localhost ~]# groupadd -g 88 ky29
[root@localhost ~]# tail -f /etc/group
  • 添加删除组成员 gpasswd

常用选项:

选项含义
-a向组内添加一个用户
-d从组内删除一个用户成员
-M定义组成员列表,以逗号分隔

示例:

[root@localhost ~]# useradd yht
[root@localhost ~]# useradd hcy
[root@localhost ~]# gpasswd -M yht,hcy,qzz dn #将用户yht、hcy和qzz加入到dn用户组中
[root@localhost ~]# cat /etc/group
  • 删除组账号 groupdel:
groupdel test
  • 查询用户所属的组 groups:
groups  [username]
  • 查询用户身份标识 id:
id  [username]

管理文件属性

查询用户帐号的详细信息 finger

需要先进行安装finger软件包

yum install -y finger

常用选项

finger  [用户名]

查询已登录到主机的用户信息:

在Linux或Unix系统中,你可以使用whowusers命令来查看当前登录的用户信息。

  • who 命令:显示当前登录的用户信息,包括用户名、登录的终端、登录时间以及从哪个IP地址登录(如果适用)。

    who
    
  • w 命令:提供比who更详细的信息,包括用户正在执行的命令、登录时间、空闲时间等。

    w
    
  • users 命令:仅列出当前登录的用户名,一行一个。

    users
    

文件/目录的权限

权限类型

rwx 是用于表示文件或目录权限的八进制(octal)表达方式。在 Linux 和 Unix 系统中,文件或目录的权限分为三类:读(read,r)、写(write,w)和执行(execute,x)。每种权限可以分配给文件或目录的所有者、所有者所在的组以及其他用户。
rwx 用来表示这三种权限

权限类型执行
字符表示r--w--x--
二进制表达100010001
八进制表达421

权限可以用三个八进制数字表示,分别对应所有者、组和其他用户的权限。
例如,权限设置为 rwxr-xr-- 的文件表示:

  • 所有者具有读、写和执行权限(4+2+1 = 7);
  • 组用户具有读和执行权限(4+1 = 5);
  • 其他用户只有读权限(4)。


此处我曾纠结八进制与十进制究竟是何种表达,但总之数字未超过8,诸位不必计较,按照十进制的算法得到的结果也是相同的。4,2,1。

用户类别

权限可以针对以下用户类别进行设置:

  • 文件所有者(u):文件的拥有者。
  • 组(g):文件所属的用户组。
  • 其他用户(o):既不是文件所有者也不属于文件所在组的用户。
  • 所有用户(a):文件所有者、文件所在组的用户以及其他所有用户。

更改文件或目录的所有者和/或组

在Linux和类Unix系统中,chown命令用于更改文件或目录的所有者和/或组。这个命令非常强大,因为它允许你以管理员(通常是root用户)的身份修改文件或目录的权限归属。

  1. 更改文件或目录的所有者

    chown 属主 文件或目录
    

    这个命令将指定的文件或目录的所有者更改为属主指定的用户。例如,要将文件example.txt的所有者更改为用户john,你可以使用:

    chown john example.txt
    
  2. 更改文件或目录的组
    有两种方式可以更改文件或目录的组:

    • 使用chown命令直接指定组(但不指定所有者):
      chown :属组 文件或目录
      
      注意冒号:的使用,它表示只更改组而不更改所有者。例如,要将文件example.txt的组更改为developers,你可以使用:
      chown :developers example.txt
      
    • 使用chgrp命令:
      chgrp 属组 文件或目录
      
      这个命令专门用于更改文件或目录的组。例如,同样将文件example.txt的组更改为developers,你可以使用:
      chgrp developers example.txt
      
  3. 同时更改文件或目录的所有者和组

    chown 属主:属组 文件或目录
    

    这个命令允许你同时更改文件或目录的所有者和组。例如,要将文件example.txt的所有者更改为john,并将其组更改为developers,你可以使用:

    chown john:developers example.txt
    

    注意,虽然你提到了chown 属主.属组 文件或目录这种格式,但实际上这并不是chown命令的标准用法。标准的用法是使用冒号:来分隔所有者和组,而不是点.

设置目录和文件的权限 chmod

chmod [ugoa…][±=][rwx] 文件或目录
“ugoa”表示该权限设置所针对的用户类别。
“u”代表文件属主,
“g”代表文件属组内的用户,
“o”代表其他任何用户,
“a”代表所有用户(缺省时为a)。
“±=”表示设置权限的操作动作。“+”代表增加相应权限,“-”代表减少相应权限,“=”代表仅设置对应的权限。
“rwx”是权限的字符组合形式,也可以拆分使用,如“r”“rx”等。
chmod命令是Linux和UNIX系统中用于改变文件或目录权限的命令。通过chmod命令,用户可以控制谁可以对文件或目录进行读取、写入或执行等操作。以下是chmod命令的详细解释和用法:

权限设置方法

chmod命令主要有两种设置权限的方法:

  1. 字母法

    chmod [who] [+ | - | =] [mode] 文件名
    
    • [who]:指定用户类别,可以是u、g、o、a中的一个或多个。
    • [+ | - | =]:指定操作类型,+表示添加权限,-表示删除权限,=表示设置特定权限并取消其他所有权限。
    • [mode]:指定权限,可以是r、w、x中的一个或多个。
      示例:
      给文件所有者添加读、写、执行权限,给同组用户添加读、执行权限,给其他用户添加读权限
chmod u+rwx,g+rx,o+r filename
  1. 数字法
    数字法通过三个八进制数字来表示权限,每个数字分别代表文件所有者、同组用户和其他用户的权限。数字由r(4)、w(2)、x(1)的权重值相加得到。
    chmod [mode] 文件名
    
    • [mode]:三个八进制数字的组合,例如755
      例如,chmod 755 filename表示文件所有者有读、写、执行权限(7=4+2+1),同组用户和其他用户有读和执行权限(5=4+1)。

递归修改目录权限

chmod -R表示递归修改目录以及其内部文件和子目录权限

chmod -R 755 directory/

此命令会将directory/目录及其内部所有文件和子目录的权限设置为:
所有者拥有读、写、执行权限;同组用户和其他用户有读和执行权限。

注意

  • 只有文件的所有者或root用户才能改变文件的权限。
  • 错误的权限设置可能会导致文件或目录无法正常访问或被意外修改,因此在实际使用中需要谨慎。

补充

指定用户登陆时,以脚本的形式执行,弹出来提示语 “欢迎你!”

方法1:在用户的.bash_profile.bashrc中添加命令

对于bash shell用户,可以在用户的家目录下的.bash_profile.bashrc文件中添加命令来显示欢迎信息。.bash_profile通常在登录shell时执行,而.bashrc则在每个bash实例启动时执行(包括非登录shell)。

  1. 打开终端。

  2. 使用文本编辑器(如nano或vim)编辑用户的.bash_profile.bashrc文件。例如,使用nano编辑.bash_profile,可以输入:

    nano ~/.bash_profile
    

    或者,如果你希望这个欢迎信息每次打开bash时都显示(包括非登录shell),可以编辑.bashrc

    nano ~/.bashrc
    
  3. 在文件的末尾添加以下行:

    echo "欢迎你!"
    
  4. 保存并关闭文件。

  5. 为了使更改立即生效,你可以执行source ~/.bash_profile(或.bashrc,取决于你编辑的文件)来重新加载配置文件,或者简单地注销并重新登录。

方法2:使用/etc/profile.d/目录

另一种方法是创建一个新的shell脚本文件,并将其放置在/etc/profile.d/目录下。这个目录下的脚本会在用户登录时自动执行(针对bash shell)。

  1. 创建一个新的shell脚本文件,例如welcome_message.sh
    sudo nano /etc/profile.d/welcome_message.sh
    
  2. 在文件中添加以下内容:
    #!/bin/bash
    echo "欢迎你!"
    
  3. 保存并关闭文件。
  4. 给脚本文件添加执行权限:
    sudo chmod +x /etc/profile.d/welcome_message.sh
    
  5. 现在,每当用户登录时则会看到“欢迎你!”的提示。
  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值