目录
Linux基于用户身份对资源访问进行控制
-
用户账号
管理员用户(root)、普通用户、程序用户
管理员用户:root用户是linux操作系统中默认的超级用户账号,对本主机拥有至高无上的权限,类似于Windows操作系统中的administrator用户。只有当进行系统管理,维护任务时,才建议使用root用户登录系统。日常事务处理建议只使用普通用户账号。(考虑到安全方面)root拥有对系统的最高管理权限 ID=0。
普通用户:普通用户账号需要由root用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中拥有完整权限。
程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,而仪用于维持系统或某个程序的正常运行,如 bin、daemon、ftp、mail 等伪用户一般不会用来登录系统的,它主要是用于维持某个服务的正:常运行,如: ftp,apache
- 组账号
系统组、基本组(私有组)、附加组(公共组)
系统组:1-499 (centos6) , 1-999 ( CENTOs7 )普通组:500+( centos6) ,1000+ (CENTOS7I表示该账户需要密码才能登录,为空时,账户无须密码即可登录组账号
基本组:基于某种特定联系(如都需要访问FTP服务)将多个用户集合在一起,即构成一个用户组,表示该组内所有用户的账号称为组账号。每一个用户账号至少属于一个组,这个组称为该用户的基本组(或私有组)
附加组:若该用户同时还包含在其他的组中,则这些组称为该用户的附加组(或公共组)。例如,用户zhangsan是技术部的员T.与部门l内的其他同事同属于基本组 tech,后来因工作安排需要,公司将 zhangsan加入邮件管理员组 mailadm,则此时用户 zhangsan同时属于tech、mailadm 组,tech组是共基本组账号,而 mailadm组是附加组账号。
- UID和GID
UID(User IDentity,用户标识号)
GID (Group IDentify,组标识号)
用户账号文件/etc/passwd
保存用户名称、宿主目录、登录shell等基本信息
-
文件位置:/etc/password
-
每一行对应一个用户的账号记录
用户账号文件/etc/shadow
保存用户密码、账号有效期等信息
- 文件位置/etc/shadow
- 每一行对应一个用户的密码记录
字段一:用户账号的名称
字段二:使用MD5加密的密码字串信息,当为"*“或”!!"时表示此用户不能登录到系统。若该字段内容为空,则该用户无须密码即可登录系统
字段三:上次修改密码的时间,表示从1970年01月01日算起到最近一次修改密码时间隔的天数
字段四:密码的最短有效天数,自本次修改密码后,必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制
字段五:密码的最长有效天数,自本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制
字段六:提前多少天警告用户密码将过期,默认值为7
字段七:在密码过期之后多少天禁用此用户
字段八:帐号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算) ,默认值为空,表示账号永久可用。
字段九:保留字段(未使用)
添加用户命令
- userdaa命令
useradd 【选项】.... 用户名 |
常用选项
- -u :指定用户的UID号,要求该UID号码未被其他用户使用。
- -d:指定用户的宿主日录位置(当与-M一起使用时,不生效)。
- -e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
- -g:指定用户的华本组名(或使用GID号)。
- -G:指定用户的附加组名 (或使用GID号)。
- -M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。
- -s:指定用户的登录Shell环境。 /bin/bash /sbin/nologin
passwd命令
调用管道符,给 指定 用户设置密码“123",为了方便系统管理,passwd 命令提供了--stdin选项,用于批量给用户设置初始密码。
选项 | 说明 | |||||
-d | 清空指定用户的密码,仅使用用户名即可登录系统 | |||||
-l | 锁定用户账户,锁定的用户账号将无法再登录系统 | |||||
-S | 查看用户账户的状态(是否被锁定) | |||||
-u | 解锁用户账户 |
echo设置密码方式
echo“”“密码” |passwd --stdin 用户名
添加用户账号useradd
选项 | 说明 | |||||
-u | 指定用户的UID号,要求改UID号码未被其他用户使用 | |||||
-d | 指定用户的宿主目录位置(当和-M一起使用时,不生效) | |||||
-e | 指定用户的基本组名 | |||||
-g | 指定用户的附件组名 | |||||
-M | 不建立宿主用户,即使/etc/login,dets,系统配置中已设置 要建立宿主目录 | |||||
-s | 指定用户的登录shell环境,/bin/bash /sbin/nologin | |||||
-G | 指定用户的附加组名 |
在/etc/passwd文件和/etc/shadow文件的末尾增加该用户账号的记录。
若未明确指定用户的宿主目录,则在/home目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件。
若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/group和/etc/gshadow文件中。
userdel 删除用户
userdel -r 用户名
添加-r选项是,表示连用户的宿主目录一起删除
组长号文件
与组账号相关的配置文件也有两个,分别是/etc/group和/etc/gshadow。前者用于保存组账号名称、GID号、组成员等基不信息,后者用于保存组账号的加密密码字串等信息(但是很少使用到)。某一个组账号包含哪些用户成员,将会在group 文件内最后一个子段中体现出来(基本组对应的用户账号默认可能不会列出),多个组成员之间使用 "," (逗号)分隔
gpasswd命令
-a:添加用户到组
-d:从组册删除用户-A:指定管理员
-M:指定组成员和-A的用途差不多
-r:删除密码
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组
将用户加入root组:
groups命令:查看目标用户所属的组(基本组和附加组)
group [用户名]
groups adm
finger命令:查询用户账号的详细信息
finger [用户名]
查看目录和文件属性
如"drwxr-xr-x"和 "-rw-r--r--” 权限字段由四部分组成,各自的含义如下所述。
1、第1个字符:表示该文件的类型,可以是 d (目录)、b (块设备文件)、c (字符设备文件)、"-” (普通文件)、字母 “l” (链接文件)等。
2、第2~4个字符:表示该文件的属主用户(User)对该文件的访问权限。
3、第5~7个字符:表示该文件的属组内各成员用户(Group)对该文件的访问权限。
4、第8~10 个字符:表示其他任何用户 (other)对该文件的访问权限。
5、第11 个字符:这里的"."与 SELinux 有关,目前不必关注
文件/目录的权限归属
访问权限
- 读取r:允许查看文件内容、显示目录列表
- 写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
- 可执行x:允许运行程序、切换目录
归属(所有权)
- 属主:拥有该文件或目录的用户帐号
- 属组:拥有该文件或目录的组帐号
chown命令
chown 属主 文件或目录
chown 属组 文件或目录
chown 属主 :属组 文件或目录
常用选项
-R:递归修改指定目录下所有文件、子目录的归属
权限掩码umask
umask作用
控制新建的文件或者目录的权限
默认权限去除umaks的权限为新建的文件或者目录的权限
umask设置:umask 022
umask查看:umak
示例
将umask设为000,新建目录或者文件,查看权限
将umask设为002,新建目录或者文件,在查看权限
"ugoa"表示该权限设置l所针对的用户类别。“u"代表文什属主,“"g"代表文什M组内的用户,“o"代表其他任何用户的~代表所有用广(u、g、o的总和)
”+-=”表示设翼权限的操作动作。"+""代表增加相应权限,"-"代表减少相应权限,“=”代表仅设置对应的权限。
”rwx”是权限的字符组合形式,也可以拆分使用,如“r”"rx”等。
总结:
1、用户账号管理:建立账号,设置密码,锁定密码,修改模式,锁定账号,解锁账号,修改登录方式,最后删除用户
2、组账号管理:建立组账号,添加用户进入组账号,添加组账号,删除组账号
3、用户账号文件与组账号文件:用户账号文件和组账号文件放置位置passwd shadow grpup看看位置在哪 然后如何查看
4、查询账号相关信息的命令:查看组账号 查看用户 查看用户详细信息 查看远程用户终端
5、设置目录与文件权限:给用户的每个目录每个文件修改其权限 属主/属组
6、设置目录与文件归属:给整个文件和目录的归属 给他们一个大权限 比如有些权限只能张三用户查看 还有root账户可以查看 root是最高权限