Ubuntu apt 卸载详解
一、apt-get remove packagename
该命令将移除与packagename相关联的所有二进制文件,但是不会移除与之相关联的配置文件或数据文件(configuration or data files),同样也不会移除packagename所依赖的包。
二、apt-get purge packagename或者apt-get remove --purge packagename
这两条命令是等价的。它们的作用是:移除与包packagename相关联的所有文件,这些文件包括二进制文件和全局配置文件。注意,该命令不会移除packagename所依赖的包,也不会移除位于用户家目录中的与packagename相关联的配置文件或数据文件。
当我们想要完全卸载一个程序的时候,这条命令将特别有用。因为我们经常遇到安装一个应用程序过程中出现安装失败,导致我们需要重新安装它;或者由于某个应用程序的配置文件混乱,我们想完全卸载这个应用程序然后再重新安装,那么就可以使用这条命令先完全卸载应用程序所在的包。
三、apt-get autoremove
卸载当前系统中的所有孤立的包(remove orphaned packages),具体指那些曾经被其他包所依赖,但是现在不被任何包依赖了的包。例如,我们用apt-get remove --purge packagename卸载了packagename,但是packagename所依赖的包还保留在系统中,这时我们就可以用命令apt-get autoremove来卸载这些依赖包。注意,这条命令卸载的依赖包一定指的是孤立的包,即不再被任何包给依赖了的包。
四、aptitude remove packagename或者aptitude purge packagename
上面两条命令也会卸载被packagename依赖但是不被系统中其他包依赖的包。
五、apt-get -s remove packagename
这条命令将模拟卸载pacagename包,但是不会真的卸载。一般在卸载某个包之前,我们先用这条命令来查看一下卸载过程中会卸载哪些内容,防止因为拼错包名packagename而卸载了不是我们意图卸载的包。
当我们使用sudo apt-get install mysql-sever,安装某个应用程序后,如何删除呢?
- sudo apt-get remove mysql-server
- sudo apt-get autoremove
sudo apt-get update 这行命令就是让你下载新软件时是下的最新的,简而言之就是更新软件库。
sudo apt-get upgrade 这行命令就是让你已经下载的软件更新到最新,就好比手机应用宝提示某些软件需要更新了,然后你去更新。
更改主机名
hostnamectl xxx
$ sudo usermod -aG sudo lin
使用 adduser 也能成功:
$ sudo adduser lin sudo
从组移除用户:
$ sudo gpasswd -d lin sudo
查看用户所在组:
$ id lin
1.新增用户
root@ubuntu:~# adduser lin 设置密码之后,一路 Enter 就行
2.增加管理员权限
下面有一个更加方便的方法:
切换到 root,输入visudo命令
root@ubuntu:~# visudo 该命令实际上打开的是/etc/sudoers文件,在“root ALL=(ALL:ALL) ALL”这一行下面加入一行:
lin ALL=(ALL:ALL) ALL
然后 ctrl + x 退出,是否保存选择yes,再按Enter键退出
3.查看用户组
cat /etc/group 查看所有用户:
cat /etc/shadow 添加用户到用户组:
例如添加 lin 到 sudo 组
$ sudo usermod -aG sudo lin 或者,使用 adduser 也能成功:
$ sudo adduser lin sudo 从组移除用户:
$ sudo gpasswd -d lin sudo 查看用户所在组:
$ id lin
4.修改普通用户密码
$ passwd 用户名
ubuntu删除一个文件夹下所有子文件夹中的指定文件
find ./val -name '*.txt'|xargs rm -r
FTP
sudo apt-get install vsftpd
一、安装vsftpd
sudo apt-get install vsftpd
二、增加账户
sudo useradd -m ftp sudo passwd ftp
在/home下建立ftp文件夹,存放被访问的文件,并更改权限
mkdir /home/ftp
sudo chmod 777 /home/ftp
chmod 777 文件或目录
示例:chmod 777 /etc/aaa 运行命令后,aaa文件夹(目录)的权限就被修改为777(可读可写可执行)。
如果是Ubuntu系统,可能需要加上sudo来执行:
sudo chmod 777 /etc/aaa
故事的开始,都会先留一个悬念。
只有程序员能懂的冷笑话系列中,有个比较经典的段子:
请用最简洁的语言描述我国FL。
754。
所以,754是什么意思呢?754是什么意思呢?754是什么意思呢?
下面具体介绍chmod命令。
Linux系统中,每个用户的角色和权限划分的很细致也很严格,每个文件(目录)都设有访问许可权限,利用这种机制来决定某个用户通过某种方式对文件(目录)进行读、写、执行等操作。
操作文件或目录的用户,有3种不同类型:文件所有者、群组用户、其他用户。最高位表示文件所有者的权限值,中间位表示群组用户的权限值,最低位则表示其他用户的权限值,所以,chmod 777中,三个数字7分别对应上面三种用户,权限值都为7。
文件或目录的权限又分为3种:只读、只写、可执行。
权限 权限数值 二进制 具体作用
| 权限 | 权限数值 | 二进制 | 具体作用 |
|---|---|---|---|
| r | 4 | 00000100 | read,读取。当前用户可以读取文件内容,当前用户可以浏览目录。 |
| w | 2 | 00000010 | write,写入。当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。 |
| x | 1 | 00000001 | execute,执行。当前用户可以执行文件,当前用户可以进入目录。 |
依照上面的表格,权限组合就是对应权限值求和,如下:
7 = 4 + 2 + 1 读写运行权限 5 = 4 + 1 读和运行权限
4 = 4 只读权限
因此,大家也就明白了 chmod 754 filename 命令的含义了。
这句命令的意思是将filename文件的读写运行权限赋予文件所有者,把读和运行的权限赋予群组用户,把读的权限赋予其他用户。
更多官方的、详细的解释,可以使用下面的命令查看:
chmod --help 或者
man chmod
使用tar 命令 tar命令有一下参数
-c 压缩文件内容
-x 解压文件中的内容
-z 使用gzip来解压或压缩.tar.gz格式的文件
-v 压缩过程中显示文件
-f 置顶文件名,f 后面立刻紧跟文件名,不能接受其他参数
MySQL的安装
sudo apt install mysql-server-5.7
sudo mysql_secure_installation
新建远程登录用户并授权
mysql> create user 'eric'@'%' identified by 'lyd2017'; Query OK, 0 rows affected (0.01 sec) mysql> grant all on . to 'eric'@'%';--所有权限 Query OK, 0 rows affected (0.00 sec) 关于授权:
命令:GRANT privileges ON databasename.tablename TO 'username'@'host'
说明:privileges-用户的操作权限,如select,insert,update 等,如果要授予所有权则使用all
如果要授予该用户对所有数据库和表的操作权限则用* 表示,如 .
例如:
GRANT SELECT, INSERT ON mysql.tables TO 'eric'@'%'; GRANT ALL ON . TO 'eric'@'%'; 但是用这些命令授权的用户不能再给其他用户授权,如果要让该用户有权限,则使用
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password_policy=LOW
1.需要修改/etc/mysql/mysql.conf.d/mysqld.cnf 文件。
找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可
2.在连接服务器后,操作mysql系统数据库
命令为: mysql -u root -p
**3. 查询用户表命令:select User,authentication_string,Host from user; (这里也可以看出host默认都是localhost访问权限)
GRANT ALL PRIVILEGES ON . TO '账号'@'%' IDENTIFIED BY '密码';
-
apt 更新
-
安装 nginx
-
安装MySQL数据库
-
安装PHP
-
nginx 和 php的配置
-
其它
1)mysql 的配置
2)nginx 的配置 重定向
3)php 的配置
server
{
listen 80;
server_name 123.57.191.3;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/123.57.191.3;
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#SSL-END
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
#error_page 404 /404.html;
#error_page 502 /502.html;
#ERROR-PAGE-END
#PHP-INFO-START PHP引用配置,可以注释或修改
include enable-php-56.conf;
#PHP-INFO-END
#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
include /www/server/panel/vhost/rewrite/123.57.191.3.conf;
#REWRITE-END
#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}
#一键申请SSL证书验证目录相关设置
location ~ \.well-known{
allow all;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log /dev/null;
access_log off;
}
location ~ .*\.(js|css)?$
{
expires 12h;
error_log /dev/null;
access_log off;
}
access_log /www/wwwlogs/123.57.191.3.log;
error_log /www/wwwlogs/123.57.191.3.error.log;
}
location /
{
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
server {
listen 80;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name 123.57.191.3;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
include fastcgi.conf;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
sudo vim /etc/nginx/sites-available/default
sudo vim /etc/nginx/snippets/fastcgi-php.conf
sudo vim /etc/php/7.2/fpm/pool.d/www.conf
sudo /etc/init.d/php7.2-fpm restart
sudo nginx –s reload
sudo /etc/init.d/mysql restart
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
sudo vim mysqld.cnf
bind-address = 0.0.0.0
# 新增加
character-set-server=utf8
#
php -i | grep php.ini
service nginx reload
udo vim etc/php/7.2/cli/php.ini 0 改成 1
重写
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
}
用户相关
一、用户添加
sudo useradd -r -m -s /bin/bash
-r:建立系统账号
-m:自动建立用户的登入目录
-s:指定用户登入后所使用的shell
二、修改用户权限
这里采用修改Ubuntu 18.04系统/etc/sudoers文件的方法分配用户权限。因为此文件只有r权限,在改动前需要增加w权限,改动后,再去掉w权限。
sudo chmod +w /etc/sudoers
sudo vim /etc/sudoers
sudo chmod -w /etc/sudoers
User privilege specification
root ALL=(ALL:ALL) ALL
ftp ALL=(ALL:ALL) ALL
至此,新用户创建成功,并且用户目录被创建,权限也分配成功
三、删除用户
如果要删除用户,请按下面操作进行,分为3步:
1、执行userdel命令:sudo userdel ftp
2、删除用户目录命令:sudo rm -rf /home/ftp
3、删除用户权限相关配置:删除或者注释掉/etc/sudoers中关于要删除用户的配置,否则无法再次创建同名用户。
以及查看当前登录
w
who
users
查看系统中所有用户:
grep bash /etc/passwd
或者:
cat /etc/passwd | cut -f 1 -d:
查看组
cat /etc/passwd
cat /etc/group
输入以下命令以检查特定用户属于哪个组:
$ groups [username]
您还可以使用以下命令列出组成员及其GID。
$ id [username]
新增加
character-set-server=utf8
阿里云推荐关闭
禁用之后会降低攻击者通过sql注入漏洞器读取敏感文件的能力
local_infile=0
禁用符号链接以防止各种安全风险 skip_symbolic_links=yes
ubuntu下查看权限的命令为:
ls -l filename
ls -ld folder
ubuntu下设置权限的命令为:
一共有10位数
其中: 最前面那个 - 代表的是类型
中间那三个 rw- 代表的是所有者(user)
然后那三个 rw- 代表的是组群(group)
最后那三个 r-- 代表的是其他人(other)
然后我再解释一下后面那9位数:
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
-
表示相应的权限还没有被授予
现在该说说修改文件权限了
在终端输入:
chmod o+w xxx.xxx
表示给其他人授予写xxx.xxx这个文件的权限
chmod go-rw xxx.xxx
表示删除xxx.xxx中组群和其他人的读和写的权限
其中:
u 代表所有者(user)
g 代表所有者所在的组群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
其中:rwx也可以用数字来代替
r ------------4
w -----------2
x ------------1
-
------------0
行动:
- 表示添加权限
- 表示删除权限
= 表示使之成为唯一的权限
当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)
git fetch origin --prune
若分配给某个文件所有权限,则利用下面的命令:
sudo chmod -R 777 文件或文件夹的名字(其中sudo是管理员权限)
参考:
ubuntu18 新增配置用户删除用户