一、简介
本文主要总结了ubuntu常见系统问题,具体如下:
1、ubuntu不显示有线连接图标,无法保存网络ip设置;
2、ubuntu不能root登录;
3、git命令无法自动补全;
4、root用户不能git命令不能补全,普通用户可以;
5、如何设置root用户自动登录
6、ssh登录windows设置
7、sudo无需输入密码
9、设置DNS
10、ssh不能以root用户远程登陆Ubuntu系统
11、通过图形或者脚本设置静态ip后重启又会自动新增一个dhcp的ip
12、linux系统搭建tftp服务端过程
13、限制sudo的执行root权限范围
14、更新系统时间
16、终端输入命令后要按其他键才能回显(包括ssh连接)
二、常见问题
注意:ubuntu默认安装无vim命令,可以使用gedit代替使用。
1、ubuntu不显示有线连接图标,无法保存网络ip设置
方法一:
/etc/NetworkManager/NetworkManager.conf中managed=false改为managed=true
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=true
[device]
wifi.scan-rand-mac-address=no
/usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf新增except:type:ethernet
[keyfile]
unmanaged-devices=*,except:type:ethernet,except:type:wifi,except:type:gsm,except:type:cdma
方法二:
sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start
sudo gedit /etc/NetworkManager/nm-system-settings.conf
false ----改成---> true
sudo service network-manager restart
(1) Ubuntu Server 修改 IP地址
sudo vim /etc/network/interfaces
加入以下语句:
auto eth0
iface eth0 inet static
address xxx.xxx.xxx.xxx #IP地址
netmask xxx.xxx.xxx.xxx #子网掩码
gateway xxx.xxx.xxx.xxx #网关
(2) Ubuntu Server 修改DNS
sudo vim /etc/resolv.conf
改为如下内容:
search localdomain #如果本Server为DNS服务器,可以加上这一句,如果不是,可以不加
nameserver 172.16.3.4 #希望修改成的DNS
nameserver 172.16.3.3 #希望修改成的DNS
2、ubuntu不能root登录
1,登录普通用户, 打开终端执行命令, 使用su root或sudo -i切换到root用户(必须)
su root
按照提示输入密码即可切换用户。
若root账户密码忘记,使用如下命令重设后再切换。
sudo passwd root
2,在终端中输入如下命令,打开文件
vim /etc/pam.d/gdm-autologin
将打开的文件中第三行前加#,注释掉语句 “auth required pam_succeed_if.so user != root quiet_success”
3,保存并退出,继续在终端执行
vim /etc/pam.d/gdm-password
将打开的文件中第三行语句加#注释掉,注释掉语句“auth required pam_succeed_if.so user != root quiet_success”
4,保存并退出。在终端继续执行
vim /root/.profile
将打开的文件中“mesg n 2> /dev/null || true” 改为
tty -s&&mesg n 2> /dev/null || true
5,保存并退出。
6,重启电脑,即可以root用户登录。
3、git命令无法自动补全
apt install bash-completion -y //重启终端
4、root用户不能git命令不能补全,普通用户可以
1.用vim打开下面打文件
vim /root/.bashrc
2.找到最后的三行,把注释掉的三行去掉前面的#,再重新登录下账户就可以
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
5、如何设置root用户自动登录
1、首先要按第二点先设置可以root用户登录;
2、vim /etc/gdm3/custom.conf
添加如下内容:
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=root
6、ssh登录windows设置
windows安装ssh服务步骤:
1.打开windows10,在设置/应用/应用和功能/可选功能/添加功能中加入Openssh 服务端程序,下载
2.在win+S,服务,打开本地服务界面,找到OpenSSH SSH Server,启动方式改为自动
3.打开防火墙/高级设置/新建入站规则/打开22端口(SSH默认)
7、sudo无需输入密码
设置test用户,注意将内容增加到最后,可能被group设置的分组覆盖导致无法生效
vim /etc/sudoers
test ALL=(ALL:ALL) ALL
test ALL=(ALL) NOPASSWD: ALL
8、 设置su为不需要密码
如果需要对某用户su命令也不需要输入密码,则需要修改下列的:
1)切换到root权限;
2)创建group为wheel分组,命令为groupadd wheel;
3)将用户加入wheel group中,命令为usermod -G wheel test;
4)修改su的配置文件/etc/pam.d/su,增加下列项:
auth required pam_wheel.so group=wheel
auth sufficient pam_test.so trust use_uid
9、设置DNS
注意正常我们更改/etc/resolv.conf可以临时生效,想要永久保存需要更改:
vim /etc/resolvconf/resolvconf.base
nameserver 192.168.2.40 //DNS
//重启服务
resolvconf -u
systemctl restart resolvconf.service
//也可以在resolvconf.service中的脚本中加入
vim /lib/systemd/systemd-resolved //将DNS注释去掉然后设置DNS值
DNS=8.8.8.8
10、ssh不能以root用户远程登陆Ubuntu系统
vim /etc/ssh/sshd_config
PermitRootLogin prohibit-password
StrictModes yes
改为:
11、通过图形或者脚本设置静态ip后重启又会自动新增一个dhcp的ip
1、关闭dhcp自动生成ip
vim /etc/netplan/00-installer-config.yaml // dhcp4: 内容改为false
network:
ethernets:
enp0s31f6:
dhcp4: false
version: 2
2、查看dhch自动生成配置文件目录
/etc/NetworkManager/system-connections/xxx
12、linux系统搭建tftp服务端过程
1、安装依赖包
sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd
2、配置/etc/xinetd.conf
vim /etc/xinetd.conf
# Simple configuration file for xinetd
#
#Some defaults, and include /etc/xinetd.d/
defaults
{
#Please note that you need a log_type line to be able to use log_on_success
#and log_on_failure. The default is the following :
#log_type = SYSLOG daemon info
}
includedir /etc/xinetd.d
查看是否有 xinetd.conf 查看内容是否一致, 如果没有创建一个,并输入如下内容
3、配置/etc/default/tftpd-hpa
vim /etc/default/tftpd-hpa
设置共享目录TFTP_DIRECTORY=“/srv/tftp”
4、创建共享文件夹
mkdir /srv/tftp
4、设置权限
chmod 777 /srv/tftp -R
5、重启tftp服务
sudo service tftpd-hpa start
13、限制sudo的执行root权限范围
因为有时候会要求普通用户用于部分root权限,可以通过sudo进行限制,具体如下:
vim /etc/sudoers
//指定可执行和不可执行的命令
test ALL = ALL, !/bin/su ,!/bin/apt-get,!/bin/dpkg,!/bin/chattr //su、apt-get、dpkg、chattr命令无权限执行
//执行会报错:Sorry, user test is not allowed to execute '/usr/sbin/su' as root
//chattr可以限制该文件被普通用户以sudo方式更改
//终端执行以下命令限制文件不可更改,取消限制用参数-i
chattr +i /etc/sudo.conf
chattr +i /etc/sudoers
chattr +i /etc/sudoers.d/
此时,普通用户不能以sudo方式执行限制的命令,同时不能更改配置
//常见需要限制的命令如下:
test ALL = ALL, !/bin/su ,!/bin/apt-get,!/bin/dpkg,!/bin/apt,!/bin/chattr,!/bin/passwd,!/sbin/visudo,!/sbin/useradd,!/sbin/adduser,!/sbin/userdel,!/sbin/deluser,!/bin/rm,!/bin/rmdir,!/bin/vi,!/bin/vim,!/bin/gedit,!/sbin/poweroff,!/sbin/reboot,!/sbin/init,!/sbin/ifup,!/sbin/ifdown,!/bin/cp,!/bin/cat,!/bin/mkdir,!/bin/touch,!/bin/scp,!/sbin/ifconfig,!/bin/systemctl,!/bin/mv,!/bin/echo,!/sbin/parted,!/sbin/fdisk,!/bin/mkfs.*,!/bin/dd
14、更新系统时间
1、安装ntpdate
sudo apt install ntpdate
2、删除etc/localtime文件,并复制shanghai时区文件替换到这里。
rm -rf /etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
3、更新下时间
ntpdate -u ntp.api.bz
4、查看时间
hwclock -w
15、配置samba服务
//安装samba包
sudo apt-get install samba-com
//创建samba用户和设置登陆密码
sudo smbpasswd -a test
//配置改用户权限
sudo vim /etc/samba/smb.conf
[test]
path = /home/test
available = yes
browseable = yes
public = no
writable = yes
valid users = test,root
write list = test,root
//重启samba服务
samba restart
//登陆samba服务端
在windows端快捷键 win + r 输入\\192.168.22.254\test和登陆密码即可登陆
16、终端输入命令后要按其他键才能回显(包括ssh连接)
stty sane
stty eol ""
stty eol2 ""
ssh连接后自动执行
vim ~/.bashrc
if [[ -n $SSH_CONNECTION ]] ; then
stty eol ""
stty eol2 ""
fi