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进目录
由于水平有限,文采不好。如有错误之处还请大家指教,期待您提出宝贵意见!
本文出自 “放眼望世界” 博客,转载请与作者联系!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。