赋予普通用户 sudo 权限有两种方法:
- 通过修改
/etc/sudoers
文件,添加一行即可 “user ALL=(ALL:ALL) ALL” - 将用户添加到 sudo 组中,可以在
/etc/group
中看到sudo:x:27:usera,userb
1 | $ sudo usermod -a -G sudo user |
赋予普通用户 sudo 权限有两种方法:
/etc/sudoers
文件,添加一行即可 “user ALL=(ALL:ALL) ALL”/etc/group
中看到 sudo:x:27:usera,userb
1 | $ sudo usermod -a -G sudo user |
详细内容可以查看知乎的这篇文章:linux 忘记 root 密码怎么办?,文章中有较为详细的介绍,这里不罗嗦。
一句话解决问题,如果你有 sudo 权限,那么下面两种均可:
sudo passwd root
重置密码即可。/etc/shadow
文件,将 root 的加密密码替换成这串密文 $6$LyVpT/aetS$mTDFTG9SzM7iVdP7Kqz6q2lsvgqjA45qXDAEcIUV/eEAaOGreCbd1XMet8itx7z1XM1ZFCb3UUd3toBozQiuZ.
,这样的结果是将 root 的密码重置为 apple,然后你就可以登录自行修改了。这里简单做一个个人向的 Linux 使用配置吧,无论是 Ubuntu 还是 CentOS,都可以使用这个配置来提升使用体验,以及工作效率。
*Photo by Arian Darvishi on Unsplash
因为实验室服务器上有多种 Linux 的发行版(行吧,其实大多 Ubuntu 都是装的,原先默认都是 CentOS),有些命令老是搞混,于是找到一个总结,原文 是个图片,我将其转成表格了。
*Photo by Sai Kiran Anagani on Unsplash
当新建用户时,在自己的 home 目录应该有如下几个文件:.bash_profile
.bashrc
.bash_logout
,有可能有两个,也有可能都没有,这个时候需要自己新建,在 .bash_profile
文件中可以写入以下内容,这样在每次登录都会执行 .bashrc
了,不然你写了一堆 alias 可能登录一看根本没用。
1 | # .bash_profile |
可以将下面的 alias 写入 .bashrc
也可以写入 .bash_aliases
,因为如果 .bashrc
是自动生成的话,它会执行 .bash_aliases
,当然嫌麻烦直接堆在 .bashrc
算了
可能会有换行的问题,用 vim 打开,输入 set ff=unix
命令就行了
多人使用节点总会有这有那的问题,毕竟每个人都有 sudo 权限,每个人都会装软件,每个人都会改配置文件,有人不遵守游戏规则瞎改配置文件就会出问题。
*Photo by Tim Gouw on Unsplash
第一次向开源项目提交 pr,还不太熟,于是搜了一下,找到:GitHub 如何向开源项目提交 pr
git remote add upstream 开源项目地址
git checkout -b dev
git status git
add . git commit -m ...
git push origin branch
git fetch upstream
git rebase upstream/master
git push origin master
另外由于每个开源项目都有自己的要求,比如 TheAlgorithms/Python 提交 pr 都会进行各种格式检查,所以先本地 check 一下就可以避免出现格式语法错而得重新 commit 的浪费时间问题,下面是一个维护者提出的步骤:
1 | black <filename> |
算是一个挺常见的错误(对于我来说),印象中是第二次犯这个错了。
看下面这个函数,你觉得有没有什么问题?
1 | double count_avg(vector<int>nums) { |
看上去没毛病,这个函数就是求平均值嘛,先求和然后除以个数,得到的结果不就是平均值嘛,来几个测试用例看看:
1 | cout << count_avg({2, 2}) << endl; |
最后一个例子出现问题了,聪明的你发现了问题所在吗?
因为 ans 是 int 类型,而 size() 返回是一个 vector