首页 > 分布式 > Linux > Linux用户基础和权限
2014
04-10

Linux用户基础和权限

Linux用户基础

用户:当我们使用Linux时,需要以一个用户的身份登入,一个进程也需要以一个用户的身份运行,用户限制使用者或进程可以使用、不可以使用哪些资源(通过权限机制实现)。

组:组用来方便组织管理用户。一般来讲,我们使用部门、职能或地理的分类方式来创建使用组。

每个用户有一个用户名和一个UID,UID是操作系统真正用来管理标识用户的。UID为32位长,从0开始,但是为了和老式系统兼容,UID最大一般到60000。

同上,每个组也对应一个组名和GID,一个用户属于一个主组的同时可以属于一个或多个附属组。

每个用户有一个家目录,用来保存用户私有数据,root用户的家目录为/root,普通用户家目录为/home下与用户名相同的目录

每个可登陆用户拥有一个指定的shell(默认的为/bin/bash)

注:系统中的文件都有一个所属用户及所属组。(后面的权限机制会有说这个)

用户分为以下三种类型:

root用户(uid为0的用户)

系统用户(uid 1~499):最大特点就是没有Shell,为某些服务而创建。

普通用户(uid 500+)

相关命令:

1、命令id用以显示当前用户的信息(uid / gid / groups),命令passwd用以修改当前用户的密码。也可在后面指定用户名。

2、以下命令用以显示当前登陆用户信息:

whoami 显示当前的用户

who 显示登陆的用户的信息

w 显示登陆的用户的详细信息,包括什么时候登录的。

可理解为命令越短,显示信息越长。

相关配置文件:

/etc/passwd 用户信息

/etc/shadow 用户密码(加密的)

/etc/group 组信息

三个文件中的格式见:http://blog.163.com/myrudy@126/blog/static/171851536201122231932500/

用户管理:

1、添加用户:useradd 用户名

如useradd flyne,这个命令会执行以下操作:

1、在/etc/passwd中添加用户信息(如果使用passwd命令创建密码,则将密码加密保存在/ect/shadow中)

2、为用户建立一个新的家目录/home/flyne

3、将/etc/skel中的文件复制到用户的家目录中(如果要给每个新建的用户发送一个文件,如说明文档,可以采取这种方法)、

4、建立一个与用户用户名相同的组,新建用户默认属于这个组。

在创建用户时可指定用户信息:

-u 指定用户uid

-g 指定用户所属主组

-G 指定用户所属附属组

-d 指定用户家目录

-s 指定用户登陆shell

2、修改用户信息:usermod 用户名 [选项],该命令可选择的选项如下:

-l 修改用户名

-p 修改用户名

-u 修改uid

-g 修改用户主组

-G 修改用户附属组

-d 修改用户家目录

-L 锁定用户

-U 解锁用户

3、删除用户:

userdel 用户名 //会保留用户的家目录

userdel -r 用户名 //删除用户的同时删除该用户家目录

组管理:

1、命令groupadd用以创建一个组:groupadd 组名

2、命令groupmod用以修改一个组信息:

groupmod -n 新组名 旧组名

groupmod -g 新组ID 旧组ID

3、命令groupdel用以删除一个组:groupdel 组名

Linux权限机制

权限是操作系统用来限制用户、进程对操作系统资源(文件、设备等)的访问的机制。

①每个文件或目录拥有一个所属用户和所属组,并且设置对应的权限,通过这样的机制来限制哪些用户、哪些组可以对特定文件进行什么样的操作。(文件的权限可以通过ls -l查看)

②每个进程在运行的时候均以一个用户的身份运行,所以进程的权限与该用户的权限一样,用户的权限大,该进程拥有的权限就越大。

权限分为:读、写、执行,一般表示为 r、w、x(对文件夹来说,必须要有执行权限)。Linux使用UGO权限模型,U代表所属用户、G代表所属组、O代表其他,每个文件的权限基于UGO模型设置,需要对U、G、O分别设置权限,共三组权限。

常用命令:

1、修改文件所属用户:chown [选项] 用户 文件/目录,常用选项如下:

-R 递归修改该目录下所有文件的所属用户

2、修改文件的所属组:chgrp [选项] 组 文件

3、修改文件的权限:chmod 模式 文件,模式为如下格式:

u、g、o分别代表用户、组和其他

a可以代指ugo

+、-代表加入或删除对应权限

r、w、x代表三种权限

如:

chmod u+rw FILE_NAME

chmod g-x FILE_NAME

chmod go+r FILE

chmod a+x FILE

此外,模式也可以为0~7的数字,如:chmod 755 FILE

以上笔记来自:http://itercast.com/library/1/course/11


留下一个回复

你的email不会被公开。