Linux用户管理和文件权限

Linux是一个多用户多任务的系统,可以支持多个用户接入使用,如果给你一个Linux系统,你创建了很多用户,意义并不大,一般是一些文件需要给几个用户使用,但其他用户无法使用的时候会创建多个用户,然后给用户赋予不同的访问次文件的权限。

任何权限在root用户面前都是形同虚设的

煮个栗子:
公司有一台服务器供两个部门使用,这两个部门的资料肯定是相互隔离的,所以在这台服务器上给两个部门分别创建一个用户(如果你去一家公司很多人都知道root用户的密码,或者可以拥有root用户的权限,那么你赶紧写辞职报告,就算是运维团队,也只有个别人才知道root用户的密码,而且这个人一般也是使用普通用户登录,需要root权限时,才会提到root用户权限,这样做的目的就是:防止好人做错事)。隔离两个用户很简单,创建两个用户,他们的家目录就是隔离的,除了root用户可以随便进入他们的家目录。这两个部门还有一些资料是需要共享的,而其他部门不允许访问,如何操作呢?

  • 创建两个用户
[root@node01 ~]# useradd user01
[root@node01 ~]# useradd user02
[root@node01 ~]# cd /home/
[root@node01 home]# ll
total 8
drwx------ 2 user01 user01 4096 Jan 14 20:18 user01
drwx------ 2 user02 user02 4096 Jan 14 20:18 user02
  • 两个部门分别远程登录
ssh user01@192.168.xx.xx
ssh user02@192.168.xx.xx


Linux系统必须要求用户有登录密码,这是一种安全级别,而我们刚才在创建用户的时候就没有给用户设置密码,因此,添加用户后必须设置密码,不然没啥卵用

  • 设置用户密码
[root@node01 home]# passwd user01
Changing password for user user01.
New password: 
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@node01 home]# passwd user02
Changing password for user user02.
New password: 
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@node01 home]#

只有root有权限修改普通用户的密码,普通用户只能用passwd修改自己的密码

  • 有了密码后再分别远程登录两个用户
[c:\~]$ ssh user01@192.168.xx.xx


Connecting to 192.168.xx.xx:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

[user01@node01 ~]$ 

[c:\~]$ ssh user02@192.168.xx.xx


Connecting to 192.168.xx.xx:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

[user02@node01 ~]$ 
  • 看看两个用户之间是否可以相互访问
[user01@node01 ~]$ pwd
/home/user01
[user01@node01 ~]$ cd ..
[user01@node01 home]$ ll
total 8
drwx------ 2 user01 user01 4096 Jan 14 20:18 user01
drwx------ 2 user02 user02 4096 Jan 14 20:18 user02
[user01@node01 home]$ cd user02
-bash: cd: user02: Permission denied
[user01@node01 home]$ 

显然没有权限,现在已经做到两个用户家目录是相互隔离的了

  • 两个用户需要共享一些文件

这里一个基本思路就是找一个目录,只有这两个用户可以访问,而其他人没有权限访问,这个时候就引入组的概念,也就是将这两个用户添加到同一个组,在这个组中,将这两用户的权限加满

用root用户创建一个目录

[root@node01 /]# mkdir usershare
[root@node01 /]# ll
drwxr-xr-x   2 root root  4096 Jan 14 20:40 usershare

可以看到创建目录后持有者为创建目录的用户,而组名默认也是持有者

  • 创建组
[root@node01 /]# groupadd share
[root@node01 /]#

此时,仅仅是创建了一个空组,里面并没有组员,因此需要将这两个组员添加到该组里

  • 添加组员
[root@node01 home]# id user01
uid=500(user01) gid=500(user01) groups=500(user01)
[root@node01 home]# usermod -a -G share user01
[root@node01 home]# id user01
uid=500(user01) gid=500(user01) groups=500(user01),502(share)
[root@node01 home]# 
[root@node01 home]# usermod -a -G share user02
[root@node01 home]#
  • 修改共享目录持有组
[root@node01 /]# chown root:share usershare
[root@node01 /]# ll
drwxr-xr-x   2 root share  4096 Jan 14 20:40 usershare
  • 修改共享目录权限
    先看看文件的属性:

    修改文件权限一般使用两种
    (1)数字类型修改文件权限

r : 4
w : 2
x : 1
比如:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= — = 0+0+0 = 0

(2)符号类型改变文件权限(a代表all,所有的意思)

现在我们需要给组中成员添加w权限,并且其他用户没有任何权限

[root@node01 /]# chmod g+w usershare
[root@node01 /]# chmod o-rx usershare
[root@node01 /]# ll
drwxrwx---   2 root share  4096 Jan 14 20:40 usershare

注意:user01和user02这两个用户,必须要重新登录,因为刚才是先登录的用户,然后才修改的权限

  • user01创建一个文件,并将持有组改为share后,user02用户同样具有了读写操作权限了
[user01@node01 usershare]$ chown user01:share user01.txt 
[user01@node01 usershare]$ 

修改所属群组更简便的方法
chgrp share user01.txt
这种方式和修改用户类似:
chown 用户名 文件名

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SunnyRivers

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值