Linux第三节用户及文件权限管理

一、Linux用户管理

Linux是一个可以实现多用户登陆的操作系统,比如“李雷”和“韩梅梅”都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件。但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于Linux的用户管理和权限机制,不同用户不可以轻易地查看、修改彼此的文件。

1、查看用户

输出的第一列表示打开当前伪终端的用户的用户名(要查看当前登录用户的用户名,去掉空格直接使用whoami即可),第二列的pts/0中pts表示伪终端,所谓伪是相对于/dev/tty设备而言的,七个使用[Ctrl]+[Alt]+[F1]~[F7]进行切换的/dev/tty设备是“真终端”,伪终端就是当你在图形用户界面使用/dev/tty7时每打开一个终端就会产生一个伪终端,pts/0后面那个数字就表示打开的伪终端序号,你可以尝试再打开一个终端,然后在里面输入who am i,看第二列是不是就变成pts/1了,第三列则表示当前伪终端的启动时间。

who命令其它常用参数

-a打印能打印的全部

-d打印死掉的进程

-m同am i,momlikes

-q打印当前登录用户数及用户名

-u打印当前登录用户登录信息

-r打印运行等级

2、创建用户

在Linux系统里,root账户拥有整个系统至高无上的权利,比如新建/添加用户。

root权限,系统权限的一种,与SYSTEM权限可以理解成一个概念,但高于Administrator权限,root是Linux和UNIX系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作(黑客在入侵系统的时候,都要把权限提升到root权限,用Windows的方法理解也就是将自己的非法帐户添加到Administrators用户组)。更比如安卓操作系统中(基于Linux内核)获得root权限之后就意味着已经获得了手机的最高权限,这时候你可以对手机中的任何文件(包括系统文件)执行所有增、删、改、查的操作。

要创建用户需要root权限,要用到sudo这个命令。使用这个命令有两个大前提,一是要知道当前登录用户的密码,二是当前用户必须在sudo用户组。shiyanlou用户也属于sudo用户组。

susu-sudo

su可以切换到用户user,执行时需要输入目标用户的密码,sudo可以以特权级别运行cmd命令,需要当前用户属于sudo组,且需要输入当前用户的密码。su -命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。

已经创建好一个用户,并且可以使用创建的用户登录了,使用如下命令切换登录用户:

退出当前用户跟退出终端一样可以使用exit命令或者使用快捷键Ctrl+d。

3、用户组

在Linux里面每个用户都有一个归属(用户组),用户组就是一组用户的集合,它们共享一些资源和权限,同时拥有私有资源,就跟家的形式差不多,兄弟姐妹(不同的用户)属于同一个家(用户组),共同拥有这个家(共享资源),爸妈的对待都一样(共享权限),偶尔写写日记,其他人未经允许不能查看(私有资源和权限)。当然一个用户是可以属于多个用户组的,正如既属于家庭,又属于学校或公司。

在Linux里面如何知道自己属于哪些用户组呢?

方法一:使用groups命令

冒号之前表示用户,后面表示该用户所属的用户组。每次新建用户如果不指定用户组的话,默认会自动创建一个与用户名相同的用户组(相当于家长或者老总)。默认情况下在sudo用户组里的可以使用sudo命令获得root权限。shiyanlou用户也可以使用sudo命令,为什么这里没有显示在sudo用户组里呢?可以查看下/etc/sudoers.d/shiyanlou文件,在/etc/sudoers.d目录下创建了这个文件,从而给shiyanlou用户赋予了sudo权限:

方法二:查看/etc/group文件

cat命令用于读取指定文件的内容并打印到终端输出,| sort表示将读取的文本进行一个字典排序再输出。可以在最下面看到shiyanlou的用户组信息:

可以使用命令过滤掉一些不想看到的结果:

etc/group文件格式说明

/etc/group的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录。格式如下:

group_name:password:GID:user_list

password字段为一个x并不是密码就是它,只是表示密码不可见。

将其它用户加入sudo用户组

默认情况下新创建的用户是不具有root权限的,也不在sudo用户组,可以让其加入sudo用户组从而获取root权限:

会提示lilei不在sudoers文件中,意思就是lilei不在sudo用户组中,至于sudoers文件(/etc/sudoers)不明后果时慎用。

使用usermod命令可以为用户添加用户组,同样使用该命令必须有root权限,可以直接使用root用户为其它用户添加用户组,或者用其它已经在sudo用户组的用户使用sudo命令获取权限来执行该命令。

这里用shiyanlou用户执行sudo命令将lilei添加到sudo用户组,让它也可以使用sudo命令获得root权限:

再切换回lilei用户,现在就可以使用sudo获取root权限了。

$ su shiyanlou #此处需要输入shiyanlou用户密码,可以点击右侧工具栏中的“SSH直连”查看

4、删除用户

二、Linux文件权限

1、查看文件权限

ls命令,用它来列出并显示当前目录下的文件,这是在不带任何参数的情况下,它还可以查看文件权限。

使用较长格式列出文件:

•文件类型

Linux里面一切皆文件,正因为这一点才有了设备文件(/dev目录下有各种设备文件,大都跟具体的硬件设备相关)这一说。socket:网络套接字,pipe管道,软链接文件:链接文件是分为两种,另一种是“硬链接”(硬链接不常用),软链接等同于Windows上的快捷方式。

•文件权限

读权限,表示你可以使用cat之类的命令来读取某个文件的内容;写权限,表示你可以编辑和修改某个文件;执行权限,通常指可以运行的二进制程序文件或者脚本文件,如同Windows上的exe后缀的文件,不过Linux上不是通过文件后缀名来区分文件的类型。一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息。所有者权限,自行体会,不必多说。所属用户组权限,是指所在的用户组中的所有其它用户对于该文件的权限,比如,你有一个iPad,那么这个用户组权限就决定了你的兄弟姐妹有没有权限使用它破坏它和占有它。

•链接数

链接到该文件所在的inode结点的文件名数目(这个概念涉及到Linux文件系统的相关概念知识)。

•文件大小

以inode结点大小为单位来表示的文件大小,可以给ls加上-lh参数来更直观的查看文件的大小。

ls命令的一些其它常用的用法:

显示除了.(当前目录)和..(上一级目录)之外的所有文件,包括隐藏文件(Linux下以.开头的文件为隐藏文件)。

可以同时使用-A和-l参数:

$ ls -dl <目录名>

显示所有文件大小,并以普通人类能看懂的方式呈现:

$ ls -AsSh

其中小s为显示文件大小,大S为按文件大小排序,若需要知道如何按其它方式排序,请使用“man”命令查询。

2、变更文件所有者

假设目前是lilei用户登录,新建一个文件,命名为“ iphone6 ”:

$ touch iphone6

可见文件所有者是lilei:

换回到shiyanlou用户身份,使用以下命令变更文件所有者为shiyanlou:

$ cd /home/lilei

$ ls iphone6

$ sudo chown shiyanlou iphone6

现在查看,发现文件所有者成功修改为shiyanlou:

3、修改文件权限

•方式一:二进制数字表示

每个文件的三组权限(拥有者,所属用户组,其他用户,顺序是一定的)对应一个" rwx ",也就是一个“ 7 ”,如果要将文件“ iphone6 ”的权限改为只有自己可以用那么就这样:

为了演示,先在文件里加点内容:

$ echo "echo \"hello shiyanlou\"" > iphone6

修改权限:

$ chmod 700 iphone6

现在,其他用户已经不能读这个“ iphone6 ”文件了:

•方式二:加减赋值操作

$ chmod go-rw iphone6

g、o还有u分别表示group、others和user,+和-分别表示增加和去掉相应的权限。

三、adduseruseradd的区别是什么?

useradd只创建用户,创建完了用passwd lilei去设置新用户的密码。adduser会创建用户,创建目录,创建密码(提示你设置),做这一系列的操作。其实useradd、userdel这类操作更像是一种命令,执行完了就返回。而adduser更像是一种程序,需要你输入、确定等一系列操作。

四、作业

图片版详见http://t.cn/RaWoQAT

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,378评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,356评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,702评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,259评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,263评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,036评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,349评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,979评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,469评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,938评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,059评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,703评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,257评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,262评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,501评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,792评论 2 345

推荐阅读更多精彩内容