Linux第二天
Linux第二天
用户和用户组管理
在Linux中通过配置文件来存储用户和用户组信息
存储用户信息的目录 : /etc/passwd 可通过 cat /etc/passwd 查看
存储用户组信息的目录 : /etc/group cat /etc/group 查看
用户管理
-
用户添加 : useradd [ 参数 ] 用户名 (参数 :-d 家目录 , -g 所属组 ,-c 备注 ,-s 登陆执行的文件)
-
用户修改: usermod 参数 用户名 (参数: 同上四个参数,-l 更改用户名)
-
用户删除: userdel -r 用户名 (注: -r 表示同时删除家目录)
例:
添加 a 用户 (无参数)
useradd a
添加 b 用户 (备注: 神墨迹)
useradd -c 神墨迹 b
添加 c 用户 (备注: 221 指定目录: /home/c3)
useradd -c 221 -d /home/c3
添加 d 用户 (禁止登陆)
useradd -s /sbin/nologin d
修改 b 用户 备注为小bb 用户名:bb
usermod -c 小bb -l bb b
修改 d 用户(允许登录)
usermod -s /bin/bash d
创建用户 e 和 f
useradd e(f)
删除用户 e 不带-r 查看/home目录
userdel e
删除用户 f 带-r 查看 /home目录
userdel -r f
用户密码管理
语法 passwd [ 参数 ] 用户名
参数 :
-s : 查看用户状态 (status 或 state)
-l : 冻结,不能登录 (lock)
-u : 解冻 (unlock)
创建 h 用户
useradd h
设置用户 h 密码为123
passwd h
输入密码123
冻结 h用户
passwd -l h
解冻 h 用户
passwd -u h
查看 h 用户状态
passwd -s h
用户组管理
用户组添加
groupadd [参数] 组名 (参数 -g 设置组编号)
用户组修改
groupmod 参数 组名 (参数 -g 更改组编号 , -n 更改用户组名)
用户组删除
groupdel 组名 (注:用户组下面有用户则不能删除)
添加用户组php1
groupadd php1
添加用户组php2 并制定用户组编号666
groupadd -g 666 php2
将php2组更名为php_update 并且用户组编号为667
groupmod -g 667 -n php_update php2
添加用户组 php3后再删除php3用户组
groupadd php3
groupdel php3
添加php4用户(注:会自动创建同名用户组)后,删除php4用户组
useradd php4
groupdel php4 (报错) 用户组下有用户不能被删除
小结:
> 用户添加:useradd [参数] 用户名
-d homedir 设置用户家目录
-g group 设置用户所属用户组
-c comment 设置备注
-s shell 设置用户登录后执行的shell文件
注:创建用户自动创建同名家目录和同名用户组
> 用户修改:usermod 参数 用户名
-d homedir 更改用户家目录
-g group 更改用户所属用户组
-c comment 更改备注
-s shell 更改用户登录后执行的shell文件
-l loginname 更改用户名
> 用户删除:userdel -r 用户名 (注:-r 表示同时删除家目录)
> 用户组添加:groupadd [参数] 组名
-g group_number 设置用户组编号
> 用户组修改:groupmod 参数 组名
-g group_number 更改用户组编号
-n name 更改用户组名
> 用户组删除:groupdel 组名(注:用户组下有用户则不能删除)
权限操作
概念:
从文件本身来说,权限分为: 读 r(read 4)、写 w(write 2) 、执行 x(exec 1)
从用户角度来说,权限分为: 文件拥有者 、同组用户 、其他用户组
查看文件权限 ls -l
- 表示文件
d 表示目录
l 表示链接(可以理解为window的快捷方式)
[图片上传失败...(image-378afd-1533437627436)]
红色 文件拥有者权限
蓝色 同组用户权限
绿色 其他组用户权限
紫色 文件/文件夹拥有者
黄色 文件初始化所属组
灰色 文件/文件夹大小
黑色 文件/文件夹时间
a.php 文件/文件夹名称
更改文件拥有者和所属组
语法:
更改文件拥有者 (change own) : chown -R 新拥有者 待更改的文件
更改文件所属组 (change group) : chgrp -R 新所属组 待更改的文件
注: 只有文件所属者或超级管理员才可设置
例如:
创建user1.php文件
touch user1.php
查看user1.php文件权限
进入文件所属目录 ls -l 如上图
更改user1.php文件拥有者 为a
chown -R a user1.php
更改user1.php所属组为php1
chgrp -R php1 user1.php
更改文件权限语法
语法 : 1
chmod -R ABC<用数字表示> 待授权文件
ABC含义:分别表示A-文件拥有者、B-同组用户、C-其他组用户
数字含义:4-读、2-写、1-执行
0 - 没有权限
1 - 可执行
2 - 可写
3 - 可写可执行 (2 + 1)
4 - 可读
5 - 可读可执行 (4 + 1)
6 - 可读可写 (4 + 2)
7 - 可读可写可执行(4 + 2 + 1)
语法 : 2
chmod -R {<augo><+-=><wrx>...} 待授权的文件
r: 可读 w:可写 x:可执行 --对文件
r: 可查看 w: 可添加/修改/删除 x: 可访问 -- 对文件夹
表示用户:分别表示a-所有用户(all)、u-文件拥有者(user)、g-同组用户(group)、o-其他组用户(other)
权限范围:
用户+权限,给用户追加指定权限
用户-权限,移除用户指定权限
用户=权限,修改用户权限
例如:
创建 a.php文件 权限是7-主人 ,5-同组,5-其他组
#创建文件
touch /a.php
#修改权限
chmod -R 755 /a.php
#修改a.php,对其他组用户添加w权限
chmod -R o+w /a.php
$修改a.php,对其他组用户删除w权限
chmod -R o-w /a.php
[图片上传失败...(image-98b5f-1533437627437)]
Linux的运行模式
种类: 一共7种运行方式 0-6表示 分别为:
0:关机模式 (禁用)
1:单用户模式 (可以理解为window安全模式,主要用于系统维护,默认root权限登录)
2:命令行模式 (不含NFS服务,也就是共享目录和文件功能)
3:命令行模式 (推荐)
4:保留,未使用
5:桌面模式 不推荐(后期开发服务器不需要)
6:重启模式 (禁用)
更改运行模式
临时 , 通过命令 : init +数字
init +number(0-6)
永久,修改/etc/inittab运行模式文件 修改默认数字即可
id:number(0-6):initdefault:
软连接和硬连接
概念
软连接 - 相当于win创建快捷方式 (方便使用 , 注:删除源文件,则无法使用)
硬连接 - 相当于将原文件拷贝一份 (防止误删,注: 删除源文件,可继续使用)
语法
软连接 - [ ln -s 源文件 新文件 ]
硬连接 - [ ln 源文件 新文件 ]
软连接
rm -rf /test
mkdir -p /test #创建文件夹
echo 123 > /test/a.php #将123写入到test/a.php中
ln -s /test/a.php /test/b.php #软链接
echo 4 >> /test/b.php #将4追加到test/b.php中
cat /test/a.php #1234
rm -rf /test/a.php
cat /test/b.php #报错,无法使用
硬连接
rm -rf /test
mkdir -p /test #创建文件
echo 123 > /test/a.php #将123写入(覆盖) 到test/a.php
ln /test/a.php /test/b.php #硬链接
echo 4 >> /test/b.php #将4追加到test/b.php中
cat /test/a.php #1234
rm -rf /test/a.php
cat /test/b.php #1234
Linux安装卸载软件
Linux系统:rpm命令安装、源代码编译安装、yum安装
rpm包命令
安装: rpm -ivh 软件名 说明:i - 安装,v - 显示详细信息,h - 显示进度
卸载: rpm -e 软件名 --nodeps 说明:--nodeps 不检测依赖性
& 查看所有rpm安装软件: rpm -qa (说明:q查询query 、a所有all)
& 查看指定软件是否安装: rpm -qa | grep 包名 (举例:rpm -qa | grep mysql)
源代码包命令 (tar)
说明: win系统下有zip和rar格式文件,linux系统下有tar.gz和tat.gz2格式文件
步骤 : 1- 使用tar命令解压文件 , 2-通过make和make install命令安装
语法:
【 .tar.gz】解压命令:tar -zxvf 待解压的包名
【 .tar.gz】压缩命令:tar -zcvf 包名 文件路径
【.tar.bz2】解压命令:tar -jxvf 待解压的包名
【.tar.bz2】压缩命令:tar -jcvf 包名 文件路径
-z 代表【.tar.gz】 -j代表【.tar.bz2】
-x 代表【解压】 -c代表【压缩】
-v 显示操作详细信息
-f 后面必须跟包名
yum 命令
安装 : yum -y install 软件名
卸载 : yum -y remove 软件名
OpenSSH软件
SSH是为网络数据安全传输提供的安全协议
OpenSSH 是基于SSH协议开发的软件
安装:
安装客户端:yum -y install openssh-clients
安装服务端:yum -y install openssh-server
注: 系统默认已安装改服务
管理SSH服务 : service sshd start/restart/stop
注 在linux服务后面一般加d
SSH服务的作用
开启Apache服务 - 让用户通过浏览器访问apache(httpd)指定目录下的文件
开启MySQL服务 - 存储数据功能
1)MySQL安装目录/bin/mysqld.exe 服务端
2)MySQL安装目录/bin/mysql.exe 客户端
开启SSH服务 - 提供如下管理系统功能
1)远程登录管理功能
2)远程复制功能
3)文件传输功能
在Linux或mac系统下,默认已安装openssh-clients客户端,所以可直接通过ssh、scp、sftp指令管理开启sshd服务的系统.
在widnow系统下,通过基于SSH协议的第三方软件putty、WinSCP管理开启sshd服务的系统
在linux或mac下,管理开启SSH服务的系统
SSH指令
语法 1: ssh 账号@服务器IP地址
语法 2 :ssh -l 账号 服务器IP地址
SETP命令
登录命令: sftp 用户名@服务器ip地址
上传命令: put 本地文件 远程文件
获取命令: get 远程文件 本地文件
退出命令: exit 或 quit
SCP命令
上传命令: scp 本地文件用户名@服务器IP地址:文件保存路径
获取命令: scp 用户名@服务器IP地址:文件保存路径 本地文件
在win下,开启SSH服务的系统
1) putty
2) WinSCP(sftp scp)