所以我不得不在书中做一个练习作为家庭作业。首先,您必须创建一个用户,例如:
useradd -c "Steven Baxter" -s "/bin/sh" sbaxter
Run Code Online (Sandbox Code Playgroud)
然后你必须在/home/sbaxter目录中添加一些文件:
touch /home/sbaxter/ some.txt new.txt files.txt
Run Code Online (Sandbox Code Playgroud)
然后您必须删除该sbaxter用户并创建一个名为 的新用户mjane。令我惊讶的是,当我运行时find /home/ -user mjane,新用户mjane现在拥有 sbaxter 的所有旧文件,发生了什么?
我如何知道是本地 HDD 还是 USB 密钥?我更喜欢一种没有root权限的方法。/dev/sdX
好的,udevadm帮了大忙:
对于本地硬盘:
udevadm info --query=all --name=sdb | grep ID_BUS
E: ID_BUS=ata
Run Code Online (Sandbox Code Playgroud)
对于 USB 密钥:
udevadm info --query=all --name=sdc | grep ID_BUS
E: ID_BUS=usb
Run Code Online (Sandbox Code Playgroud) 我想从 vim 中当前光标位置到文件中向上搜索一个单词。
如何实现这一目标?
还有如何对文件中的向下做同样的事情。
许多 un*x 系统附带一个名为“operator”的用户帐户。这个账户的目的是什么?
某些系统是否真的使用了这个帐户,或者这更多是历史遗留问题?您是否曾在您的组织中使用过此帐户?
“操作员”帐户的主目录往往设置为类似/root或/。为什么是这样?
Linux:
Login: operator Name: operator
Directory: /root Shell: /sbin/nologin
Run Code Online (Sandbox Code Playgroud)
或 FreeBSD:
Login: operator Name: System Operator
Directory: / Shell: /usr/sbin/nologin
Run Code Online (Sandbox Code Playgroud)
在 FreeBSD 上,一些文件实际上归用户“operator”所有:
# find / -user operator -exec ls -ld {} \;
drwx------ 2 operator operator 512 Apr 20 17:11 /var/db/entropy
Run Code Online (Sandbox Code Playgroud)
这个问题对 google 来说非常困难,因为几乎所有的 google 搜索结果都与 shell 或代码操作符有关。
大多数情况下,从源代码安装程序时,建议创建一个新用户和一个新组,并赋予/usr/local/<myapp>最近创建的用户和组所有权。
为什么这种做法被认为是一种好的做法?
它有什么改进?
示例:MySQL 数据库服务器的 mysql 用户/mysql 组。
当登录到一台机器时,我可以从w. 作为系统管理员,我是否可以在用户不知情的情况下窃听此终端?换句话说,我希望看到在这个终端上所做的一切都作为我自己终端上的输出。
请注意以下事项:
strace解决方案)。接近的一种解决方案是建议使用gdb. 但这只能让我看到另一个终端的标准输出。我试过的
我从我的终端试过这个:
tee /dev/pts/user_pts </dev/pts/user_pts
Run Code Online (Sandbox Code Playgroud)
这使我可以在用户键入时看到用户在另一个伪终端中键入的每个字符。问题是,每隔几个字符,它就会“跳过”:它会在一个终端设备上显示一个流氓字符,而不是另一个。它还可以防止从用户的伪终端设备执行任何命令。我不确定为什么会发生这种情况以及是否有办法改进它。
我想看什么
USER TERMINAL | MY TERMINAL
$ echo "Test" | # slick_command_here
Test | echo "Test"
$ | Test
Run Code Online (Sandbox Code Playgroud) 我想知道使用-r选项创建帐户的含义是什么?
# useradd -r ...
帮助说:
-r, --system
Create a system account.
System users will be created with no aging information in /etc/shadow, and their
numeric identifiers are chosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in
/etc/login.defs, instead of UID_MIN-UID_MAX (and their GID counterparts for the
creation of groups).
Note that useradd will not create a home directory for such an user, regardless
of the default setting in /etc/login.defs (CREATE_HOME). You have to specify the
-m options if you …Run Code Online (Sandbox Code Playgroud) 对于个人笔记本上的个人 linux,即使在 X 或更低的运行级别下,我通常也将我的环境设置为以 root身份自动登录。我发现我的工作流程非常愉快和快速,没有任何繁琐的输入su或sudo密钥环或身份验证等要求。
到目前为止,我从来没有遇到过任何问题,那么为什么大多数人对此感到害怕?这种担忧是否被高估了?当然,这是假设用户知道他们在做什么并且并不真正关心系统可靠性和安全问题。
我是第一次使用 crontab。想写几个非常简单的测试cron任务,并运行它们。
$crontab * * * * * echo "Hi"
Run Code Online (Sandbox Code Playgroud)
不产生任何东西。
crontab */1 * * * * echo "hi"
Run Code Online (Sandbox Code Playgroud)
说*/1: No such file or directory。
另外,我如何列出当前正在运行的 cron 任务(不仅是我拥有的任务,还有其他用户(例如 root)启动的任务)。
以及如何删除特定的 cron 任务?
当我执行“top”时,我了解到有许多进程正在运行,其中许多进程处于睡眠状态。那时我需要查看所有进程的完整快照。“顶部”能够显示适合一个屏幕的进程列表。如何获得完整列表?
除此之外,我有兴趣查看处于“睡眠”状态的所有进程的列表。我不认为,我可以在“ps”命令的输出中获得进程状态