问题描述:
研发提出问题,希望在linux服务器上创建一个共享目录,管理员具有读写权限,开发/测试只有读权限,防止开发测试对目录内容进行修改
Linux系统权限
- Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。
- Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。
- Linux下权限的粒度有 拥有者 、群组 、其它组 三种。每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。通常情况下,一个文件只能归属于一个用户和组, 如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。
- Linux上通常使用chmod命令对文件的权限进行设置和更改。
问题解决:
1. 方法一
创建管理员账号admin,home目录设置为共享目录,然后创建develop,因为linux系统的权限其他用户设置为只读的
创建用户和home目录
useradd -d /data/package -m admin
设置权限为拥有者与其所属同一个群组可读写,其它组可读不可写
chmod a+r,o-w /data/package
创建develop用户
useradd develop
这样admin用户作为拥有者,具有/data/package目录读写权限,develop只有只读权限
2 方式二:通过组的方式
创建组
groupadd admin
创建用户
useradd -d /home/userA -m -g usergroup admin
设置目录访问权限
chmod -R 750 userA
或者设置权限为拥有者与其所属同一个群组 可读写,其它组可读不可写
chmod a+r,ug+w,o-w /data/package
十位权限表示
常见的权限表示形式有
-rw------- (600) 只有拥有者有读写权限。
-rw-r--r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) 只有拥有者有读、写、执行权限。
-rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) 所有用户都有文件读、写权限。
-rwxrwxrwx (777) 所有用户都有读、写、执行权限。