一、软件包管理
APT 是 Debian/Ubuntu 类 Linux 系统中的软件包管理程序,使用它可以找到想要的软件包,而且安装、卸载、更新都很简单便捷;也可以用来对 Ubuntu 进行升级;APT的源文件为 /etc/apt 目录下的 source.list 文件。
1、修改数据源:
由于国内的网络环境问题,我们需要将 Ubuntu 的数据源修改为国内的数据源,操作步骤如下:
编辑数据源
vi /etc/apt/sources.list
删除全部内容并修改为
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
更新数据源
apt-get update
2、常用 APT 命令
2.1、安装软件包
apt-get install packagename
删除软件包
apt-get remove packagename
更新软件包列表
apt-get update
二、Linux用户和组管理
Linux操作系统是一个多用户操作系统,它允许多用户同时登陆到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。
1、使用 Root 用户
在实际生产操作中,我们基本上都是使用超级管理员账户操作 Linux 系统,也就是 Root 用户,其实 Linux 系统默认是关闭 Root 账户的,我们需要为 Root 用户设置一个初始密码以方便我们使用;
设置 Root 账户密码
sudo passwd root
切换到 Root
su
设置允许远程直接使用 Root 账户登陆
vi /etc/ssh/sshd_config # Authentication: LoginGraceTime 120 #PermitRootLogin without-password //注释此行 PermitRootLogin yes //加入此行 StrictModes yes 重启服务 service ssh restart
2、用户账户和组账户说明
-
用户账户共分为:普通账户、超级管理员账户和安装时创建的系统用户;
-
组账户分为:私有组、标准组
3、账户系统文件说明:
3.1、 /etc/password:
每一行代表一个账户,众多账户是系统正常运行所必须得,此文件对所有用户可读。每行账户包含信息如下:
root:x:0:0:root:/root:/bin/bash
用户名:root
口令:密码,为了安全,这里只能看到x
用户标识号(UID):系统内唯一,root为0,1-999为系统的标准账户,普通用户从1000开始,500~65536是可登录账号;
组标识号(GID):与/etc/group相关用来规定组名和GID相对应;
注释:注释账号;
宿主目录:主文件夹;
命令解释器(shell):指定该用户使用的shell,默认是 /bin/bash
3.2、/etc/shadow
为了增加系统的安全性,用户口令通常用shadow passwords保护,只有root用户可读。
3.3、/etc/group
用户组的配置文件
3.4、/etc/gshadow
该文件用于定义用户组口令、组管理员等信息,只有root用户可读。
4、账户管理常用命令
4.1、增加用户 useradd jiguiquan
useradd 用户名 useradd -u (UID号) useradd -p (口令) useradd -g (分组) useradd -s (SHELL) useradd -d (用户目录)
4.2、修改用户
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 jiguiquan
将 jiguiquan 用户的uid修改为1024,默认组修改为系统中已经存在的 group2,并加入到系统管理员组中;
4.3、删除用户
userdel 用户名 (删除用户账号) userdel -r 删除账号时同时删除目录
例:userdel -r jiguiquan
删除用户名为 jiguiquan 的用户,并同时删除 jiguiquan 的用户目录
4.4、组账户维护
groupadd 组账户名 (创建新组) groupadd -g 指定组GID groupmod -g 更改组的GID groupmod -n 更改组账户名 groupdel 组账户名 (删除指定组账户)
4.5、口令维护
passwd 用户账户名 (设置用户口令) passwd -l 用户账户名 (锁定用户账户) passwd -u 用户账户名 (解锁用户账户) passwd -d 用户账户名 (删除账户口令) gpasswd -a 用户账户名 组账户名 (将指定用户添加到指定组) gpasswd -d 用户账户名 组账户名 (将用户从指定组中删除) gpasswd -A 用户账户名 组账户名 (将用户指定为组的管理员)
4.6、用户和组状态
su 用户名(切换用户账户) id 用户名(显示用户的UID,GID) whoami (显示当前用户名称) groups (显示用户所属组)
三、Linux文件权限管理
1、认识权限信息
在使用 ls -al 或者 ll 命令时候,我们可以看到:
前面标红的这 10 位字母就是 权限信息:
第1位:文件类型, d :目录, – :普通文件, l :链接文件;
第2-4位:文档所有者权限(user);
第5-7位:文档所属用户组权限(group);
第8-10位:其他用户权限(other)
r : 可读权限; w :可写权限; x :可执行权限;
2、修改操作权限
2.1、chown:
change owner:改变文件或者目录的所有者,所有者包含用户和用户组;
chown [-R] 用户名称 文件或者目录 chown [-R] 用户名称 用户组名称 文件或者目录
-R: 进行递归式的权限更改,将目录下的所有文件、子目录更新为指定的用户或者用户组权限;
2.2、chmod
改变访问权限
chmod [who] [+ | - | =] [mode] 文件名
who:表示操作对象,可以是 u:用户、g:用户组、o:其他用户、a:所有用户,系统默认
+ | – | = :添加|取消|只赋予指定的权限,取消文档以前的所有权限
mode:表示可执行的权限:可以是:r、w、x
示例演示:
3、数字设定法
数字设定法中的数字对应的含义:
0:表示没有任何权限;
1:表示可执行权限 = x;
2:表示可写权限 = w;
4:表示可读权限 = r;
可以用数字来表示权限,如下图: chmod 755 jigui.txt
r w x |
r – x | r – x |
4 2 1 | 4 – 1 | 4 – 1 |
user | group | others |
所以即可理解常用的数字:
777:表示4+2+1所有用户、所有权限都有;
000:表示0+0+0所有用户、所有权限都没有;