和网站开发公司如何签合同,网络广告销售,沧州公司做网站,wordpress社交旅游用户身份与能力
Linux是一个多用户、多任务的操作系统#xff0c;具有很好的稳定性与安全性#xff0c;在幕后保障Linux系统安全则是一系列复杂的配置工作。
Linux系统的管理员之所以是root#xff0c;并不是因为它的名字叫root#xff0c;而是因为该用户的身份号码即UID…用户身份与能力
Linux是一个多用户、多任务的操作系统具有很好的稳定性与安全性在幕后保障Linux系统安全则是一系列复杂的配置工作。
Linux系统的管理员之所以是root并不是因为它的名字叫root而是因为该用户的身份号码即UIDUser IDentification的数值为0。在Linux系统中UID相当于我们的身份证号码一样具有唯一性因此可以通过用户的UID值来判断用户身份。
管理员UID为0系统的管理员
系统用户UID为1~999Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器默认服务程序会有独立的系统用户负责运行进而有效控制被破坏范围。
普通用户UID从1000开始:是由管理员创建的用于日常工作的用户
需要注意的是UID是不能冲突的而且管理员创建的普通用户的UID默认是从1000开始的即使前面有闲置的号码。
为了方便管理同一组用户Linux系统中还引入用户组的概念。通过使用用户组号码GID我们库把多个用户加入到一个组中从而方便为组中的用户统一规划权限或指定任务。
另外在Linux系统中创建每个用户时将自动创一个与其同名的基本用户组而且这个基本用户组只有该用户一个人。如果该用户以后被归纳其他用户组则这个其他用户组被称为扩展用户组。一个用户只有一个基本用户组但是可以有多个扩展用户组从而满足日常的工作需要。
useradd命令
useradd命令用于创建新的用户格式为“useradd【选项】用户名”
可以使用useradd创建用户账户使用该命令创建用户账户时默认的用户家目录会被保存在/home目录中
默认的Shell解释器为/bin/bash而且默认会创建一个与该用户同名的基本用户组这些默认设置可以根据表中的useradd命令参数自行修改
参数 -d指定用户的家目录默认/home/username-e账户到期时间格式为YYYY-MM-DD-u 指定该用户的默认UID -g指定一个初始的用户基本组-G指定一个或多个扩展用户组-N不创建与用户同名的基本用户组-s指定该用户的默认Shell解释器
下面我们创建一个普通用户并指定家目录的路径、用户的UID以及Shell解释器在下面命令中请注意/sbin/nologin他是终端解释器的一员与Bash解释器有天壤之别。一旦用户的解释器被设置成nologin则代表该用户不能登陆到系统中 groupadd命令
groupadd命令用于创建用户组格式为“groupadd【选项】群组名”
为了能够更加高效地指派系统中的各个用户的权限在工作中常常会把几个用户加入到同一个组中这样便可以针对一类用户统一安排权限。创建用户组的步骤非常简单例如使用下面命令创建一个用户组SanKoucun usermod命令
usermod命令用于修改用户的属性格式为“usermod 【选项】用户名”
参数作用-c填写用户账户的备注信息-d -m参数-m与参数-d连用可重新指定用户的家目录并自动把旧的数据转移过去-e账户的到期时间格式为YYYY-MM-DD-g变更所属用户组-G变更扩展用户组-L锁定用户禁止其登陆系统-U解锁用户运行其登陆系统-s变更默认终端-u修改用户的UID我们先查看ShangQiang的默认信息然后将他加入到root用户组中去再次查看ShangQiang的信息这样扩展组列表中则会出现root用户组的字样而基本组不会收到影响 再来试试用-u参数修改ShangQiang的用户UID号码。除此之外我们还可以用-g参数修改用户的基本组ID用-G参数修改用户扩展组ID passwd命令
passwd命令用于修改密码过期时间认证信息等格式为“passwd【选项】【用户名】”
普通用户只能修改自己的密码root管理员则有权限修改其他所有人的密码。更强的是root修改其他人的密码不需要验证旧密码。
参数作用-l锁定用户禁止其登陆-u解锁锁定允许用户登陆--stdin允许通过标准输入修改用户密码如 echo 123456 | passwd --stdin Username-d使该用户可用空密码登陆系统-e强制用户在下次登陆时修改密码-S显示用户的密码是否被锁定以及密码所采用的加密算法全称
接下来我们尝试修改root和普通用户的密码 userdel命令
userdel命令用于删除用户格式为“userdel 【选项】用户名”
参数作用-f强制删除用户-r同时删除用户及其用户目录
尝试一下 文件权限与归属
尽管在Linux系统中一切都是文件但每个文件的类型不尽相同因此Linux系统使用了不同的字符加以区分常见的字符如下所示 在Linux系统中每个文件都有所属的所有者和所有组并且规定了文件的所有者所有组以及其他人对文件所拥有的可读r、可写w、可执行x等权限。对与一般文件来说权限比较容易理解
“可读”表示能够读取文件的实际内容
“可写”表示能够编辑新增修改删除文件的实际内容
“可执行”表示能够运行一个脚本程序
但是对应目录文件来说理解其权限设置来就不那么容易。
对于目录文件来说
”可读“表示能够读取目录内的文件列表
”可写“表示能够在目录内新增删除重命名文件
”可执行“表示能够进入该目录
文件的读、写、执行权限可以简写成 rwx也可以分别用数字表示 421.文件所有者所属组及其他用户权限之间无关联 文件权限的数字法表示基于字符表示rwx的权限计算而来其目的是简化权限表示。
例如某个文件的权限为7则代表可读可写可执行421
若权限为6则代表可读、可写不可执行42 文件的特殊权限
在复杂多变的生产环境中单纯设置文件的rwx权限无法满足我们对安全和灵活性的需求因此便有了SUID,SGID,SBIT的特殊权限位。这是一种对文件权限进行设置的特殊功能可以与一般权限同时使用以弥补一般权限不能实现的功能。
SUID
SUID是一种对二进制程序进行设置的特殊权限。可以让二进制程序的执行者临时拥有属主的权限仅对拥有执行权限的二进制程序有效。
例如
所有用户都可以执行passwd命令来修改自己的用户密码而用户密码保存在/etc/shadow文件中。仔细查看这个文件就会发现它默认权限是000也就是说除了root管理员外所有用户都没有查看或编辑这个文件的权限。但是在使用passwd命令时如果加上SUID特殊权限位就可让普通用户临时获得程序所有者的身份把变更的密码信息写入到shadow文件中。
我们先简单介绍一个特殊权限内容太多不好消化下篇继续。