用户权限管理
用户管理:
- useradd,userdel,usermod(用户创建删除修改)
例1.创建一个名为zs的用户
查看/etc/passwd可以看到新创建的用户信息
可以看到zs的家目录默认为/home/zs,其shell默认为/bin/bash,其中两个501中,第一个501代表zs用户的用户id,后一个501代表zs所在组的组id(没有指定,则默认组与用户名相同)
为新用户ls指定用户组id501,即zs
可以看到用户ls的用户id为502,组id为501
例2. 删除用户
- passwd
给用户设置密码(修改密码)
修改密码只输入一次(--stdin)
用户ID:root的id为0,普通用户id从500往后排
- chsh
修改用户默认shell,设置一个用户不能登录
用户shell为/bin/bash才可登录,为/sbin/nologin为不可登录
例:修改zs不能登录
修改回来后恢复可登录
-
id
看到用户相关Id
-
修改密码有效期(默认有效期为99999天)
/etc/shadow配置文件可以看到密码有效期为99999天(距离1970年1月1号),创建时间为17842天(距离1970年1月1号)
这里先说一下文件权限的概念
对于install.log这个文件,文件信息的最前方有10位,第一位表示文件类型,后9位每3位代表一个权限组。第一个权限组代表用户所有者的权限,可以看到用户所有者是root,权限是可读可写(不可执行x,x对于目录来说是进入到目录里,对于文件来说是可执行);第二个权限组代表用户所在组其他用户对该文件的权限,可以看到是只读;第三个权限组代表其他用户对该文件的权限,可以看到是只读。
注:ll是ls -l的简写
- chmod和chown
修改文件权限和修改文件所有者
注:只有管理员才能使用chown
例:删除文件instll.log(拥有者是root)
zs属于非root用户组用户,权限是只读,所以在执行删除操作时显示权限不够
chmod命令修改install.log的其他用户组权限(其他简写o),加上(+)权限w(可写即也可删)
此时看到权限还是不够,原因是虽然文件权限已经修改,但是文件所有者为root,其他用户对于install.log文件(有w权限)只有写权限,没有删除权限。必须修改文件所有者为zs,才可以进行删除(即拥有w权限加上文件所有者才能删除)
chown命令可以把修改文件所有者,zs用户下无法修改root的install.log用户所有者,切换到root用户下利用chown命令将Install.log文件的所有者改为zs
ps:这里暂时没有成功,以后再回来补
补:经过资料查找,终于知道/home这个目录下只有root才有权限管理,普通用户对/home目录没有权限。如下图,可以看到对于目录/home来说,组用户和其他用户都是可读可执行,没有可写权限,加上可写权限后上述删除命令就可以正常执行了。
修改完home的权限为777,不能把后边的两个组的x去掉,不然su切换命令会失效
此时删除install.log成功
对于文件权限,可以用二进制表示,修改的时候也可利用二进制进行修改。
如001 111 100表示对应位置权限有无,1代表有,0代表无。该权限代表对于文件所有者不可读不可写可执行,对于组用户可读可写可执行,对于其他用户只读。
此处666代表110 110 110,即对于所有用户,权限都是可读可写
三类用户 u:属主,g:属组,o:其他用户