Linux高级用户组和权限Word格式.docx

上传人:b****6 文档编号:17256251 上传时间:2022-11-29 格式:DOCX 页数:28 大小:26.42KB
下载 相关 举报
Linux高级用户组和权限Word格式.docx_第1页
第1页 / 共28页
Linux高级用户组和权限Word格式.docx_第2页
第2页 / 共28页
Linux高级用户组和权限Word格式.docx_第3页
第3页 / 共28页
Linux高级用户组和权限Word格式.docx_第4页
第4页 / 共28页
Linux高级用户组和权限Word格式.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

Linux高级用户组和权限Word格式.docx

《Linux高级用户组和权限Word格式.docx》由会员分享,可在线阅读,更多相关《Linux高级用户组和权限Word格式.docx(28页珍藏版)》请在冰豆网上搜索。

Linux高级用户组和权限Word格式.docx

$1$2WJEp9K7$h.NRfJsaEm8VMksBQHZm7.:

14668:

0:

99999:

7:

现在来了解一下每个栏位的意义

第二个栏位是保存用户的密码,这个密码是经过MD5的加密的。

如果密码位前面有个!

,就代表这个用户被锁定了。

14668密码最后一次修改的时间

0密码最少的存活期(为0代表用户可以随时更改密码)

99999密码过期时间(99999代表密码永不过期)

7密码过期警告天数(在密码过期的前七天警告用户)

再来了解一下/etc/group这个文件,

这个文件主要是用于存放组的信息。

[root@localhost~]#cat/etc/group|grepuser1

User组的名字

X组的密码位

可以将用户直接添加到冒号后面,就代表加入了这个组。

最后来了解一下/etc/gshadow这个文件,

这个文件主要是保存组密码的信息。

[root@localhost~]#cat/etc/gshadow|grepuser1

!

可以看到,这个组默认是没有密码的,现在我们给它设置一个密码。

[root@localhost~]#gpasswduser1

Changingthepasswordforgroupuser1

NewPassword:

Re-enternewpassword:

$1$ZxvTf/dQ$DWmf//MTxpwJIzTZIcYQZ/:

可以看到,组现在也有了一个密码,而且也是经过MD5加密的。

下面来看下组的密码有什么意义。

[root@localhost~]#useradduser2

[root@localhost~]#su–user2

[user2@localhost~]$

[user2@localhost~]$newgrpuser1

Password:

[user2@localhost~]$id

uid=501(user2)gid=500(user1)groups=500(user1),501(user2)

可以看到,我们user2现在加入到了user1,变成了user1组里面的成员,也就是说组密码的意义在于,一个普通用户只要有组的密码,就可以加入到这个组里面来,成为这个组里面的成员。

用户管理工具

Useradd添加用户

#useradduser1(用户名)

[root@localhost~]#useradduser1

[root@localhost~]#iduser1

uid=502(user1)gid=502(user1)groups=502(user1)

User1就添加成功了。

Usermod修改用户

Userdel删除用户

#userdel-ruser1(用户名)

[root@localhost~]#userdel-ruser1

id:

user1:

Nosuchuser

User1就成功删除了

-r在删除用户的同时删除用户的/home目录。

关于监视登陆的工具

#w

[root@localhost~]#w

15:

27:

32up15:

31,3users,loadaverage:

0.81,0.25,0.08

USERTTYFROMLOGIN@IDLEJCPUPCPUWHAT

root:

0-21Feb10?

xdm?

3:

070.30s/usr/bin/gnome-

rootpts/2:

0.015:

270.00s0.06s0.01sw

rootpts/1192.168.0.2015:

2713.00s0.05s0.05s-bash

可以看到192.168.0.20正在连接我。

#last

[root@localhost~]#last

rootpts/2station20.examplSunFeb2815:

32stillloggedin

rootpts/1:

0.0SunFeb2815:

31stillloggedin

0.0FriFeb2617:

21–00:

32(1+07:

10)

0.0MonFeb2223:

07–21:

46(3+22:

38)

0.0MonFeb2218:

31-23:

07(04:

36)

0.0MonFeb2214:

33-14:

33(00:

00)

0.0SunFeb2117:

33-18:

31(1+00:

57)

28-17:

04)

0.0SunFeb2113:

30-17:

28(03:

0SunFeb2113:

30stillloggedin

30–13:

30(00:

rebootsystemboot2.6.18-164.el5SunFeb2113:

29(7+02:

03)

0.0SunFeb2121:

22–down(-7:

-54)

0SunFeb2121:

21–down(-7:

21–21:

21(00:

rebootsystemboot2.6.18-164.el5SunFeb2121:

17(-7:

-50)

14(00:

02)

wtmpbeginsSunFeb2121:

14:

072010

曾经有那些用户登陆过我的计算机。

并且在我计算机上面登陆了多久,很多东西都可以查看的到。

#lastb

[root@localhost~]#lastb

rootssh:

notty.MonFeb2215:

50–15:

50(00:

btmpbeginsMonFeb2215:

50:

502010

这条命令显示的结果是那些计算机曾经登录过我的计算机,但是没有登录成功的计算机。

只会显示没有登录成功的信息,并且它们是使用的什么方法尝试连接我的计算机,这里面都很详细。

默认权限(defaultsperm)

默认的时候,我们在创建文件和目录的时候,并不是继承了上级目录的权限,而是根据目录和文件的UMASK值来决定的。

关于UMASK值

就是用来定义文件的默认权限的

如何在系统查询UMASK值呢?

#umask

[root@localhost~]#umask

0022

可以看到,系统中的umask值为0022

当然这个umask也是可以修改的

#umask0033

[root@localhost~]#umask0033

0033

系统的umask值被我们改成0033了。

Umask是怎么定义目录和文件的权限的

对于不同用户,umask定义都不一样。

对于rootuamsk值为022

对于普通用户umask值为002

那么我们在创建目录和文件的时候默认权限是多少呢。

对于root目录777-022755

文件666-022644

对于普通用户目录777-002775

文件666-002664

这就是我们的创建目录和文件的默认权限。

注意:

我们在用最高权限减umask值的时候一定是用二进制的数值来减,而不是十进制的数值来减。

[root@localhost~]#mkdirtest

[root@localhost~]#touchtest1

[root@localhost~]#ll|greptest

drwxr-xr-x2rootroot4096Feb2816:

42test

-rw-r–r–1rootroot0Feb2816:

43test1

可以看到,我们目录的默认权限的确是755.文件的默认权限的确是644。

[root@localhost~]#su–user1

[user1@localhost~]$

[user1@localhost~]$umask

0002

[user1@localhost~]$mkdirfile

[user1@localhost~]$touchfile1

[user1@localhost~]$ll|grepfile

drwxrwxr-x2user1user11024Feb2816:

44file

-rw-rw-r–1user1user10Feb2816:

44file1

可以看到,在普通用户的身份下面。

我们创建的目录的权限为775,文件的权限为664。

关于三个特殊的权限

1.suid权限

如果在一个可执行文件(命令或者脚本)运用了suid后,那么任何人在执行该命令的时候会临时拥有该命令的拥有人权限。

我们知道passwd这个命令管理员可以运行,还有普通用户也可以运行。

还有如果我们利用passwd来修改密码成功了,是要在/etc/shadow这个文件中去添加一个密码位的,现在我们看看这个文件的权限。

[root@localhost~]#ls-l/etc/shadow

-r——–1rootroot1050Feb2523:

01/etc/shadow

可以看到,这个文件普通用户什么权限也没有,连读的权限都没有,那么普通用户是怎么修改自己的密码,并且能够将密码写在/etc/shadow文件里面的呢。

[root@localhost~]#ll/usr/bin/passwd

-rwsr-xr-x1rootroot22960Jul172006/usr/bin/passwd

我们可以看到passwd这个命令的权限位上面多了一个s,这个是我们以前从来没有看见过的,这个就是suid。

当普通用户利用passwd来修改密码的时候,由于passwd命令上面有suid权限,那么普通用户就会临时拥有该命令的拥有人root的权限,从而就可以往/etc/shadow这个文件里面去写入密码位了。

现在还有个问题,如果普通用户因为suid原因可以修改密码,那么普通用户能否去修改别的用户的密码呢,我们来尝试一下。

[user1@localhost~]$passwduser2

passwd:

Onlyrootcanspecifyausername.

我们可以看到,是不可以修改的。

如果按照理论情况,我们的passwd命令因为具有suid权限,那么是可以修改别的用户的密码的。

这里并不是passwd命令不具有suid功能,它也并没有报权限拒绝。

而是提示我们passwd这个命令只有root用户才可以在后面接上用户名,系统是从语法上面做了限制,而并不是suid,没有生效。

这也是系统为了保证安全。

我们在做一个试验来了解suid的作用

先来看看系统中根的权限是什么

[root@localhost~]#ls-ld/

drwxr-xr-x25rootroot4096Feb2800:

30/

可以看到,根的权限是755,也就是说一个普通用户是没有办法往根里面写入数据的,普通用户是属于其他人吗。

我们试试

[user1@localhost~]$cd/

[user1@localhost/]$mkdirtest

mkdir:

cannotcreatedirectory`test’:

Permissiondenied

[user1@localhost/]$

可以看到,我们的普通用户user1对根没有写入的权限。

现在我们给mkdir这条命令加一个suid的权限。

看看会发生什么。

[root@localhost~]#whichmkdir

/bin/mkdir

[root@localhost~]#ll/bin/mkdir

-rwxr-xr-x1rootroot29852Jul132009/bin/mkdir

[root@localhost~]#chmodu+s/bin/mkdir

-rwsr-xr-x1rootroot29852Jul132009/bin/mkdir

可以看到,mkdir这个命令的权限已经多了一个s权限。

现在我们在使用普通用户去根下面创建一个文件,

[user1@localhost/]$mkdirfile

[user1@localhost/]$ll-ldfile/

drwxrwxr-x2rootuser14096Feb2821:

58file/

现在我们就可以在根下面创建目录了,是因为我们普通用户在使用mkdir这条命令的时候临时变成了该命令的拥有人的权限,所有普通用户就可以在根下面创建目录,还可以看到,我们通过user1在根下面创建了一个文件,其拥有人也是root,这个也很好的说明了我们的确是使用root的身份去创建的file这个目录。

还有一个问题,我们的mkdir这个命令因为多了一个s位,那么以前的x位权限到哪里去了呢。

如果是S,代表以前是没有x权限,如果是s,就代表以前有x权限。

[root@localhost~]#chmodu-x/bin/mkdir

-rwSr-xr-x1rootroot29852Jul132009/bin/mkdir

[root@localhost~]#chmodu+x/bin/mkdir

可以看到,我们去掉了x权限,就变成了S,我们加上x权限,就又变成了s。

2.sgid权限

刚才我们的suid只可以运用在一个二进制文件上面,也就是命令上面。

而我们的sgid可以运用在命令和目录上面。

下面先来看下sgid运用在命令上面

如果允许运用在命令上面,和刚才的suid一样,只是变成了临时拥有该命令拥有组的权限,就这点区别。

下面在来看下sgid运用在目录上面

如果当一个目录运用的sgid权限,那么任何人在该目录建立的文件和目录就会继承该目录本身的组。

现在我们通过一个试验来了解sgid的权限,

[root@localhost~]#mkdir/redhat

[root@localhost~]#chmod777/redhat/

[root@localhost~]#ll-ld/redhat/

drwxrwxrwx2rootroot4096Mar121:

26/redhat/

现在我们新建了一个redhat目录,并且这个目录的权限是777,现在普通用户对这个目录也应该是rwx的权限,我们试试,

[user1@localhost~]$cd/redhat/

[user1@localhostredhat]$

[user1@localhostredhat]$touch1.txt

[user1@localhostredhat]$ls

1.txt

我们的确可以创建文件,那么这个文件的拥有人和拥有组会是谁呢,肯定是user1。

现在我们就在这个目录上面添加一个sgid的权限。

[root@localhost~]#chmodg+s/redhat/

[user1@localhostredhat]$touch2.txt

[user1@localhostredhat]$ll

total0

-rw-rw-r–1user1user10Mar121:

281.txt

-rw-rw-r–1user1root0Mar121:

302.txt

当我给redhat这个目录添加了一个sgid的权限以后,我们利用普通用户在redhat目录里面创建的文件的拥有组就变成了root了。

现在我们再来理解一下sgid的权限,当我们在redhat目录上面运用了sgid的权限,那么普通用户user1在redhat目录下面创建的文件的拥有组就会继承redhat目录本身的组,不会随着用户的改变而改变。

还有一点,和刚刚一样,如果有x权限,就会显示s,如果没有x权限,就会显示S。

3.sticky权限

Sticky只可以运用在目录上面

如果在一个目录上面运用了sticky权限,那么仅root用户和和文件的拥有人才能删除该目录中的文件。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1