我目前在 17.10 并且不在我的内部驱动器上使用加密, 但有一个加密的外部 USB 磁盘。我用它来备份。
因为我早上不知道是否我使用ecryptfs或cryptsetup
我显示的步骤所花费的建立外盘:
当我插入 HDD 时,Ubuntu 会提示我输入密码,然后安装它。它就像一个魅力,我能够将我的备份写入该外部磁盘。.Private除了我放在那里的lost+found文件(加上文件夹)之外,没有文件夹也没有其他文件。为了说明,我在这里使用了 4GB 记忆棒,但步骤与实际磁盘相同。
从一些评论中我了解到这恰好是cryptsetupthen 而不是
ecryptfs。
当我升级到 18.04时会发生什么?鉴于 18.04 默认不支持加密,恐怕我无法再恢复我的备份了。
当我不升级但进行全新安装时会有所不同吗?
最近,我创建了一个加密文件系统 ( crypto_LUKS),它只为一个特定用户充当 $HOME(即我将其挂载为/home/pduck)。我还添加了一个适当的条目,/etc/security/pam_mount.conf.xml以便在用户登录时自动解密和挂载分区(并在他注销时卸载)。效果很好。
因为 $HOME 本身就是一个文件系统,所以用户在其中有一个lost+found由 root:root 拥有的目录。我知道删除目录是一个坏主意,但许多命令(例如find)抱怨没有访问权限。这让我很恼火。
出于好奇,我删除了目录并使用mklost+found(不带sudo)重新创建了它。现在该目录归 pduck:pduck 所有。可以吗,或者目录归 root:root 所有重要吗?
在现有挂载中挂载新磁盘时的最佳实践问题? 启发我提出这个后续问题:
另一个问题问是否可以
mount /dev/sdb1 /home
mount /dev/sdb2 /home/mythtv
Run Code Online (Sandbox Code Playgroud)
所以这/home/mythtv是 mountpoint 中的一个挂载点
/home。(剧透:是的,完全没问题。)。
如果我将命令的顺序更改为
mount /dev/sdb2 /home/mythtv
mount /dev/sdb1 /home
Run Code Online (Sandbox Code Playgroud)
这会否产生同样的结果或将/home/mythtv被隐藏的/home?我假设/home包含一个(空)目录/home/mythtv。
截至 17.04,行为是:
当我插入外部驱动器(USB 记忆棒、HDD)时,它会出现在侧边栏中。这很方便,因为我可以使用侧栏中的图标弹出/安全删除/打开它。
现在 (17.10) 外部驱动器在插入时在桌面上的某个免费随机位置创建一个图标。为了访问图标以弹出/安全移除/打开驱动器,我需要最小化所有窗口或切换到另一个(空)工作区。
如何让这些外部驱动器图标出现在侧边栏中?
我经常通过 SSH 登录到 boxen,并以 root 身份运行更新等,使用sudo.
我很感激sudo在一段时间后要求输入密码,以防我离开终端等。但是,正如我已经进入了登录密码,或SSH关键短语,我宁愿 sudo 不来询问登录后的第n分钟一个密码,但仿佛须藤已经登录成功后立即执行的行为。
是否可以进行配置,以便登录后第一次调用不需要密码?
举例说明所需的行为
ssh foo@example.org
[~]$ sudo somecommand
[~]$ #no password asked.
[~]$ sudo somecommand #n minutes later
[sudo] password for foo:
Run Code Online (Sandbox Code Playgroud) 我正在尝试对 Ubuntu 18.04 LTS 进行最后一次更新,并且始终显示此窗口。
Ubuntu 永远无法更新操作系统。
我试过: $ sudo apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
0 upgraded, 0 newly installed, 0 to remove and 30 not upgraded.
1 not fully installed or removed.
Need to get 64.6 MB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://security.ubuntu.com/ubuntu bionic-security/main amd64 linux-firmware all 1.173.1 [64.6 MB]
Fetched 64.6 MB in 6s (10.4 MB/s) …Run Code Online (Sandbox Code Playgroud) 我使用彩色的 bash 提示,如下所示:
blue=$(tput setaf 4)
reset=$(tput sgr0)
bold=$(tput bold)
export PS1='($?) \[$bold$blue\]\u@\h:\w\[$reset\]$(__git_ps1)> '
Run Code Online (Sandbox Code Playgroud)
我通常在终端窗口(gnome-terminal)中工作,但有时在全屏控制台(CTRL+ ALT+ F3)中工作。
我的彩色提示在 GUI 终端中很好,但很难在全屏模式下阅读,因为颜色看起来不同。所以我想cyan=$(tput setaf 6)在控制台窗口中使用不同的颜色(例如)。为此,我需要弄清楚我当前处于哪种模式并相应地设置我的模式$PS1。
我试过tty命令。它给
/dev/pts/0 # GUI terminal
/dev/tty3 # console
Run Code Online (Sandbox Code Playgroud)
我还尝试检查$TERM. 它给
xterm-256color # GUI terminal
linux # console
Run Code Online (Sandbox Code Playgroud)
他们两个都适合我,但我的问题是:这是可靠区分控制台与终端的正确方法还是有更好的方法?如果那重要的话,我在 17.10.1。
Monit : monit HTTP 接口未启用,请添加 'set httpd' 语句并使用 'allow' 选项允许 monit 连接
我怎么做?
我正在尝试以 root 用户身份运行 cron 作业,但它不会执行。这是我尝试过的...
将作业添加到我的用户 crontab (crontab -e) 并将用户设置为 root ...
17 10 * * * root /etc/cron.daily/cammedia.sh
Run Code Online (Sandbox Code Playgroud)将作业添加到 root 用户 crontab (sudo crontab -e) 并添加一些 PATH 的...
PATH=/usr/sbin:/usr/bin:/sbin:/bin
PATH=/usr/sbin:/usr/bin:/sbin:/etc
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/home/scott
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/etc
#
0 4 * * * /etc/cron.daily/cammedia.sh
Run Code Online (Sandbox Code Playgroud)这是测试运行后运行 crontab -l(本地用户帐户)的结果:
May 26 10:17:01 WEBCAM CRON[89901]: (scott) CMD (root /etc/cron.daily/cammedia.sh)
May 26 10:17:01 WEBCAM CRON[89902]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
May 26 10:17:01 WEBCAM CRON[89900]: (CRON) info (No MTA installed, discarding output)
Run Code Online (Sandbox Code Playgroud)
建议?
我可以创建一个新文件并将日期放入其中。
touch example.txt
date >> example.txt
Run Code Online (Sandbox Code Playgroud)
但是我必须在创建新文件的那一刻创建带有日期的文件。我如何只用一个命令来做到这一点?
#!/bin/bash
# this programe random numbers between 1 and 100.
clear
echo "Hello, "${USER}
date;
n1=$[($RANDOM % 100) +1]
guess=1
echo -n "I'm think of a number between 1 and 100. guess:"
while read n2; do
if [[ $n2 -eq $n1 ]]; then
break;
else
echo
if [[ $n2 -gt $n1 ]]; then
echo -n "Sorry, your guess is too high. guess new:"
elif [[ $n2 -lt $n1 ]]; then
echo -n "Sorry, your guess is too low. guess new:" …Run Code Online (Sandbox Code Playgroud) 当我使用 alarm.sh 运行它时 5 “喝茶”。我得到
/home/andy/bin/alarm.sh: line 27: [: Drink: unary operator expected
Run Code Online (Sandbox Code Playgroud)
报警文件
soundfile="/usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3"
#amixer -D pulse sset Master 50% > /dev/null 2>&1
originalVolume=$(amixer -D pulse get Master | grep -m 1 -o -E [[:digit:]]+%)
clear
amixer -D pulse sset Master 50% > /dev/null 2>&1
if [ -f "$soundfile" ];
then
echo "Soundfile is present."
else
echo "File $soundfile does NOT exist."
echo
echo "Program will now exit."
exit
fi
[ ! $2 ] && {
echo
echo -e …Run Code Online (Sandbox Code Playgroud) 18.04 ×2
bash ×2
command-line ×2
mount ×2
17.10 ×1
apt ×1
chown ×1
cron ×1
cryptsetup ×1
date ×1
encryption ×1
external-hdd ×1
luks ×1
monit ×1
partitioning ×1
password ×1
permissions ×1
scripts ×1
ssh ×1
sudo ×1
ubuntu-dock ×1
updates ×1