用户(user)和用户组(group)
Linux 系统中存在三种用户:root 用户、系统用户(也称之为伪用
户)、普通用户
系统约定: RHEL6
uid: 0 特权用户
uid: 1~499 系统用户
uid: 500+ 普通用户
用户和用户组的对应关系是:一对一、多对一、一对多或多对多;
Linux权限基于UGO模型进行控制;U代表User,G代表Group,O代表Other;
每一个文件的权限基于UGO进行设置
Linux的基本权限分为读、写、执行(r、w、x),可用数字4、2、1来表示
1.用户管理:
添加用户:useradd
参数
-d 指定用户的家目录(默认为/home/username)
-e 账户的到期时间,格式为YYYY-MM-DD #默认创建用户无过期
-u 指定该用户的默认UID #系统创建时默认给用户分配的ID
-g 指定一个初始的用户基本组(必须已存在)#主组
-G 指定一个或多个扩展用户组 #附加组
-s 指定该用户的默认Shell解释器
删除用户:userdel
参数
-f 强制删除用户
-r 同时删除用户及用户家目录
修改用户: usermod
参数
-c 填写用户账户的备注信息
-e 账户的到期时间,格式为YYYY-MM-DD
-g 变更所属用户组
-G 变更扩展用户组
-L 锁定用户禁止其登录系统
-U 解锁用户,允许其登录系统
-s 变更默认终端
-u 修改用户的UID
当用户被创建后,保存在哪里,以什么形式保存,有哪此配置文件有关?
more /etc/shadow #用户密码信息
more /etc/group #组信息 #
more /etc/gshadow #组密码信息 #
2.用户组管理
添加用户组:groupadd
删除用户组:groupdel
修改用户组:groupmod
-c 修改用户帐号的备注文字。
-d 修改用户登入时的目录。
-e 修改帐号的有效期限。
-f 修改在密码过期后多少天即关闭该帐号。
-g 修改用户所属的群组。
-G 修改用户所属的附加群组。
-l 修改用户帐号名称。
-L 锁定用户密码,使密码无效。
-s 修改用户登入后所使用的shell。
-u 修改用户ID。
-U 解除密码锁定。
3… Linux特殊权限
特权权限是为了让一般用户在执行某些程序的时候,能够暂时具有该程序拥有者的权限
SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有
执行权限的二进制程序有效)
SGID让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置)
SBIT特殊权限位可确保用户只能删除自己的文件,而不能删除其他用户的文件,通常对目录设置
chmod #用于设置文件或目录的权限
chown #用于修改文件属性和权限
chgrp #用于修改文件属性和权限
SUID: s出现在文件所有者的x权限上。
1)SUID只能用于二进制可执行文件,对目录无效
2)执行者若具有该文件的x权限,则将具有文件所有者的权限
3)权限只在文件执行时有效,执行完毕不再拥有所有者权限
例:
SGID: s出现在文件所属群组的x权限上。
SGID和SUID不同,可以用于目录
1)使用者若有此目录的x,w权限,则可进入和修改此目录
2)使用者在此目录下的群组将变成该目录的群组,新建的文件,群组是此目录的群组。
SGID对于文件来说
1)SGID只对二进制可执行文件有效
2)执行者若具有该文件的x权限,则将具有文件所属群组的权限
3)权限只在文件执行时有效,执行完毕不再拥有所属群组权限
SBIT: t出现在文件其他用户的x权限上。
1)和SUID,SGID不同的是,只能用于目录
2)使用者在该目录下,仅自己与root才有权力删除新建的目录或文件
#suid,sgid,sbit数字表示
SUID 4
SGID 2
SBIT 1
4. Linux Umask
默认情况下的umask值是022
建立的文件默认权限是644(6-0,6-2,6-2)
建立的目录的默认权限是755(7-0,7-2,7-2)
常用umask值及对应文件和目录权限
umask 目录 文件
022 755 644
027 750 640
002 775 664
006 771 660
007 770 660