部分内容总结—Linux账户与安全详解
前言
Hello,各位码友,大家好。昨天我们一起学习了Vim文档编辑,讲一句心里话奥,搞得我头大…不过我还是决定要坚持学下去,毕竟课程的进度不会因为我一句头大就会停下来(毕竟钱已经花了,555~~·),坚持,坚持就是胜利。
今天我们一起来学习一下Linux账户与安全,账户安全是系统安全的第一道屏障,也是系统安全的核心,保障登录账户的安全,在一定程度上可以提高服务器的安全级别。今天一定要好好听讲,安全第一嘛(毕竟我还不想挂科,嘿嘿)。
希望有所帮助,喜欢的话,点个一键三连支持一下呗,感激不尽感激不尽。
账户与安全
账户和组的概念
Linux系统对账号与组的管理师通过ID号来实现的,在登陆操作系统的时候需要输入账号和对应的密码操作系统会将账号转化为ID号在判断该账号是否存在并核对面是否与该账号匹配。
在Linux的世界中,用户的的ID被称之为UID,组ID号被称之为GID。其中,UID为0,代表超级管理员,也就是root账号,1~499之间的ID好系统会预留下来,这样的话若是创建普通用户的ID好就会从500开始算起。
linux操作系统中的组分为基本组和附加组,一个用户同一时刻仅可以加入一个基本组中,但是却可以同时加入多个附加组。默认在创建用户时,系统默认会自动创建同名的组,并设置用户加入该基本组中。
创建账户及组
使用系统命令useradd可以创建我们需要的账户,groupadd命令用来创建组账户需要注意的是,创建账户及组时需要拥有管理员权限。
1.useradd
描述:创建新账号
用法:useradd[选项] 用户名称
选项:
-c 设置账号描述信息,一般为账号全称
-d 设置账号家目录,默认为/home/用户名
-e 设置和账户的失效日期,而过后四位YYYY-MM-DD
-g 设置账户的基本组
-G 设置账户的附加组,多个附加组中间用逗号隔开
-M 不创建账户家目录,一般与-s结合使用
-s 设置账户的登录Shell,默认为bash
-u 指定账户UID
useradd Frank #创建普通账户Frank,以及对应的组
useradd -c administrator -d /home/admin -e 2013-12-24 \
-g root -G bin,adm,mail admin
注意:
上述命令中,\的作用换行输入命令。命令比较长时会经常用到
创建普通账户,名称为admin,全名为administrator,账户家目录为/home/admin,账户基本组为root,附加组为bin、adm、mail。
创建无法登陆系统且没有家目录的用户user2,详见下面的命令。
useradd -s /sbin/nologin -M user2
2.groupadd
描述:创建组账户
用法:groupadd[选项] 组名称
选项:
-g 设置组ID号。
groupadd tom #创建tom组
groupadd -g 1000 jerry #创建GID为1000的组jerry
3.id
描述:显示账户及组信息
id root #查看root账户及相关组信息
修改账户及组
1.passwd
描述:更新账号认证信息
用法:passwd[选项] [账户名称]
选项:
-l 锁定账户,仅root可以使用这个命令
–stdin 从文件或管道读取密码。
-u 解锁账户
-d 快速清空账户密码,仅root可使用这个命令
passwd #为当前用户设置新的密码
修该密码时如果提示(current)UNIX password信息,则先输入原始密码以修改新密码;提示New password信息时候即可输入新的密码;提示Retype newpassword信息时,再此确定输入的密码,注意面的复杂度问题。提示passwd: all suthentication tokens updated successfully信息说名修改成功
passwd tom #指定修改tom的面
echo “qwer0987” |passwd --stdin tom #设置tom的密码为qwer0987
passwd -l tom #锁定账户tom
passwd -u tom #解锁账户tom
passwd -d tom #清空账户tom的密码(无密码可登陆系统)
2.usermod
描述:修改账户信息
用法:usermod[选项] 账户名称
选项:
-d 修改账户家目录
-e 修改账户失效日期
-g 修改账户所述基本组
-G 修改账户所属附加组
-s 修改账户登录Shell
-u 修改账户UID
usermod -d /home/tomcat tom #修改tom的家目录,/home/tomcat 目录必须存在
usermod -e 2017-10-01 tom
usermod -g mail tom #修改账户tom的基本组为mail
usermod -s /bin/bash user2 #修改user登录Shell为bash
usermod -u 1001 tom #修改tom的UID为1001
删除账户及组
1.userdel
描述:删除账户及相关文件
用法:userdel[选项] 账户名称
选项:
-r 删除账户及相关文件
userdel tom #删除账户tom,但该账户的文件不删除
userdel tom #删除账户tom,并删除相应的家目录
2.groupdel
描述:删除组账户
groupdel jerry #删除组jerry
账户与组文件解析
账户信息文件
账户信息被保存在/etc/passwd文件中,通过命令cat/etc/passwd查看文件内容如下图:
账户密码文件
账户密码信息被保存在/etc/shadow文件汇总,通过命令cat /etc/shadow查看文件内容如下:
组账户信息文件
组账户信息被保存在/etc/group文件中,通过命令cat /etc/group查看文件内容如下:
组账户密码文件
组账户密码信息被保存在/ect/gshadow文件中,通过命令cat /ect/gshadow查看内容如下:
通过<gpasswd 组名>的方式可以为组设置面,通过<gpasswd -A 账户名称 组账户名称>可以为组添加管理员。
gpasswd admin #设置组密码
gpasswd -A mail admin #将mail中行户设置为组admin的管理员
文件及目录权限
概念
Linux权限朱啊哟分为读、写、执行三种控制,使用ls -l命令查看文件或目录信息时,系统会显示为r(读取权限)、w(写入权限)、x(执行权限),下图为ls -l显示的信息
对于权限的表示,除了可以使用比较直观的rwx表示外,还可以使用数字表示,下表列出了他们之间的关系,以及这些权限对文件与目录的含义,如果同样是x或者l的权限,对于文件来说x代表可执行,对于目录来说x代表用户有权进入该目录。
数字 | 字符 | 文件 | 目录 |
---|---|---|---|
4 | F | 查看文件内容 | 查看目录下的文件或目录名称 |
2 | W | 修改文件内容 | 在目录下增、删、改文件与目录名称 |
1 | X | 可执行,一般为程序或脚本 | 可以用cd命令进入该目录 |
修改文档属性
1.chmod
描述:改变文件或目录权限
用法:chmod[选项] 权限 文件或目录
选项:
–reference=RFILE 根据参考文档设置权限
-R 递归将权限应用于所有的子目录与子文件
chmod命令参数中,u代表所有者,g代表所数组,o代表其他用户,a代表所有人。
使用字符形式修改权限的另一种形式,是在原有权限的基础上修改权限,方法是使用+/-权限的方式。下面的例子通过chmod命令将install.log文件所属组权限在原有权限基础上减去执行的权限,其他人的权限可在原有权限的基础上减去修改与执行的权限。
除了使用字符的方式修改权限外,chmod还支持使用数字的方式修改权限。
最后以其他文档作为参考修改权限。
chmod --reference=install.log.syslog install.log #yi install.log.syslog为标准修改install.log的权限
2.chown
描述:修改文件或目录的所有者与所属组
用法:chown[选项] [所有者] [:[所属组]]文件或目录
选项:
-R 递归将权限应用于所有的子目录与子文件。
chown user2:mail install #修改文件的所有者为user2,所述组为mail
chown :root install #仅修改文件所属组为root
chown root install #仅修改文件所属者为root
账户管理案例
我们来做一个案例。比如说有这样一个名为MM的从事教育培训的公司,这家公司的主要结构分为教研室(teach)、校长办公室(office)、财务部(finance)、行政部(admin)、市场部(market)这几个部门。为了后期部署文件共享服务器,我们需要为每个部门创建各自独立的共享目录,根据要求为所有的普通员工创建各自独立的账户,这些账户值需要读即可,并未每个部门的负责人创建一个管理账户(管理员的名称为Op_部门名称),这个账户要求可以进行读写操作。为了后期管理方便,需要为每个部门创建与部门名称同名的组账户。
#创建共享目录
mkdir -p /var/{teach,office,finance,admin,market}
#创建组账户
groupadd teach
groupadd finance
groupadd office
groupadd admin
groupadd market
#创建管理员账户
useradd -g teach Op_teach
useradd -g office Op_office
useradd -g finance Op_finance
useradd -g admin Op_admin
useradd -g market Op_market
#创建普通员工账户
useradd -g teach endy
useradd -g office lucy
useradd -g finance jacob
useradd -g admin jerry
useradd -g market marry
id jacob
#添加组管理员
gpasswd -A Op——teach teach
gpasswd -A Op_office office
gpasswd -A Op_finance finance
gpasswd -A Op_admin admin
gpasswd -A Op_market market
chown Op——teach.teach /var/teach
chown Op_office.office /var/office
chown Op_finance.finance /var/office
chown Op_admin.admin /var/admin
chown Op_market.market /var/market
chmod 755 /var/{teach,office,finance,admin,market}
本次分享就到这里,你学废了吗?
喜欢的话点个一键三连支持一下呗!
希望有所帮助。