Linux 如何为系统上的所有用户编辑bash_注销

Linux 如何为系统上的所有用户编辑bash_注销,linux,bash,debian,Linux,Bash,Debian,现在我知道,一旦用户类型退出,我就可以编辑bash\u logout来执行命令,但只能通过在主目录中编辑特定用户的bash\u logout来执行命令。但是如何为所有用户编辑此脚本?bash无法识别系统范围的注销脚本。您所能做的最好是创建一个世界可读的文件,如/etc/bash\u logout,并建议用户添加/etc/bash\u注销到他们的个人~/.bash\u注销文件 bash识别的唯一系统范围的配置文件是登录shell的/etc/profile。你可以加上 trap 'on_logout

现在我知道,一旦用户类型退出,我就可以编辑bash\u logout来执行命令,但只能通过在主目录中编辑特定用户的bash\u logout来执行命令。但是如何为所有用户编辑此脚本?

bash无法识别系统范围的注销脚本。您所能做的最好是创建一个世界可读的文件,如/etc/bash\u logout,并建议用户添加/etc/bash\u注销到他们的个人~/.bash\u注销文件

bash识别的唯一系统范围的配置文件是登录shell的/etc/profile。你可以加上

trap 'on_logout' EXIT
其中on_logout是您定义的函数的名称,该函数包含此文件所需的注销代码,希望用户不要重置处理程序。从技术上讲,/etc/profile在所有与POSIX兼容的shell之间共享,因此不要在这样的处理程序中放入任何特定于bash的代码。

bash无法识别系统范围的注销脚本。您所能做的最好是创建一个世界可读的文件,如/etc/bash\u logout,并建议用户添加/etc/bash\u注销到他们的个人~/.bash\u注销文件

bash识别的唯一系统范围的配置文件是登录shell的/etc/profile。你可以加上

trap 'on_logout' EXIT

其中on_logout是您定义的函数的名称,该函数包含此文件所需的注销代码,希望用户不要重置处理程序。从技术上讲,/etc/profile是在所有POSIX兼容的shell之间共享的,所以不要在这样的处理程序中放入任何特定于bash的代码。

chepner上面说的。。。。如果你想成为一名用户,你可以很容易地为每个用户创建一个.bash\u注销

根据您的操作系统/发行版可能会有变化?申请假设所有普通用户都存在于本地,您没有提到LDAP,UID在[1000…50000]范围内

# iterate over all user accounts that are likely to be people with awk,
# print their home, loop over those homes and copy the logout file into place.
awk -F: '$3 >999 && $3 < 50000 { print $6}' /etc/passwd | while read home
do
  cp /path/to/your/logout-script $home/.bash_logout
  # if you want to be **reallY** nasty uncomment the next two lines.
  # that will stop users from deleting the file.
  # chown root $home/.bash_logout
  # chattr +i $home/.bash_logout
done

如果您以root用户身份运行,请注意,请参阅上面的假设,确保没有系统用户受到攻击。。。会得到你想要的注销文件。

切普纳上面说的。。。。如果你想成为一名用户,你可以很容易地为每个用户创建一个.bash\u注销

根据您的操作系统/发行版可能会有变化?申请假设所有普通用户都存在于本地,您没有提到LDAP,UID在[1000…50000]范围内

# iterate over all user accounts that are likely to be people with awk,
# print their home, loop over those homes and copy the logout file into place.
awk -F: '$3 >999 && $3 < 50000 { print $6}' /etc/passwd | while read home
do
  cp /path/to/your/logout-script $home/.bash_logout
  # if you want to be **reallY** nasty uncomment the next two lines.
  # that will stop users from deleting the file.
  # chown root $home/.bash_logout
  # chattr +i $home/.bash_logout
done

如果您以root用户身份运行,请注意,请参阅上面的假设,确保没有系统用户受到攻击。。。将获得所需的注销文件。

请参阅:Stack Overflow是一个用于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。参见:Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。回答这样的问题时要小心。社区中的一些人认为答案也应该被否决。也看到人们可以否决他们想要的;我可以省去代表的时间。回答这样的问题时要小心。社区中的一些人认为答案也应该被否决。也看到人们可以否决他们想要的;我可以免去那个代表的麻烦。