当一台服务器上,既有测试环境,也有生成的环境,开发需要在线上测试,如果开发生产环境的权限,那开发容易误操作
需求如下:
(1)生产环境的代码,必须有专用的账号登陆进行管理
(2)开发测试环境的代码,开发能够访问,但访问不了生产环境目录
位了实现这个目的,操作如下
(1)将生产的环境的用户组和拥有者都修改为www
//修改用户
chown -R www /product-folder
//修改组
chgrp -R www /product-folder
(2)设置生产环境的权限为775,也就是只有拥有者,同组的人才能有权限读写,其它人只能读
chmod 775 -R /product-folder
(3) 所有开发都在一个组里面,新建开发的组
groupadd dev
(4) 创建开发 uesr1 user2 并添加到组dev
useradd user1 -d /home/user1
//修改密码
passwd user1
//用户添加到组
gpasswd –a user1 dev
(5) 假设测试的目录为/test-folder, 保持/test-folder的Apache权限
保持/test-folder的Apache权限
chown -R www /test-folder
chmod 775 -R /test-folder
将测试目录的组分配给开发
chgrp -R dev /test-folder
到这里,user1,user2只能访问test-folder不能访问product-folder
以下附上Linux上用户和组的操作
1linux修改文件所属用户和组
使用chown命令可以修改文件或目录所属的用户:
命令:chown 用户 目录或文件名
例如:chown qq /home/qq (把home目录下的qq目录的拥有者改为qq用户)
使用chgrp命令可以修改文件或目录所属的组:
命令:chgrp 组 目录或文件名
例如:chgrp qq /home/qq (把home目录下的qq目录的所属组改为qq组)
一、创建用户:
1、使用命令 useradd
例:useradd user1——创建用户user1
useradd –e 12/30/2009 user2——创建user2,指定有效期2009-12-30到期
用户的缺省UID从500向后顺序增加,500以下作为系统保留账号,可以指定UID,
例:useradd –u 600 user3
2、使用 passwd 命令为新建用户设置密码
例:passwd user1
注意:没有设置密码的用户不能使用。
3、命令 usermod 修改用户账户
例:将用户 user1的登录名改为 u1,
usermod –l u1 user1
例:将用户 user1 加入到 users组中,
usermod –g users user1
例:将用户 user1 目录改为/users/us1
usermod –d /users/us1 user1
4、使用命令 userdel 删除用户账户
例:删除用户user2
userdel user2
例:删除用户 user3,同时删除他的工作目录
userdel –r user3
5、查看用户信息
id命令查看一个用户的UID和GID, 例:查看user4的id
id user4
finger命令 ——可以查看用户的主目录、启动shell、用户名、地址、电话等信息
例:finger user4
二、用户组:
6、命令 groupadd创建用户组
groupadd –g 888 users
创建一个组users,其GID为888
7、命令 gpasswd为组添加用户
只有root和组管理员能够改变组的成员:
例:把 user1加入users组
gpasswd –a user1 users
例:把 user1退出users组
gpasswd –d user1 users
8、命令groupmod修改组
groupmod –n user users 修改组名user为users
9、groupdel删除组
groupdel users 删除组users