主页 >> 命令文档 > Linux 用户权限分派与控制

2013/03/23 | 星期六 分类:命令文档 | 没有评论 标签: , , | 作者: | 1,266 views

Linux 用户权限分派与控制

#Linux 用户权限分派与控制

#1.文件的所属关系是可以改变的,只有root才有权改变文件的所属关系
#chown 命令更改某个文件或者目录的所有权;
#chgrp 命令更改文件的组关系;

#2.访问权限:文件主(user)、同组用户(group)、可以访问系统的其他用户(others);访问权限规定3中访问文件或者目录的方式:读(r)、写(w)、可以执行或查找(x)
2.1读权限(r)表示只允许指定用户读取相应文件的内容,禁止对它做任何的更改操作。
2.2写权限(w)表示允许指定用户打开并修改文件。
2.3执行权(x)表示允许指定用户将该文件作为一个程序执行。

### chmod ### 命令用于改变或者设置文件或目录的访问权限
#格式:chmod[选项]模式文件或目录名
#说明:只有文件主或者超级用户root才有权用chmod改变文件或者目录的访问权限。
#选项参照:
-c: 若文件或目录权限确实已经更改,才显示更改动作.
-f: 若文件或者目录权限无法更改也不要显示错误信息。
-v: 显示权限变更的详细资料。
-R: 对目前目录下的所有档案与子目录进行相同的权限变更(即以递归的方式逐个变更).
#设定文件权限时,在模式中常用以下的字母代表用户或者用户组
u(user)表示文件的所有者。
g(group)表示文件的所属组。
o(others)表示其他用户。
a(all)代表所有用户(即u+g+o).
#权限用以下字符表示,r表示读权限;w表示写权限;x表示执行权限。最后要知名是增加(+)还是取消(-)权限,或者只赋予权限(=)

### chown ### 命令改变某个文件或目录的拥有者和所属组
#格式:chown[选项]用户或者组文件名
#说明:只有文件主和超级用户才可以使用该命令。同时改变文件主和文件所属的组时,用户名和用户组名由冒号分开,在文件名中可以包含通配符。
-R递归式地改变指定目录及其所有子目录、文件的文件主。

### chgrp ### 命令改变文件或目录的所属组
#格式:chgrp[选项]组名文件名
#说明:如果用户不是该文件的文件主或超级用户,则不能改变该文件或目录的所属组。chown可以同时改变文件所有者和所属组,chgrp只具有改变所属组的功能。
-R递归式地改变指定目录及其下面的所有子目录和文件的用户组。

### umask ### 命令用来设置新建文件权限的掩码
#格式:umask[模式]
#说明:模式为新建文件权限的掩码值。
#文件访问权限可以通过chmod命令来修改。当用户创建一个新文件后,如果不使用chmod修改权限,则这个文件的权限是什么呢?这个文件的权限由系统默认权限和默认权限掩码共同确定,它等于系统默认权限减去默认权限掩码。Linux系统中目录的默认权限是777,文件的默认权限是666.因此,有以下公式:
#1.新目录的权限=777-默认权限掩码
#2.新文件的权限=666-默认权限掩码
#注意:基于安全原因,Linux系统不允许文件的默认权限有执行权。不带任何参数的umask命令显示当前的默认权限掩码值。

#Linux用户管理

#用户:超级用户(root)、系统用户(bin、daemon、adm、lp等)、普通用户
#root拥有一切权限,尽量少避免用root登陆,系统用户不能用来登陆…
#普通用户:为了让使用者能够使用Linux系统资源二建立的,大多属于此类,每一个用户都有一个数值,成为UID。
#超级用户的UID为0,系统用户的UID一般为1-499,普通用户的UID为500~60000直接的值。

#账户系统文件 #Linux系统采用纯文本文件来保存账户的各种信息,其中最主要的文件有:
1./etc/passwd
2./etc/shadow
3./etc/group
#可以使用vi、vim等编辑器编辑或者使用专门的命令来更改他们。 ##### 账户的管理实际上就是对这几个文件的内容进行添加、修改和删除记录行的操作,不管以哪种形式管理账户,了解这几个文件的内容十分必要 #####

#1./etc/passwd 文件:是账户管理中最重要的一个文件,它是一个纯文本文件。每一个注册用户在该文件都有一个对应的记录行,这一记录行记录了此用户的必要信息。
#Example 查看显示/etc/passwd文件
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
……
#从passwd文件可以看到,第一行是root用户,紧接着是系统用户,普通用户通常在文件的尾部。
#passwd文件中的每一行由7个字段的数据组成,字段之间用”:”分隔,其格式如下:
##### 账号名称:密码:UID:GID:个人资料:主目录:shell #####
#具体说明如下:
1.账号名称:用户登录Linux系统时使用的名称;
2.密码:这里的密码是经过加密后的密码,而不是真正的密码,若为”x”,说明密码经过了shadow的保护。
3.UID:用户的标识,是一个数值,Linux系统内部使用它来区分不同的用户;
4.GID:用户所在组的标识,是一个数值,Linux系统内部使用它来区分不同的组,相同的组具有相同的GID.
5.个人资料:可以记录用户的个人信息,如姓名、电话等信息
6.主目录:通常是/home/username,这里的username是用户名,用户执行”cd~”命令时当前目前会切换到个人主目录。
7.Shell:定义用户登录后使用的Shell,默认是bash

#2./etc/shadow 文件:任何用户对passwd文件都有读的权限,虽然密码已经经过加密,但还是不能避免有人会获取加密后的密码。为了安全,Linux系统对密码提供了更多一层的保护,即把加密后的密码中定向到另一个文件/etc/shadow.密码如果经过shadow保护,在/etc/passwd文件中,每一记录行的密码字段都会成”x”,并且在/etc目录下存在文件shadow。只有超级用户能够读取shadow的内容。

#3.pwconv和pwunconv文件:安装linux系统时,系统缺省采用shadow来保护密码。?如果安装Linux时没启用shadow,可以使用pwconv命令启用shadow.注意用root用户登陆来执行该命令,执行的结果是/etc/passwd文件中的密码字段被改为”x”,同时产生/etc/shadown文件。
#相反,若要取消shadow功能,可以使用pwunconv命令。

#Linux的组:私有组、系统组、标准组
#1.建立账户时,若没有指定所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组只容纳了一个用户。
#2.标准组可以容纳多个用户,组中的用户都具有组所拥有的权利。
#3.系统组是Linux系统自动建立的。
#4.一个Linux用户可以属于多个组,用户所属的组又有基本组合附加组之分;
#在用户所属组中的第一个组成为基本组,基本组在/etc/passwd文件中指定;其他组为附加组,附加组在/etc/group文件中指定。属于多个组的用户所有的权限是所在的组的权限之和。
#Example 显示/etc/group内容
cat/etc/group
root:x:0:root,paddy
bin:x:1:root,bin,daemon
……
#group文件中的每一行记录了一个组的信息,每行包括4个字段,字段之间用”:”分隔。
##### 组名:组的密码:GID:组成员 #####
1.组名:组的名称,如root,bin等.
2.组的密码:设置加入组的密码,一般情况下不使用组密码,改字段通常没用。
3.GID:组的标识符,为数值,类似UID.
4.组成员:组所包含的用户,用户之间用”,”分隔。

#Linux 用户组的添加、修改、删除
#1.添加组:可以手工编辑/etc/group文件来完成组的添加,也可以使用命令groupadd来添加组。
#命令格式:groupadd组名 Example
groupadd paddy
#2.修改组属性
#使用groupmod命令来修改组名或者GID.在groupmod-g命令后加上组的新ID号和组名来修改GID.在groupmod-n命令后加上组新组名和原组名来修改组名。
#3.删除组 groupdel 命令来删除组
#命令格式:groupdel 组名
#说明:组被删除后,因使用chown命令将被删除用户组组的目录与文件变为它隶属的用户组。
#要改变组中的成员用户或者改变组的密码使用gpasswd命令
#命令格式:gpasswd [参数][用户名]组名
1.不带参数时,即修改组密码。
2.-a:将用户加入到组中。
3.-d:将用户从组中删除。

#Linux 用户权限分派与管理 总结
#用户管理命令:
useradd #添加用户
adduser #添加用户
passwd #为用户设置密码
usermod #修改用户命令,可以通过usermod来修改登录名、用户的家目录等;
pwcov #同步用户从/etc/passwd 到 /etc/shadow
pwck #pwck是检验用户配置文件/etc/passwd 和 /etc/shadow 文件内容是否合法或完整;
pwunconv #pwcov逆向操作,是从/etc/shadow 和 /etc/passwd 创建/etc/passwd,然后会删除/etc/shadow文件
finger #查看用户信息工具
id #查看用户的UID、GID及所归属的用户组
chfn #更改用户信息工具
su #切换用户工具
sudo #sudo是通过另外一个用户来执行命令(execute a command as another user),su是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo能后面直接执行命令,不然sudo 不需要root密码就可以执行root赋予的执行只有root才能执行相应的命令;但得通过visudo来编辑/etc/sudoers来实现;
visudo #visodo是编辑/etc/sudoers的命令;也可以不用这个命令,直接用vi、vim来编辑/etc/sudoers的效果是一样的;
sudoedit #和sudo功能差不多

### 组管理命令
groupadd #添加用户组
groupdel #删除用户组
groupmod #修改用户组信息
groups #显示用户组所属的用户组
grpck #检验组配置文件是否合法和完整
grpconv #通过/etc/group 和 /etc/gshadow 的文件内容来同步或创建/etc/gshadow,如果/etc/gshadow不存在则创建;
grpunconv #通过/etc/group 和 /etc/gshadow 文件内容来同步或者创建 /etc/group,然后删除gshadow文件。

  • 本文目前尚无任何评论.
    1. 本文目前尚无任何 trackbacks 和 pingbacks.