linux下有关用户、组以及权限的学习

来源:互联网 发布:淘宝试用如何领取 编辑:程序博客网 时间:2024/05/29 12:53

第三天学习linux,今天记录的是有关用户、组以及文件权限等知识。


众所周知我们进入操作系统的时候都需要有一个用户名和密码,在windows下administrator是权限最高的用户,在linux下root用户是管理员也就是权限最高的用户。

linux下的用户信息保存在 /etc/passwd文件中,用cat命令可以进行查看

每一行都是一个用户信息,开头是用户名,例如倒数第五行localhost是用户名,x则是用户密码进行了加密后的显示;紧接着后面的数字是用户名对应的ID,这个ID是唯一的。

在后面的数字则代表了组的ID(组在后面写),表示该用户属于哪个组,大家也看到了,用户xingtianyu  lijie guoyansha  的组ID是一样的,也就意味着这三个用户是属于同一个组的。 当然一个用户其实是可以属于多个组的(男人 既是父亲,也是儿子,也是老公嘛)。在后面的一个路径代表着这个用户所在的文件位置,也就是你这个用户所属的空间(就好比你在山东有户口,那么你在山东也有个房子住)。在后面的路径代表的执行的哪一个shell(shell还没学过这里我就不说了 献丑~)。


如何创建一个用户呢,命令:useradd  [-g][groupname***] username***  注意后面带*表示自定义命名,中间[ ]是可有可无,useradd很好理解就是添加用户 然后写名字,-g是在添加用户的时候设置用户所在组,其实很好理解  就好比你在招聘网填写简历,开始不一定都要写全,没有工作经验什么的你到以后再去你的资料里加上就行。

特别注意这个指令只能由root用户来执行,不可能任意用户都能有权限添加用户的。就好比户口本上的信息也不是任何人都能随便改一样。

那么既然添加了用户,也可以为用户设置密码了,命令:passwd username这条命令执行,系统会让你输入密码好确认密码,注意username是你已有的用户名,如果你没有写username 则将会给你当前的用户设置密码。当然如果想设置别的用户的密码一定要在root下(这没啥不明白的,自己总不能修改别人的QQ密码吧)。

再次提醒有关用户和组的添加修改等操作等操作都一定要在root下执行。

那么有一天我们不需要某个用户了,我们就可以删掉这个用户,命令:userdel [-r] username 这条命令就用来删除用户username,注意加r和不加r的区别在于:不加r,用户会被删除,但是用户在/home/username的这个主目录会留下,加上就能全部删除。


下面说说组。

每个人出生都会属于过一个群体,我们一出生都属于中国。那么随着组的产生权限的需求也就有了(其实没有组,我们么个人也各自具有相应权限。这么说能过渡一下),比如你可以随意进出我国的省市,但是你想随意去某个国家那就是偷渡了。linux下也是这样,组让用户之间有了各自的所述,就好好比JAVA中的package机制。

同理,组我们也能在一个文件中查看,在 /etc/group 下能看到一系列组的信息


组的信息就少很多了,和用户信息的看法一样,只是最后那个数字代表的是这个组的ID。

创建一个组的命令:groupadd groupname*** 创建一个名字为groupname*** 的组

有关组的操作  我们还能够改变一个用户所在的组(有点像改变国籍) 命令: usermod -g groupname  username  同理这个操作只能由root来



下面写一些有关linux下权限的东西。

现在,我有三个用户,分别是 xingtianyu  lijie  guoyansha ,  前两个属于 student组,第三个是teacher组。

开始先用xingtianyu登陆,在home中  ls -l 命令查看所有文件信息如下:

我们会看到 每个文件前面会对应一串字符,比如第一行  drwx------.这一行字符就代表了这个文件的相关权限(注意文件夹本质也是文件,只不过功能不是存储文本信息而是存储文件)。

我们可以把这串字符分成四部分 d   rwx    - - -    - - -   三个 - 符号我分开了一点为了能看清楚,下面来分别解释一下这四部分:

第一部分  意思是说明这个文件的类型,这里是d,意思是文件夹,如果是文件的话会显示 - 

第二部分 代表文件的所有者对文件的权限。一共三种权限:r(可读,用4表示),w(可写,用2表示),x(可执行,用1表示)。

第三部分 代表文件所在组用户对该文件的权限

第四部分 代表其他组用户对该文件的权限 

这时候我们换一下用户  换成lijie

 

这幅图的操作  是我试图用lijie用户 cd 进入xingtianyu用户,发现permission denied  就是权限不够。

那么如何修改文件的访问权限呢:
chmod 777 xingtianyu  这里777代表的是后三个部分的权限的数字表示(rwx:4+2+1)

注意修改一个文件的权限 只能由root或者这个文件所属的用户来改。

这样再用 lijie访问 就能进去了



那么还有一个问题,777代表着所有人和组都能访问xingtianyu的主目录了,但是作为一名学生总是会有一些自己的秘密,xingtianyu用户在主目录中放了很多自己做的游戏给同学们玩,要是让老师进来看见了那就是一顿海扁了,怎么办呢?

那么我们可以再次使用这个命令,把第四部分权限改成0就可以了  chmod 770 xingtianyu  这样就只有xingtianyu所在的组的人能够进入这个目录了。


今天学了就这些,明天继续。以上文章如有错误,还请大神们指正。



0 0
原创粉丝点击