文章目录
CentOS 最小安装无法联网、无法远程登陆问题
CentOS 7 最小安装后无法上网,运行ip addr
后ens33
也没有ip
地址。
参考这篇博客,这篇博客是基于 CentOS 6 的,注意 CentOS 7 运行setup
命令无效,所有对应的修改在/etc/sysconfig/network-scripts/ifcfg-ens33
文件里面修改,比如最后我的如下:
$ cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
# BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=309ef162-0bd1-4108-914b-42aae72012b0
DEVICE=ens33
# ONBOOT=no
ONBOOT=yes
# 根据自己的电脑查询
IPADDR=192.168.2.2
# 注意 IPADDR 最后一个不能相同,在同一网段的不同 IP
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=192.168.2.1
DNS2=192.168.2.1
CentOS 最小安装 No manual entry for xxx 问题
$ sudo yum install -y man-pages
xxx is not in the sudoers file 问题
su
允许切换登录会话到另一个用户的会话,然后在目标用户权限下运行程序,切换时需要知道目标用户的密码。
sudo
允许在root
的权限下来运行单个命令,只需要输入你的密码。
在使用sudo
时可能遇到xxx is not in the sudoers file
问题。解决该问题的方法是修改/etc/sudoers
把用户加入到sudoers
列表中去。root
下使用命令visudo
(相当于vi /etc/sudoers
)。
sudoers
文件是sudo
的配置文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers
,属性必须为0440
。
在文件添加以下一行即可。
<username> ALL=(ALL) ALL
文件权限与掩码
在c
语言中使用open()
指定权限创建一个文件之后,检查该文件权限却发现权限不一致。通常是因为umask
的原因。
fd = open("test.txt", O_WRONLY | O_CREAT, 0666);
检查test.txt
权限
$ ll test.tx
-rw-rw-r--. 1 tgs tgs 0 Mar 24 12:17 test.txt
$ umask
0002
所以最终权限为 666 & ~0002(按位取反)= 664,并不是简单的算术减法。如果指定权限为655,掩码为022,最终权限还是655,为什么?
因为5=1+4,不存在2(联系二进制)。
可以调用umask()
函数重新设定umask
确保文件权限,而且这样并不会改变shell
的umask
值。
umask(0);
fd = open("test.txt", O_WRONLY | O_CREAT, 0666);
MySQL 查看并修改初始密码
# CentOS 7 查看初始密码
$ sudo grep 'temporary password' /var/log/mysqld.log
# 修改密码
mysql> set password=password("MySQL5.7.29");
# Ubuntu 18.04 查看初始密码
$ sudo cat /etc/mysql/debian.cnf
# 修改密码
mysql> update mysql.user set authentication_string = password('123456') where user='root' and Host = 'localhost';
mysql> update user set plugin = "mysql_native_password";
mysql> flush privileges;
Ubuntu 使用 apt 安装软件时报错
tgs@tgs-ubuntu:~/clinux$ sudo apt install curl
[sudo] password for tgs:
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
这是因为上次运行安装或更新时没有正常完成,才导致资源被锁。解决方法:
tgs@tgs-ubuntu:~/clinux$ sudo rm /var/lib/dpkg/lock-frontend
tgs@tgs-ubuntu:~/clinux$ sudo rm /var/lib/dpkg/lock