Linux(Ubuntu)总结(三)
继上一篇文章Ubuntu总结(二)
十七.用户管理
增加用户
useradd 用户名
useradd -u (UID号)
useradd -p (口令)
useradd -g (分组)
useradd -s (SHELL)
useradd -d (用户目录)
如:useradd lee
增加用户名为 lee的账户
修改用户
usermod -u (新UID)
usermod -d (用户目录)
usermod -g (组名)
usermod -s (SHELL)
usermod -p (新口令)
usermod -l (新登录名)
usermod -L (锁定用户账号密码)
usermod -U (解锁用户账号)
如:usermod -u 1024 -g group2 -G root lee
将 lee用户 uid 修改为 1024,默认组改为系统中已经存在的 group2,并且加入到系统管理员组
删除用户
userdel 用户名 (删除用户账号)
userdel -r 删除账号时同时删除目录
如:userdel -r lee
删除用户名为 lee的账户并同时删除 lee的用户目录
组账户维护
groupadd 组账户名 (创建新组)
groupadd -g 指定组GID
groupmod -g 更改组的GID
groupmod -n 更改组账户名
groupdel 组账户名 (删除指定组账户)
十八.用户组状态:
su
用户名
(
切换用户账户
)
id
用户名
(
显示用户的
UID
,
GID)
whoami (
显示当前用户名称
)
groups (
显示用户所属组
)
十九.Linux 文件权限管理
1.查看文件和目录的权限
ls –al 使用 ls 不带参数只显示文件名称,通过 ls –al 可以显示文件或者目录的权限信息。
ls -l 文件名 显示信息包括:文件类型 (d 目录,- 普通文件,l 链接文件),文件权限,文件的用户,文件的所属组,文件的大小,文件的创建时间,文件的名称
drwxr-xr-x 5 suchuanqi suchuanqi 4096 Jan 31 17:28 ./
drwxr-xr-x 3 root root 4096 Jan 31 10:51 ../
-rw------- 1 suchuanqi suchuanqi 1633 Feb 1 00:01 .bash_history
-rw-r--r-- 1 suchuanqi suchuanqi 220 Jan 31 10:51 .bash_logout
-rw-r--r-- 1 suchuanqi suchuanqi 3771 Jan 31 10:51 .bashrc
drwx------ 2 suchuanqi suchuanqi 4096 Jan 31 10:55 .cache/
drwxrwxr-x 4 suchuanqi suchuanqi 4096 Jan 31 12:28 download/
-rw-rw-r-- 1 suchuanqi suchuanqi 260 Jan 31 14:19 download.tar.gz
drwxrwxr-x 2 suchuanqi suchuanqi 4096 Jan 31 17:17 .nano/
-rw-r--r-- 1 suchuanqi suchuanqi 655 Jan 31 10:51 .profile
-rw-r--r-- 1 suchuanqi suchuanqi 0 Jan 31 11:07 .sudo_as_admin_successful
-rw-rw-r-- 2 suchuanqi suchuanqi 24 Jan 31 17:28 test.txt
-rw------- 1 suchuanqi suchuanqi 2110 Jan 31 17:28 .viminfo
-rw-r--r-- 1 lusifer lusifer 675 Oct 26 17:20 .profile
- -:普通文件
- rw-:说明用户 suchuanqi有读、写权限,没有运行权限
- r--:表示用户组 suchuanqi只有读权限,没有写和运行的权限
- r--:其他用户只有读权限,没有写权限和运行的权限
-rw-r--r-- |
1 |
suchuanqi |
suchuanqi |
675 |
Oct 26 17:20 |
.profile |
文档类型及权限 |
连接数 |
文档所属用户 |
文档所属组 |
文档大小 |
文档最后被修改日期 |
文档名称 |
- |
rw- |
r-- |
r-- |
文档类型 |
文档所有者权限(user) |
文档所属用户组权限(group) |
其他用户权限(other) |
文档类型
- d 表示目录
- l 表示软连接
- – 表示文件
- c 表示串行端口字符设备文件
- b 表示可供存储的块设备文件
- 余下的字符 3 个字符为一组。r 只读,w 可写,x 可执行,- 表示无此权限
连接数
指有多./.;.;.索引节点。
文档所属用户和所属组
就是文档属于哪个用户和用户组。文件所属用户和组是可以更改的
文档大小
默认是 bytes
2.更改操作权限
给文件增加可执行的权限
首先创建文件vi test.sh
-rw-rw-r-- 1 suchuanqi suchuanqi 4 Feb 1 02:08 test.sh 你会发现他并没有可执行的权限
然后添加可执行的权限 suchuanqi@localhost:~$ chmod +x test.sh
-rwxrwxr-x 1 suchuanqi suchuanqi 4 Feb 1 02:08 test.sh* 你会发现他的权限增加了可执行的权限会变为绿色
根据数字来修改权限: (使用数字进行加法操作来完成权限的设置)
suchuanqi@localhost:~$ chmod 760 test.sh
-rwxrw---- 1 suchuanqi suchuanqi 4 Feb 1 02:08 test.sh*
表示root具有可读可写可执行权限,suchuanqi用户具有可读可写不可执行权限,其他用户具有不可读不可写不可执行权限
suchuanqi@localhost:~$ chmod 660 test.sh
-rw-rw---- 1 suchuanqi suchuanqi 4 Feb 1 02:08 test.sh
表示root具有可读可写不可执行权限,suchuanqi用户具有可读可写不可执行权限,其他用户具有不可读不可写不可执行权限
(下面的内容具看看就可以上面已经表示完成)
chown
是 change owner 的意思,主要作用就是改变文件或者目录所有者,所有者包含用户和用户组
chown [-R] 用户名称 文件或者目录
chown [-R] 用户名称 用户组名称 文件或目录
-R:进行递归式的权限更改,将目录下的所有文件、子目录更新为指定用户组权限
chmod
改变访问权限
chmod [who] [+ | - | =] [mode] 文件名
who
表示操作对象可以是以下字母的一个或者组合
- u:用户 user
- g:用户组 group
- o:表示其他用户
- a:表示所有用户是系统默认的
操作符号
- +:表示添加某个权限
- -:表示取消某个权限
- =:赋予给定的权限,取消文档以前的所有权限
mode
表示可执行的权限,可以是 r、w、x
文件名
文件名可以使空格分开的文件列表
示例
suchuanqi@UbuntuBase:~$ ls -al test.txt
-rw-rw-r-- 1 suchuanqi suchuanqi 6 Nov 2 21:47 test.txt
suchuanqi @UbuntuBase:~$ chmod u=rwx,g+r,o+r test.txt
suchuanqi @UbuntuBase:~$ ls -al test.txt
-rwxrw-r-- 1 suchuanqi suchuanqi 6 Nov 2 21:47 test.txt
suchuanqi @UbuntuBase:~$
数字设定法
数字设定法中数字表示的含义
- 0 表示没有任何权限
- 1 表示有可执行权限 = x
- 2 表示有可写权限 = w
- 4 表示有可读权限 = r
也可以用数字来表示权限如 chmod 755 file_name
r w x |
r – x |
r - x |
4 2 1 |
4 - 1 |
4 - 1 |
user |
group |
others |
若要 rwx 属性则 4+2+1=7
若要 rw- 属性则 4+2=6
若要 r-x 属性则 4+1=5
lusifer@UbuntuBase:~$ chmod 777 test.txt
lusifer@UbuntuBase:~$ ls -al test.txt
-rwxrwxrwx 1 lusifer lusifer 6 Nov 2 21:47 test.txt
lusifer@UbuntuBase:~$ chmod 770 test.txt
lusifer@UbuntuBase:~$ ls -al test.txt
-rwxrwx--- 1 lusifer lusifer 6 Nov 2 21:47 test.txt
二十. Linux 安装基本服务环境
1.安装 Java
此处以 JDK 1.8.0_152 为例
下载地址
http://www.oracle.com/technetwork/java/javase/downloads/index.html
解压缩并移动到指定目录
解压缩
tar -zxvf jdk-8u181-linux-x64.gz
创建目录
mkdir -p /usr/local/java
移动安装包
mv jdk1.8.0_181/ /usr/local/java/
drwxr-xr-x 7 suchuanqi suchuanqi 4096 Jul 7 2018 jdk1.8.0_181/ 我们看到该文件的所有者是suchuanqi这个用户组所以要进行切换,具体的操作如下所示:
设置所有者
root@localhost:/usr/local/java# chown -R root:root jdk1.8.0_181/ 更改该文件的权限
配置环境变量
配置系统环境变量
vi /etc/environment
添加如下语句
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export JRE_HOME=/usr/local/java/jdk1.8.0_181/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export JRE_HOME=/usr/local/java/jdk1.8.0_201/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
配置用户环境变量
vi /etc/profile
添加如下语句
if [ "$PS1" ]; then
if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
(配置用户环境变量主要复制下面几句话即可)
export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export JRE_HOME=/usr/local/java/jdk1.8.0_181/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export JRE_HOME=/usr/local/java/jdk1.8.0_201/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
必须让刚刚配置的户环境变量生效
使用命令:source /etc/profile
配置软连接(注意要进行配置软连接否则相互切换用户后java就会失效,直接复制下面的就好在root用户下操作)
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_181/jre/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_181/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_181/jre/bin/javaws" 1
sudo update-alternatives --set java /usr/local/java/jdk1.8.0_181/jre/bin/java
sudo update-alternatives --set javac /usr/local/java/jdk1.8.0_181/bin/javac
sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_181/jre/bin/javaws
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_201/jre/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_201/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_201/jre/bin/javaws" 1
sudo update-alternatives --set java /usr/local/java/jdk1.8.0_201/jre/bin/java
sudo update-alternatives --set javac /usr/local/java/jdk1.8.0_201/bin/javac
sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_201/jre/bin/javaws
jdk1.8.0_201
测试是否安装成功
root@UbuntuBase:/usr/local/java# java -version
java version "jdk1.8.0_181"
Java(TM) SE Runtime Environment (build jdk1.8.0_181-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
为其他用户更新用户环境变量
Su suchuanqi 切换到suchuanqi这个用户进行查看jdk是否生效
使用java -version 命令你会发现并没有生效,所以我们也要使用 source /etc/profile进行执行该文件的处理
source /etc/profile
2.安装 Tomcat
此处以 Tomcat 8.5.34 为例apache-tomcat-8.5.34.tar.gz
下载地址
解压缩并移动到指定目录
解压缩
tar -zxvf apache-tomcat-8.5.34.tar.gz
变更目录名
mv apache-tomcat-8.5.34 tomcat
变更名称
移动目录
mv tomcat/ /usr/local/
切换为root用户
chown -R root:root tomcat/
常用命令
启动
/usr/local/tomcat/bin/startup.sh ./startup.sh
停止
/usr/local/tomcat/bin/shutdown.sh ./shutdown.sh
目录内执行脚本
./startup.sh
验证安装是否成功通过地址进行访问即可
http://192.168.1.33:8080
3.安装 MySQL
安装
更新数据源
apt-get update ----
这里的目的是获得最新的
mysql
数据源
安装 MySQL
apt-get install mysql-server
系统将提示您在安装过程中创建 root 密码。选择一个安全的密码,并确保你记住它,因为你以后需要它。接下来,我们将完成 MySQL 的配置。
配置
因为是全新安装,您需要运行附带的安全脚本。这会更改一些不太安全的默认选项,例如远程 root 登录和示例用户。在旧版本的 MySQL 上,您需要手动初始化数据目录,但 Mysql 5.7 已经自动完成了。
运行安全脚本:
mysql_secure_installation -------
这里如果是安装
5.7
版本的话不用管它,如果是
5.7
以下要进行修改
这将提示您输入您在之前步骤中创建的 root 密码。您可以按 Y,然后 ENTER 接受所有后续问题的默认值,但是要询问您是否要更改 root 密码。您只需在之前步骤中进行设置即可,因此无需现在更改。
测试
按上边方式安装完成后,MySQL 应该已经开始自动运行了。要测试它,请检查其状态。
suchuanqi@ubuntu:~$ systemctl status mysql.service ----
这里是查看
mysql
的服务是否正在运行
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2017-11-21 13:04:34 CST; 3min 24s ago
Main PID: 2169 (mysqld)
CGroup: /system.slice/mysql.service
└─2169 /usr/sbin/mysqld
Nov 21 13:04:33 ubuntu systemd[1]: Starting MySQL Community Server...
Nov 21 13:04:34 ubuntu systemd[1]: Started MySQL Community Server.
查看 MySQL 版本:
mysqladmin -p -u root version
*****
配置远程访问
如果不做任何的配置的话直接访问系统中的
mysql
是访问不到的
,
因为默认情况下只支持本地访问不支持远程访问
mysql,
所以要做以下配置的修改
*****
修改配置文件
vi /etc/mysql/mysql.conf.d/mysqld.cnf
*****
注释掉(语句前面加上 # 即可):bind-address = 127.0.0.1
*****
重启 MySQL
service mysql restart
*****
登录 MySQL
mysql -u root –p
然后进入
mysql
然后设置下面的授权操作即可
,
安全级别操作可以不用去管
*****
查看和设置密码安全级别
select @@validate_password_policy;
set global validate_password_policy=0;
查看和设置密码长度限制
select @@validate_password_length;
set global validate_password_length=1;
授权 root 用户允许所有人连接
grant all privileges on *.* to 'root'@'%' identified by '123456';
*****
进入
mysql
给予外部权限
命令
启动
service mysql start
停止
service mysql stop
重启
service mysql restart
其它配置
修改配置 mysqld.cnf
配置文件
vi /etc/mysql/mysql.conf.d/mysqld.cnf
配置默认字符集
在 [mysqld]
节点上增加如下配置
[client]
default-character-set=utf8
在 [mysqld]
节点底部增加如下配置
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
配置忽略数据库大小写敏感
在 [mysqld]
节点底部增加如下配置
lower-case-table-names = 1