1.用户和组
1.1常用的几个文件:
/etc/passwd 用户信息文件
/etc/shadow 用户密码文件
/etc/group 用户组文件
/etc/default/useradd 用户创建时候配置文件
1.2用户:
linux每个用户拥有一个UID标识,和一个主组GID,可以拥有多个用户组的附属组GID
UID 0为root用户的UID
UID 1-999为系统用户UID
UID 1000开始为普通用户UID
1.3用户组
linux 每个用户组拥有一个GID
组信息保存在/etc/group中
每个用户可以属于一个主组,和31个附属组
用户首先取得主组的属性权限,在取得附属组的属性权限
1.4常用的用户和用户组命令
useradd(添加用户)
-d 指定用户的主目录
-u 指定用户uid
-s 指定用户的shell
-g 指定用户的主组
-G 指定用户的附组
-e 指定过期时间
-r 创建系统用户
groupadd(添加用户组)
-g 指定gid
-p 设置组密码
-o 允许使用重复的gid
usermod(修改用户信息)常见参数参考useradd
另:-U为解锁用户
-Z, --selinux-user SEUSER 用户账户的新SELinux 用户映射
groupmod(修改组信息)
-g 设置新的gid
-n 修改组名
userdel,groupdel删除用户信息
演示一个创建用户和用户组的实例
2.权限
2.1文件权限介绍
每个文件和目录都属于一个用户和用户组
linux下文件和目录基础权限分为三种
r 表示读取权限
w 表示写权限
x 表示执行权限
每个文件有三组权限,分别对应用户,用户组,和其他用户
其中a目录rwx为拥有目录的用户的权限r-w为拥有目录的组的全下,第三个r-x为其他用户的权限
文件newfile用户的权限为rw 组的权限为r 其他用户权限为r
linux也习惯将文件的权限用二进制的方式表示
r权限100,换算十进制数为4
w权限010,换算十进制数为2
x全下001,换算十进制数为1
如果某个群体例如用户组拥有读,写,执行的权限那么用户组的权限就为7(4+2+1)
2.2 umask 权限掩码
系统默认掩码为022,即创建目录时的权限等于最高权限777-umask,文件为666-umask,文件必须拥有r的权限,目录必须拥有x的权限
2.3特殊权限
在Linux权限中,除了普通权限外,还有如下表5-2所示,三个特殊权限:
权限 |
对文件的影响 |
对目录的影响 |
Suid |
以文件的所属用户身份执行,而非执行文件的用户 |
无 |
sgid
|
以文件所属组身份去执行 |
在该目录中创建任意新文件的所属组与该目录的所属组相同 |
sticky
|
无 |
对目录拥有写入权限的用户仅可以删除其拥有的文件,无法删除其他用户所拥有的文件 |
表5-2 Linux三种特殊权限
Linux中设置特殊权限方法如下:
q 设置suid: chmod u+s jfedu.net
q 设置sgid: chmod g+s jfedu.net
q 设置sticky: chmod o+t jfedu.net
特殊权限与设置普通权限一样,可以使用数字方式表示:
q SUID = 4
q SGID = 2
q Sticky = 1
注:特殊权限SUID仅对二进制文件有效,sgid可以对目录生效,Sticky对目录有效
例如:passwd 修改自己的密码
修改权限的命令为chmod
u+rwx o+rwx g+rwx或u-w,o-w,g-x
特殊权限
chmod u+s,g+s,o+t或者u-s g-s o-t