1, 管理用户命令
1)创建用户,默认会创建一个相同名称的用户组,创建用户后,会在/home目录下生成一个用户名称的目录
用法:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
#useradd zc #groups zc zc:zc
2)为zc账号创建密码
#passwd zc
3)删除用户
用法:
-r 用户号,把用户的主目录一起删除
#userdel zc
2, 一个关于用户权限的例子
说明:现在有两个用户zc,zc2;zc属于zc用户组,zc2属于zc2用户组,两个用户同时向一个目录写入文件。
在zc,zc2的目录下分别放有tomcat服务,分别用zc,zc2,启动各自的tomcat服务。有一个接口http://xxx.xxx.xxx.xxx:8081/hscheck/check是向服务器/data/zc下写文件。zc目录对所有用户及用户组都具有读写权限,即其权限为drwxrwxrwx
1)首先调用zc的接口http://xxx.xxx.xxx.xxx:8080/hscheck/check,向/data/zc目录下写入文件
2)再调用zc2的接口http://xxx.xxx.xxx.xxx:8081/hscheck/check,向/data/zc目录下写入文件,此时zc2用户是没有写入权限的,因为/2015/08/目录为zc用户创建,zc2对此目录没有写权限
解决方法:
将zc,zc2分配到同一组,使用usermod命令
起初我使用:usermod -a -G zc zc2命令,将zc2用户放入zc用户组中,但仍报权限错误,这里要指出一点,使用-a -G参数是在zc用户组中添加zc2用户,但zc2也属于zc2用户组,即zc2有2个用户组zc2,zc,其中zc2为zc2用户的主要用户组
所以应该使用usermod -g zc zc2命令,将zc2的主要用户组改为zc,这样再次调用zc2的接口,此时zc2能在zc创建的目录写入数据。