Linux 用户和权限

何谓账号

   当一台计算机供多名用户使用时,通常有必要区分各个用户,以便他们的私人文件只供他们私人使用。即使该计算机一次只供一名用户使用时,也同等重要(如果不这样的话,某某人可以看到我的情书,多难为情) 。因此,每名用户都将被指定一个独一无二的用户名,这个用户名供他们登录时使用。

但是,对用户来说,还有更重要的。那就是账号。所谓账号,就是属于某个用户的所有文件、资源和信息。在银行和商业系统中,账号通常和钱有关。根据用户的使用程度,账号上的钱以不同的速度减少至零。举个例子来说,用户在磁盘空间上的消费就比较缓慢,但是处理器时间就显得要“宝贵”得多。

创建用户

   Linux内核本身把用户当作数字对待。每个用户都是用一个独一无二的整数来标识的,它就是用户ID或称UID,因为对计算机来说,与处理文字化的用户名相比,对数字的处理要快得多,而且容易得多。

内核外部的一个独立的数据库负责为每个用户ID分配一个文字化的名称,也就是用户名。这个数据库中也包含额外的一些信息.

   为了创建用户,你需要把与之相关的用户信息添加到用户数据库内,并为准备创建的用户创建一个根目录。同时,还必须训练这个新用户,为它设置一个合适的初始化环境。许多Linux版本都带有用于创建账号的程序。有几个此类的程序是可以采用的。这里,有两个命令行供你选择,它们是adduser和useradd;另外,可能还有一个GUI工具。不管采用什么程序,如果采用手工操作的话,其结果都将收效甚微。即使其细节翔实而复杂,这些程序仍使创建用户的操作变得琐碎平常。随后的“手工创建用户”中,将为大家介绍如何手工创建用户。

   /etc/passwd和其他的信息性文件

Linux系统中,基本的用户数据库是一个文本文件,名为/etc/passwd(也称为密码文件)它列出了所有有效用户名及其相关信息。该文件内,每个用户名都有一行,它被分为 7个字段,

中间用冒号定界:

       ■ 用户名

       ■ 密码,采用加密形式

       ■ 数字式的用户ID

       ■ 数字式的组ID

       ■ 账号的全名或其他说明

       ■ 根目录

       ■ 登录外壳

       有关其格式的详情,可参考passwd手册页。

系统上的任何一名用户都可能读取这个密码文件,所以他们能够从中得知另一个用户的用户名。这意味着人人都能看见密码(第二个字段) 。密码文件对密码进行了加密,所以从理论上讲,以加密形式保存的密码是可靠的。但是,加密也是很容易被解密的,特别是密码比较薄弱的时候(也就是说,如果它很短,或很容易猜测得到的话) 。因此,把密码放在密码文件内通常不是个好主意。

许多Linux系统都有影子密码。这是另一种保存密码的方案:加密的密码被保存在一个独立的文件内,该文件名为/etc/shadow,只有root才能读取这个文件。

用户分为管理员和普通用户

   管理员root ID=0

   普通用户:

       系统用户   ID=1-499

       可登录用户 ID=500+

   创建用户时同时为其创建同名组,即与用户名相同,以用户的角度来说也称为用户私有组。

   组的类型:

       基本组 即用户私有组

       额外组

   跟用户和组相关的文件:

       /etc/passwd:用户的属性信息

       /etc/shadow:影子口令

       /etc/group:组的属性信息

       /etc/gshadow:组的密码

命令 useradd或adduser 创建用户,其列举如下参数。

       -M 不指定用户家目录

       -d 指定用户家目录

       -u 指定UID

       -g 指定基本组GID

       -G 指定额外组GID

       -c 注释信息

       -s 指定shell

       -r 添加系统用户

         如:useradd joan 表示创建用户joan

            useradd -s /bin/bash joan 表示指定用户shell

命令 userdel 删除用户,其列举如下参数。

       -r  删除用户家目录

         如:userdel -r joan 表示删除用户及其家目录

命令 usermod 修改用户组设置

       -G 修改额外组,常用同时使用-a

       -d 修改家目录,常用同时使用-m

       -l 修改用户名

       -r 添加系统组

         如:usermod -a -G joan

命令 groupadd创建组,其列举如下参数。

       -g 指定GID

       -r 系统组

         如:groupadd -r joan 表示创建joan组

命令 groupdel删除组

         如:groupdel joan 删除组

命令 groupmod:修改组属性,其列举如下参数。

       -g:GID                 修改用户组,即GID
       -n:NEW_NAME   修改组名

        如:groupmod -n joans joan

文件权限:

           默认都没有执行权限

 命令chmod修改文件权限,其列举如下参数。

       -R:递归修改权限

       如:chmod u+x /tmp/a.txt 表示给用户添加其文件执行权限

命令chown修改文件的属主,即修改拥有者

       如:chown joan a.txt 表示修改a.txt文件属主为joan

命令chgrp修改文件的属组,即修改组。列举如下参数

       -R:递归修改权限

       如:chgrp -R joan /tmp/a 表示递归修改 /tmp/a文件的组为joan

目录权限:

       r表示读取,用4表示

       w表示写入,用2表示

       x表示执行,用1表示

所以目录权限一般为755,表示目录所有者拥有完全权限,其它用户可读取、可执行、不可写入。

由于文件默认无执行权限,故一般为644,表示文件所有者拥有完全权限,其它用户只可读取。

   r:可以对目录执行ls命令,但不允许使用-l选项,且不能cd到目录中

   w:可以在目录中创建文件

   x:可以对目录执行ls-l,且能够cd进目录


由于水平有限,文采不好。如有错误之处还请大家指教,期待您提出宝贵意见!









本文出自 “放眼望世界” 博客,转载请与作者联系!

Linux 用户和权限,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。