13.Linux权限与远程管理
文章目录
前言
Linux系统通常作为服务器的系统,在实际使用过程中,需要多人同时操作服务器,因此Linux系统需要支持权限管理和远程管理。
1、用户、用户组和权限管理
1.1、概述
用户:要登录Linux必须要有一个用户,一台Linux系统下可以有多个用户,并且每个用户可有不同的权限。在Linux中可以指定用户对不同的文件、目录拥有不同的权限。
用户组:Linux有一个组的概念,不同的用户分配到一个组,那么同组下的用户,都拥有这个组的权限。
权限:Linux权限有三种,读、写、执行。
1.2、用户管理
用户管理包括:创建用户、删除用户、修改用户帐号属性、创建用户组、修改用户组属性。其中,创建用户/删除用户/修改其他用户密码的终端命令都需要通过sudo执行。
创建用户:
命令:useradd [用户名]
选项说明:
-d 指定新账户的主目录
-g 指定用户的所属组
-G 指定用户附加组
-s 指定用户登录shell
-m 自动创建家目录
创建两种用户,并进行查看:
查看创建的用户:
两种创建方式导致家目录中有不同的结果:
用户切换:
su - [用户名] 加-同时切换到用户的家目录,不加直接在当前目录切换到新用户。
退出切换Ctrl+D:
设置用户登录密码:
删除用户:
命令:userdel [用户名]
-r 删除用户的同时删除家目录
删除用户的结果:
/hom文件夹中并没有删除用户的test2文件夹:
需要强制删除用户的情况及结果:
修改用户帐号属性:
命令:usermod
-u 用户id
-g 所属组id(创建时不指定组会默认分组)
-a -G GID 不使用-a选项,会覆盖此前的附加组;
-d -m 将家目录内容移至新位置
-s 该用户帐号的新登录
-l 新的登录名称
1.3、用户组管理
创建用户组:
命令:groupadd
删除用户组:
命令: groupdel
修改组属性:
命令:groupmod
-g, --gid GID 将组 ID 改为 GID
-h, --help 显示此帮助信息并退出
-n, --new-name NEW_GROUP 改名为 NEW_GROUP
-o, --non-unique 允许使用重复的 GID
-p, --password PASSWORD 将密码更改为(加密过的) PASSWORD
-R, --root CHROOT_DIR chroot 到的目录
-P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files
提示:
创建用户时,会默认创建一个与用户名同名的组名;
创建成功后可在/etc/passwd文件下查看;
新创建的用户没用sudo权限,需要将用户加到adm,sudo这两个组中才拥有sudo权限。
# 例:创建一个用户lilei, 其ID号为2002,基本组为stu(id为3000),附加组为linux。
sudo groupadd - g 3000 stu
sudo groupadd linux
sudo useradd - u 2002 - g stu - G linux lilei
1.4、权限管理
权限管理:操作系统用来限制用户对资源访问的一种机制,一般分为:读、写、执行。
命令格式:chmod +/- rwx 文件名|目录名
+:增加权限
-:取消权限
rwx:权限的类型(读、写、执行)
每个文件,都有三组不同的权限:
第一组:u文件所有者(user当前登录的用户),修改所有者权限:chmod u+/-/= rwx filename
第二组:g文件所属组(group用户组的权限),修改所属组权限:chmod g+/-/= rwx filename
第三组:o其他用户(其他用户的权限),修改所属组权限:chmod o+/-/= rwx filename
通过规定的数字修改权限管理
命令:chmod vvv 文件名|目录名,指定权限修改(v:数字)。
r:4 w:2 x:1
第一个数字代表所有者权限
第二个数字代表所属组权限
第三个数字代表其他人权限
2、远程管理
2.1、查看系统ip地址
Linux: ifconfig
Windows: ipconfig
2.2、ping命令
检查网络是否正常通信,Linux下默认ping不会结束,使用ctrl+c强制结束。
其他选项:
ping - c 指定ping几个数据包结束
ping - i 指定发送数据包的间隔,单位是秒
ping - s 指定发送数据的大小,单位字节
ping - t 设置TTL的大小,TTL 网络调数大小
2.3、ssh远程连接
SSH是一种网络协议,用于计算机之间的加密登录。Linux下默认开启sshd服务,只有开启sshd服务才能进行ssh连接。可以使用service sshd status查看是否开启sshd服务,active(running)表示已经开启。
Windows下连接方式:
Windows下借助第三方软件,xshell或者putty来连接。
通过克隆另外一个Ubuntu虚拟机,实现两台主机间的ssh远程连接:
2.4、scp文件复制
scp就是secure copy,是一个在Linux下用来进行远程拷贝文件的命令,scp文件复制只能在Linux中使用。
# 使用示例1:把远程的e.txt 文件拷贝到本地/home/python/Desktop下
scp python@192.168.254.131:/home/python/a/e.txt /home/python/Desktop
# 使用示例2:将本地 Desktop/requirements.txt 文件拷贝到远程主机的家目录下
scp Desktop/requirements.txt python@192.168.254.131:/home/python
# 使用示例3:scp -r 可以复制文件夹。把当前目录下的demo文件夹 复制到远程目录下的Desktop
scp -r demo user@remote:Desktop
# 使用示例4:将远程主机的a文件夹包括子文件,复制到本机的桌面
scp -r python@192.168.254.131:/home/python/a Desktop
在Windows下传文件到Linux:可以使用 WinSCP,在官网即可下载。
3、系统信息管理
3.1、查看系统时间
date查看系统当前时间:
命令:date
3.2、查看磁盘空间
df -TH 查看磁盘分区,以及挂载情况
du -sh [目录名]查看目录大小
du -h [文件名] 查看文件大小
3.3、查看内核/操作系统/CPU信息
uname -a # 查看内核/操作系统/CPU信息
uname -i 查看硬件平台
uname -m 查看cpu
uname -n 节点名称
uname -o 操作系统
uname -v 内核版本
uname -r 发行版本号
3.4、查看进程
top查看进程实时运行情况,即系统资源实时使用情况,退出top界面输入q。
ps查看系统所有进程的状态:
命令:ps -ajx
一般使用ps命令带选项 ajx 一起使用
命令:ps -aux
3.5、结束进程
命令:kill [参数] [进程号]
kill -9 [进程号]:强制结束进程
kill -15 [进程号]:结束进程,等级没有-9高
提示:
在Linux中1号进程(init进程)是有所有进程的祖先进程,是不能被结束的。
总结
Linux权限与远程管理可以更好地满足对服务器维护的需求。