目录
显示
基本命令
创建文件
touch test.txt
创建文件夹
mkdir nginx-1.20.2
删除文件夹
rm -rf 文件夹
查找文件
# 全局查找my.cnf文件
find / -name my.cnf
查看当前路径
pwd
查看子目录
查看当前目录下所有子目录和文件
ls
切换路径
cd /www/wwwroot/task.vpssw.com
查看进程
ps -def | grep "kooteam.jar"
杀进程
kill -s 9 pid //pid是进程id
链接下载
wget http://nginx.org/download/nginx-1.20.2.tar.gz
文件上传
# 使用rz sz命令之前,需要先安装
install -y lrzsz //先安装lrzsz
rz -y //覆盖上传
文件下载
sz -y //覆盖下载
vim编辑
未修改退出
文件内容没有修改,正常退出
:q
不保存退出
文件内容有修改,不保存退出
:q!
正常保存修改
:wq
强制保存修改
强制执行命令
方法一:
使 用 :wq! 保存退出
方法二:
vim进入文件,输入i编辑好文件,按esc,输入冒号,再输入底下代码
:w !sudo tee %
特别说明:强制保存修改对只读属性(i属性)的文件无效!
用户
添加用户并设置密码
# 用户名称自己自定义取一个
adduser 用户名
# 为普通用户设置新密码
passwd 用户名
普通用户授予root权限
# 编辑sudoers文件
vim /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
用户名1 ALL=(ALL) ALL
用户名2 ALL=(ALL) ALL
## Allows members of the 'sys' group to run networking, software,
# 在root后面添加格式:
# 用户名 ALL=(ALL) ALL
# 保存文件并退出。
用户切换
# 普通用户切换到root用户(需要输入普通用户密码)
sudo -i
# root权限切换到普通用户
su - 用户名
sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。
su : 切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。
sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。
sudo -i 直接运行sudo命令加-i参数
sudo su 运行sudo命令给su命令提权,运行su命令。
sudo -i 运行结果 PWD=/root
sudo su 运行结果 PWD=/home/用户名(当前用户主目录)
权限
chmod命令
查看文件权限
ls -l 文件
查看文件权限代码
文件/文件系统的详细信息显示
stat /usr/bin/sudo
[root@iZuf6bm7y86rsciyk4lvriZ ~]# stat /usr/bin/sudo
文件:"/usr/bin/sudo"
大小:147336 块:288 IO 块:4096 普通文件
设备:fd01h/64769d Inode:270076 硬链接:1
权限:(4755/-rwsr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2022-01-22 20:14:08.349319244 +0800
最近更改:2020-04-01 12:37:10.000000000 +0800
最近改动:2022-01-22 20:14:05.280197848 +0800
创建时间:-
给文件赋权限
Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令
chmod -R 755 文件
chattr命令
i:不可修改权限 例:chattr u+i filename 则filename文件就不可修改,无论任何人,如果需要修改需要先删除i权限,用chattr -i filename就可以了。查看文件是否设置了i权限用lsattr filename。
去除i权限使用chattr -i filename
# 查看chattr属性
lsattr /etc/sudoers
# 给文件添加上i属性(只读属性)
chattr +i /etc/sudoers
# 给文件去除上i属性(只读属性)
chattr -i /etc/sudoers
安全
防止暴力破解
$ vim /etc/pam.d/login
# 在#%PAM-1.0 下新起一行,加入
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10
# 如果不限制root用户,则可以写成
auth required pam_tally2.so deny=3 unlock_time=5
even_deny_root #也限制root用户;
deny # 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
unlock_time #设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time #设定root用户锁定后,多少时间后解锁,单位是秒;
查看远程登录用户
//Linux下查看可以远程登录的账号信息:
awk '/\$1|\$6/{print $1}' /etc/shadow
查看特权账户,那些账户有root权限
awk -F: '$3==0 {print$1}' /etc/passwd
日志
登录日志
# 查看用户登录日志
last
# 清除所有用户登录日志
echo > /var/log/wtmp
历史命令
# 清空所有历史命令日志
history -c
数据库
MySQL
登录MySQL
mysql -u root -p
MySQL实例
mysql> use mysql;//mysql是mysql系统创建的数据库实例
修改root密码
mysql> alter user'root'@'%' IDENTIFIED BY '新密码';
刷新权限
mysql> flush privileges;
退出
mysql> quit
Nginx
重启
/usr/local/nginx/sbin/nginx -s reload重新加载
容器
Docker
查看容器
docker ps //查看正在运行的docker容器
操作容器
docker exec -it 7fcfae372bc5 /bin/bash //7fcfae372bc5为具体容器的id 进入某个docker容器内部
退出容器
先按Ctrl+P,再按Ctrl+Q //退出容器,ps能查到,还在后台运行
拷贝文件
074af74c669d 是容器id,也可以换成容器名称,可以使用sudo docker ps -a查看
sudo docker cp 074af74c669d:/etc/bash.bashrc /tmp
或者反过来
sudo docker cp /tmp/index.html 074af74c669d:/etc/
# 其中/tmp是宿主主机的绝对路径。不是相对路径。
常见问题
-bash: vim: command not found
#查看是否安装vim
[root@yidashi01 ~]# rpm -qa|grep vim
vim-minimal-8.0.1763-15.el8.x86_64
vim-filesystem-8.0.1763-19.el8_6.4.noarch
# 上面两项代表是没有安装完全。
# 执行如下命令进行安装
[root@yidashi01 ~] # yum -y install vim-enhanced
[root@yidashi01 ~]# rpm -qa|grep vim
vim-minimal-8.0.1763-15.el8.x86_64
vim-enhanced-8.0.1763-19.el8_6.4.x86_64
vim-common-8.0.1763-19.el8_6.4.x86_64
vim-filesystem-8.0.1763-19.el8_6.4.noarch
linux切换新增用户无法连接,报权限不足su: /bin/bash: Permission denied
连接主机...
连接主机成功
Last login: Sun Jan 23 01:17:20 2022 from 113.116.51.113
Welcome to Alibaba Cloud Elastic Compute Service !
/bin/bash: Permission denied
连接断开
# 方法1:给/bin/bash,/bin/和/usr/相关目录赋权755
chmod -R 755 /bin/
chmod -R 755 /bin/bash
# 方法2:关闭selinux
# 方法3:ssh允许root方式登录
# 查看文件目录权限代码
stat /bin/
[root@iZbp19eouywbq18gg9ydncZ ~]# stat /bin/
文件:"/bin/"
大小:28672 块:64 IO 块:4096 目录
设备:fd01h/64769d Inode:655363 硬链接:2
权限:(0700/drwx------) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2022-01-23 13:21:51.528694284 +0800
最近更改:2021-01-14 17:45:55.345385926 +0800
最近改动:2022-01-23 01:25:31.130072242 +0800
创建时间:-
- 远程ssh登陆时报错:/bin/bash: Permission denied
- 创建新用户后无法切换 su: failed to execute /bin/bash: Permission denied
- ssh远程登录服务器出现Permission denied, please try again. 报错
- linux切换新增用户无法连接,报权限不足su: /bin/bash: Permission denied
sudo: /bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位
# 普通用户执行sudo -i命令遇到如下提示
[vpssw@iZuf6bm7y86rsciyk4lvriZ ~]$ sudo -i
sudo: /bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位
# 解决方法:root用户给这个/usr/bin/sudo赋 4755 权限
chmod 4755 /usr/bin/sudo
Great content! Keep up the good work!