Linux(RedHat)学习之路3.0

Linux(RedHat)学习之路4.0

权限管理

1、核心
目录和文件
2、谁用?
三种角色:
属主u(文件的所有者,只有一个)user
属组g(文件所属的组)group
其他人o(无关)other
3、怎么用?
读r(read)
写w(write)
执行x(execute)
4、查看文件/目录的权限(ls -l)

[root@server ~]# ls -l /etc/passwd
    -   rw-  r--  r--. 1 root root   1047   Sep 28 11:16 /etc/passwd
-rw- r– r–.1rootroot1047Sep 28 11:16/etc/passwd

[root@server ~]# ls -l /etc/passwd
①:类型,-为普通文件,d为目录
②:权限
③:文件数(inode)
④:属主
⑤:属组
⑥文件大小(B)
⑦创建/修改时间
⑧文件/目录名
5、修改文件的所属chown( chown - change file owner and group)
格式:chown root:staff /u

[root@localhost ~]# mkdir /dir1
[root@localhost ~]# groupadd grp1
[root@localhost ~]# useradd us1
[root@localhost ~]# useradd -G grp1 us2
[root@localhost ~]# man chown
[root@localhost ~]# ll -d /dir1
drwxr-xr-x. 2 root root 6 Sep 30 04:22 /dir1
[root@localhost ~]# chown  us1:grp1  /dir1/
[root@localhost ~]# ll -d /dir1
drwxr-xr-x. 2 us1 grp1 6 Sep 30 04:22 /dir1

6、修改权限chmod ( chmod - change file mode bits)
方法一:
所属+-=权限
设置/dir1的权限,属主只读,属组只读,其他人无权限访问

[root@localhost ~]# chmod u=r--,g-x,o=---  /dir1
[root@localhost ~]# ll -d /dir1

新建文件file1,取消所有权限,设置属主完全权限,属组读写,其他人只读

[root@localhost ~]# touch  file1
[root@localhost ~]# ll file1
[root@localhost ~]# chmod u+x file1
[root@localhost ~]# chmod g+w file1

方法二:数字法
r=4
w=2
x=1

7、权限对目录和文件的影响

8、解决问题的流程
①目录/文件
②建组
③建用户
④修改所属
⑤修改权限

命令文件目录
新建touch filemkdir dir
拷贝cp file1 file2cp -r dir1 dir2
删除rm -f filerm -rf dir
移动mv file1 file2mv dir1 dir2

项目练习:

项目1:
Geecy软件开发公司即将开始在Linux系统上进行两个项目的开发。开发人员David和Peter组成一个小组,负责A项目的开发;开发人员Jack和Mike组成另一个小组,负责B项目的开发。系统管理员Ray需要为这四名开发人员分别建立用户帐号,并满足以下要求:
(1)建立目录“/project_a”,该目录里面的文件只能由David和Peter两人读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;
(2)建立目录“/project_b”,该目录里面的文件只能由Jack和Mike两人读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;
(3)建立目录“/project”,该目录里面的文件只能由David、Peter、Jack和Mike四人读取、增加、删除、修改以及执行,其他用户只可以对该目录进行只读的访问操作。
解决方案参考:
? 建立目录:

# mkdir /project
# mkdir /project_a
# mkdir /project_b

? 增加用户组:

# groupadd  prj
# groupadd  prj_a
# groupadd  prj_b

? 增加用户:

# useradd -G prj_a,prj david
# useradd -G prj_a,prj peter
# useradd -G prj_b,prj jack
# useradd -G prj_b,prj mike

? 修改用户密码:

# echo "redhat" | passwd --stdin david
# echo "redhat" | passwd --stdin peter
# echo "redhat" | passwd --stdin jack
# echo "redhat" | passwd --stdin mike

? 修改目录的组拥有者:

# chown :prj  /project
# chown :prj_a  /project_a
# chown :prj_b  /project_b

? 修改目录权限:

# chmod 774  /project
# chmod 770  /project_a
# chmod 770  /project_b

项目2:
某软件开发公司即将开始在Linux系统上进行项目的开发。要实现的环境是,公司有软件开发,网络和技术支持3个部门,对应建立3个用户组为soft,network,support。
三个部门里各有2个用户,分别为soft01,soft02;network01,network02;support 01,support 02。
就公司的具体情况建立相应的目录及访问权限:
1.首先服务器采用用户验证的方式,每个用户可以访问自己的主目录,并且只有该用户能访问主目录,并具有完全的权限,而其用户无任何权限。
2.建立一个soft的文件夹,只能由soft组的用户读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;
3.建立一个network的文件夹,只能由network组的用户读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;
4.建立一个support的文件夹,只能由support组的用户读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;
5.建立一个network_support的文件夹,只能由network和support组的用户读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;
6.建议一个公共的只读文件夹public,该目录里面的文件只能由soft,network,support个用户组读取、增加、删除、修改以及执行,其他用户只可以对该目录进行只读的访问操作。

思考题
创建用户和用户组

请按照以下要求创建用户、用户组:

新建一个名为adminuser的组,组id为40000

新建一个名为natasha的用户,并将adminuser作为其附属组

新建一个名为harry的用户,并将adminuser作为其附属组

新建一个名为sarah的用户,其不属于adminuser组,并将其shell设置为不可登陆shell

natasha、harry和sarah三个用户的密码均设置为glegunge

在/home目录下创建名为admins的子目录,并按以下要求设置权限:

/home/admins的所属组为adminuser

该目录对adminuser组的成员可读可执行可写,但对其他用户没有任何权限,但root不受限制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dying 搁浅

两杯酒,一杯敬你余生多欢喜。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值