Linux环境下帐号和权限管理
bash
1、管理用户帐号和组帐号服务器
1.1用户帐号和组帐号概述ide
与Windows系统相比,Linux系统中的用户帐号和组帐号的做用在本质上是同样的。测试
1.1.1用户帐号spa
Linux系统中,系统管理奖用户帐号分为不一样的类型,其权限、角色也各不相同。3d
超级用户: Root默认超级管理员,拥有最高权限blog
普通用户: 由root用户或其余管理员建立,在本身宿主目录中有文正权限递归
程序用户: 安装Linux系统及部分应用程序是,添加的一些特定的低权限用户,通常不容许登陆系统,而仅用于维持系统或某个程序的正常运行
开发
1.1.2组帐号 get
每一个用户至少属于一个组,称为基本组(私有组),若用户同时还包括在其余的组中,称为附加组(公共组)。
1.1.3UID和GID号
每一个用户帐号都有一个数字形式的身份标记,称为UID(user Identity用户标识号),对系统核心来讲,UID做为区分用户的基本依据,原则上每一个用户的UID号应该是惟一的,root用户的UID为固定值0,而程序用户UID号默认1~499, 500~60000UID号默认分配给普通用户使用。
每一个组帐号都有一个数字形式的身份标记,称为GID(group Identity组标识号),root组帐号的GID为固定值0,而程序组帐号GID号默认1~499, 500~60000UID号默认分配给普通组帐号使用。
2.2 用户帐号管理
2.1.1 用户帐号文件
/etc/passwd 保存用户名称、宿主目录、登陆Shell等基本信息
/etc/shadow 保存用户的密码,帐号有效期等信息
/etc/skel 用户模板目录
查看/etc/passwd和/etc/shadow文件
2.2.2 添加、删除、修改用户帐号
useradd命令
命令格式 useradd [选项] [用户名]
经常使用命令选项
-u:指定 UID 标记号
-d:指定宿主目录,缺省为 /home/用户名
-e:指定账号失效时间
-g:指定用户的基本组名(或UID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户创建并初始化宿主目录
-s:指定用户的登陆Shell
建立用户并查看信息
passswd命令——为用户建立密码
命令格式 passwd [选项] 用户名
经常使用命令选项
-d:清空用户的密码,使之无需密码便可登陆
-l:锁定用户账号
-S:查看用户帐号的状态(是否被锁定)
-u:解锁用户帐号
usermod命令——修改用户帐号属性
命令格式 passwd [选项] 用户名
经常使用命令选项
-l:更改用户账号的登陆名称
-L:锁定用户帐户
-U:解锁用户帐户
如下选项与useradd命令中的含义相同
-u、-d、-e、-g、-G、-s
userdel 命令——删除用户帐号
命令格式 passwd [选项] 用户名
添加 -r 选项时,表示连用户的宿主目录一并删除
2.2.3 用户帐号的初始配置文件
文件来源 新建用户账号时,从 /etc/skel 目录中复制而来
主要的用户初始配置文件
~/.bash_profile:用户每次登陆时执行
~/.bashrc:每次进入新的Bash环境时执行
~/.bash_logout:用户每次退出登陆时执行
3.1 组帐号管理
3.1.1 组帐号文件
与用户账号文件相相似
/etc/group:保存组账号基本信息包括名称、GID号、组成员等
/etc/gshadow:保存组账号的密码信息
3.1.2 添加、删除、修改组帐号
groupadd命令——添加组帐号
命令格式 groupadd [选项] 组帐号名称
选项 -g 指定GID号
gpasswd命令——添加、设置、删除组成员
用途:设置组账号密码(极少用)、添加/删除组成员
命令格式 gpasswd [选项] 组帐号名
选项 -a 添加组成员
-d 删除组成员
groupdel命令——删除组帐号
命令格式 groupdel 组帐号
4.1 查询帐号信息
id命令
用途:查询用户身份标识
命令格式 id [用户名]
groups命令
用途:查询用户所属的组
命令格式 groups [用户名]
finger命令
用途:查询用户账号的详细信息
命令格式 finger [用户名]
users、w 、who命令
用途:查询已登陆到主机的用户信息
命令格式 user
w
who
2、管理目录和文件的属性
Linux文件系统赋予了两个属性:访问权限和文件全部者,简称为权限和归属。
访问权限
读取 r:容许查看文件内容、显示目录列表
写入 w:容许修改文件内容,容许在目录中新建、移动、删除文件或子目录
可执行 x:容许运行程序、切换目录
归属(全部权)
属主:拥有该文件或目录的用户账号
属组:拥有该文件或目录的组账号
1.1查看目录和文件的属性
上图 红框内共有11个字符,解释以下:
第1个字符:表示该文件的类型,d(目录)、b(块设备文件)、c(字符设备文件)、-(普通文件)、字母l(连接文件)等。
第2~4个字符:文件的属主用户对文件的访问权限
第5~7个字符:文件的属组内各成员用户对文件的访问 权限。
第8~10个字符:其余任何用户对文件的访问权限
第11个字符:这里“ . ” 与SELinux有关,目前没必要关注
权限字符在文件和目录中的含义
权限 文件 目录
r查看文件内容 查看目录内容(显示子目录、文件列表)
w修改文件内容 修改目录内容(在目录中新建、移动、删除文件或子目录)
x执行该文件(程序或脚本) 执行cd命令进入或退出该目录
1.2设置目录和文件 的权限
chmod 命令——设置文件或目录的权限
命令格式 chmod nnn 文件或目录
nnn 表示数字权限或者rwx
经常使用选项 -R 表示递归修改指定目录下全部子项的权限
1.3 设置目录和文件的归属
chown 命令——设置文件或目录的权限
命令格式 chown 属主:[属组] 文件或目录
chown 属主 文件或目录
chown :属组 文件或目录
经常使用选项 -R 表示递归修改指定目录下全部子项的权限
3、实验演示
公司的Linux主机即将提供给技术部做为开发服务器使用,根据部门内项目组的构成状况,首先须要创建相应的组帐号、用户帐号,并为相关目录设置权限;还须要设置一个公用的数据存储目录,便于同事之间的数据交换。
需求描述
创建用户目录
建立目录/tech/kaifa和/tech/ceshi,分别用于存放各项目组中用户帐号的宿主文件夹。例如:kaifa1用户的宿主目录应位于/tech/kaifa。
添加组帐号
为两个项目组添加组帐号kaifa、ceshi,GID号码分别设置1001,1002.
为kaifa部添加组帐号tech,GID号设置为200。
添加用户帐号
kaifa组包括三个用户,分别是kaifa一、kaifa二、kaifa3。宿主目录均使用/tech/kaifa/目录中与帐号同名的文件夹,其中kaifa3用户帐号设置为2017年12月31日失效。
ceshi组包括两个用户,分别是ceshi一、ceshi2。宿主目录均使用/tech/ceshi/目录中与帐号同名的文件夹,其中ceshi2用户帐号的登陆Sell设置为/bin/sh。
上述全部用户要求加入到tech组内。
设置目录权限及归属。
将/tech目录的属组设置为tech,去除其余用户的全部权限。
将/tech/kaifa目录的属组设置为kaifa,去除其余用户的全部权限。
将/tech/ceshi目录的属组设置为ceshi,去除其余用户的全部权限。
创建公共数据存储目录
建立/public目录,容许全部kaifa组内的用户读取,写入,执行,非kaifa组的用户禁止访问此目录。
实验步骤:
一、使用mkdir建立/tech/kaifa,/tech/ceshi和/public公共目录
二、使用groupadd命令依添加上述组帐号,并指定GID号
三、使用useradd命令依次建立上述要求的用户帐号和普通用户
查看失效用户
四、使用passwd命令为用户建立密码
五、将全部用户加入到tech组内
六、 使用chown、chmod命令设置上述目录权限和归属。
七、 设置公共文件夹的权限和归属。
八、 测试