当前位置: > CentOS > CentOS安全 >

centos用户&组权限&添加删除用户问题详解

时间:2014-07-20 02:30来源:linux.it.net.cn 作者:IT网

1.Linux操作系统是多用户多任务操作系统,包括用户账户和组账户两种
细分用户账户(普通用户账户,超级用户账户)除了用户账户以为还有组账户所谓组账户就是用户账户的集合,centos组中有两种类型,私有组和标准组,当 创建一个新用户时,若没有指定他所属的组,centos就建立以个和该用户相同的私有组,此私有组中只包括用户自己。标准组可以容纳多个用户,如果要使用 标准组,那创建一个新的用户时就应该指定他所属于的组,从另外一方面讲,同一个用户可以属于多个组,例如某个单位的领导组和技术组,lik是该单位的技术 主管,所以他就是属于领导组和技术组。当一个用户属于多个组时,其登录后所属的组是主组,其它组为附加组。

2.Linux环境下的账户系统文件主要在/etc/passwd, /etc/shadow,/etc/group,和/etc/gshadow四个文件。基本含义就不多说了重点说一下,root的uid是0,从 1-499是系统的标准账户,普通用户从uid 500开始。

3.使用命令管理账户
useradd 选项  用户名//添加新用户

usermod 选项  用户名//修改已经存在的用户

userdel -r    用户名//删除用户表示自家目录一起删除。

groupadd 选项  组名// 添加新组

groupmod 选项  组名//修改已经存在的组

groupdel 组名  //删除已经存在的特定组。

例子
useradd zhh888 //添加一个用户zh888

groupadd blog  //新建一个blog组

useradd -G blog zh //表示创建一个新用户zh,同时加入blog附加组中。

useradd -d /var/ftp/pub -M ftpadmin //创建一个新用户ftpadmin,指定目录是/var/ftp/pub,不创建自家目录(-M)

usermod -G blog zh888 //表示将zh888添加到附加组blog中去。

userdel ftpadmin //表示删除ftpadmin用户

userdel -r zhh888 //表示删除zh888和/home中的目录一起删除。

groupdel blog //表示删除blog组。

4.口令管理及时效
创建用户之后就要给用户添加密码,设置的口令的命令式passwd
passwd 选项  用户名

passwd -l 用户名账号名//禁止用户账户口令

passwd -S 用户名//表示查看用户账户口令状态

passwd -u 用户名//表示恢复用户账号

passwd -d 用户名//表示删除用户账户口令

5.chage 命令是保护密码的时效这样可以防止其他人猜测密码的时间。

chage 选项 用户名

参数有 -m days, -M days ,-d days, -I days ,-E date, -W days,-l
例子:#chage -m 2 -M 30 -W zhh//表示的意思是要求用户zhh两天内不能更改密码,并且口令最长存活期是30天,并且口令过期5天通知zhh

6.用户和组的状态查询命令

whoami //用于显示当前的用户名称。

groups 用户名//表示显示指定的用户所属的组,如果没指定用户则是当前用户所属的组。

id //表示显示当前用户的uid gid和用户所属的组列表。

su - 用户//表示转换到其他用户,如果su表示切换到自己的当前用户。

newgrp 组名//表示转换用户的当前组到指定的附加组,用户必须属于该组才能进行。

7.更改属主和同组人

有时候还需要更改文件的属主和所属的组。只有文件的属主有权更改其他属主和所属的组,用户可以把属于自己的文件转让给大家。改变文件属主用chown命令

chown [-R] <用户名或组><文件或目录>

chown zh888 files//把文件files属主改成zh888用户。

chown zh888.zh888 files//将文件files的属主和组都改成zh888。

chown -R zh888.zh888 files//将files所有目录和子目录下的所有文件或目录的主和组都改成zh888.


8.设置文件的目录和目录生成掩码

用户可以使用umask命令设置文件默认的生成掩码。默认的生成掩码告诉系统创建一个文件或目录不应该赋予哪些权限。如果用户将umask命令放在环境文件.bash_profile中,就可以控制所有新建的文件和目录的访问权限。

umask [a1a2a3]
a1表示的是不允许属主的权限,a2表示的是不允许同组人的权限,a3代表不允许其他人的权限。

umask 022//表示设置不允许同组用户和其他用户有写的权限。

umask //显示当前的默认生成掩码。

9.特殊权限的设置

SUID SGID 和sticky-bit

除了一般权限还有特殊的权限存在,一些特殊权限存在特殊的权限,如果用户不需要特殊权限一般不要打开特殊权限,避免安全方面的问题。具体的用法可以百度和google一下。

希望自己整理出来的知识能帮助网友更好的理解centos用户&组权限&添加删除用户等问题。

 

 

 CentOS查看系统所有用户列表命令: cat /etc/passwd

 

 

 

 

 

 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

实现用户账号的管理,要完成的工作主要有如下几个方面:
· 用户账号的添加、删除与修改。
· 用户口令的管理。
· 用户组的管理。


一、Linux系统用户账号的管理

用户账号的管理工作主要涉及到用户账号的添加、修改和删除。

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。

1、添加新的用户账号使用useradd命令,其语法如下:



 
[Copy to clipboard] [ - ] CODE: useradd 选项 用户名


其中各选项含义如下:

 
[Copy to clipboard] [ - ] CODE:   -c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。


用户名 指定新账号的登录名。


2、例子说明

例1:



 
[Copy to clipboard] [ - ] CODE: # useradd –d /usr/sam -m sam


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


例2:



 
[Copy to clipboard] [ - ] CODE: # 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命令,其格式如下:



 
[Copy to clipboard] [ - ] CODE: userdel 选项 用户名


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

例如:



 
[Copy to clipboard] [ - ] CODE: # userdel sam


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


4、修改帐号

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

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



 
[Copy to clipboard] [ - ] CODE: usermod 选项 用户名


常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。另外,有些系统可以使用如下选项:



 
[Copy to clipboard] [ - ] CODE: -l 新用户名


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

例如:



 
[Copy to clipboard] [ - ] CODE: # usermod -s /bin/ksh -d /home/z –g developer sam


此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。


5、用户口令的管理

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

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



 
[Copy to clipboard] [ - ] CODE: passwd 选项 用户名


可使用的选项:

 
[Copy to clipboard] [ - ] CODE:   -l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
如果默认用户名,则修改当前用户的口令。


例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:

 
[Copy to clipboard] [ - ] CODE:   $ passwd
Old password:******
New password:*******
Re-enter new password:*******


如果是超级用户,可以用下列形式指定任何用户的口令:

 
[Copy to clipboard] [ - ] CODE:   # passwd sam
New password:*******
Re-enter new password:*******


普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。

为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。

为用户指定空口令时,执行下列形式的命令:



 
[Copy to clipboard] [ - ] CODE: # passwd -d sam


此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。

passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容