« 上一篇下一篇 »

Linux系统多用户账号权限设置及资源分配

     当你需要管理一台容纳多个用户的 Linux 机器时,比起一些基本的用户管理工具所提供的方法,有时候你需要对这些用户采取更多的用户权限管理方式。特别是当你要管理某些用户的权限时,这个想法尤为重要。比如说,你有一个目录,某个用户组中的用户可以通过读和写的权限访问这个目录,而其他用户组中的用户对这个目录只有读的权限。在 Linux 中,这是完全可以实现的

与windows操作系统相比,linux系统中的用户和组账号作用基本上是一致的,同样都是基于用户身份来控制对资源的访问,只是在表现形式方面存在一些差异。
管理用户账号和组账号

一.用户账号
1.超级用户 类似于windows中的Adminostrator用户
2.普通用户 需要root或其他管理员创建

3.程序用户 仅用于摸维持系统运行某个程序或者的正常运行

实例1

# useradd –d /usr/sam -m sam
此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。

实例2

# useradd -s /bin/sh -g group –G adm,root gem
此命令新建了一个用户gem,该用户的登录Shell是 /bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。

这里可能新建组:#groupadd group及groupadd adm

增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。

Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。

3、删除帐号

如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。

删除一个已有的用户账号使用userdel命令,其格式如下:

userdel 选项用户名
常用的选项是-r,它的作用是把用户的主目录一起删除。

例如:

# userdel sam
此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。

4、修改帐号

修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。

修改已有用户的信息使用usermod命令,其格式如下:

usermod 选项用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。

另外,有些系统可以使用选项:-l 新用户名

这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

例如:

# usermod -s /bin/ksh -d /home/z –g developer sam
此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。

5、用户口令的管理

用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。

指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:

 

二.组账号
每个用户至少属于一个基本组,这个组成为用户的基本组(或私有组),如果该用户同时还包括在其他组内,则这些组称为该用户的附加组(或公共组)

:用户账号文件   主要有两个,分别是 /etc /passwd  /etc/shadow
 
[root@centos6 ~]# head -2 /etc/passwd   可以查看passwd开头两行的内容

[root@centos6 ~]# tail -1 /etc/passwd    可以查看passwd末尾一行的内容         shadow文件查看方法相同
[root@centos6 ~]# useradd zhangsan  创建用户zhangsan
[root@centos6 ~]# ls -A /home/zhangsan   确认自动创建的用户目录

useradd创建用户时可以跟的几个常见选项
 -d 指定用户宿主目录  -e 指定账户失效时间  -g 指定用户基本组  -G指定用户附加组
 -M不建立宿主目录 -s指定用户不登录shell   -u指定用户uid (uid唯一)   
[root@centos6 ~]# useradd -d /admin -g aaa -G root admin   创建一个辅助管理员 基本组aaa附加组root宿主目录 admin
[root@centos6 ~]# useradd -e 2018-6-10 -s /sbin/nologin lisi  创建一个名为lisi的账号(不可登录终端)2018.6.10号失效
[root@centos6 ~]# passwd zhangsan   给zhangsan设置密码   
passwd  可跟以下选项  -d清空用户密码  -l 锁定用户密码  -s查看用户状态 -u解锁账户
usermod—修改用户属性
-u修改uid  -d 修改宿主目录 -e 修改用户账户失效时间 -g修改基本组  -G 修改附加组 -s指定用户登录shell -L 锁定账户 -U解锁 
组账号管理
1.组账号文件 、/etc/group  /etc/gshadow
[root@centos6 ~]#groupadd aaa     添加一个名为aaa的zu
[root@centos6 ~]# groups  查看用户账号属于哪些组

[root@centos6 ~]# id root   查看指定用户的uid gid等标识信息

 

三.设置目录和文件的权限
[root@centos6 ~]# chmod 777 /aaa 给文件夹/aaa设置读写执行权限    权限转换为数字就是4(读)2(写)1(执行)
[root@centos6 ~]# chown root:zhangsan /aaa   将/aaa文件属主更改root  属组改为李四