88971730 2011-04-28
centos用户&组权限&添加删除用户问题详解
转摘网络
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命令,其语法如下:
[Copytoclipboard][-]CODE:useradd选项用户名
其中各选项含义如下:
[Copytoclipboard][-]CODE: -ccomment指定一段注释性描述。
-d目录指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g用户组指定用户所属的用户组。
-G用户组,用户组指定用户所属的附加组。
-sShell文件指定用户的登录Shell。
-u用户号指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
用户名指定新账号的登录名。
2、例子说明
例1:
[Copytoclipboard][-]CODE:#useradd–d/usr/sam-msam
此命令创建了一个用户sam,
其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。
例2:
[Copytoclipboard][-]CODE:#useradd-s/bin/sh-ggroup–Gadm,rootgem
此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。
这里可能新建组:#groupaddgroup及groupaddadm
增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow,/etc/group等。
Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。
3、删除帐号
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。删除一个已有的用户账号使用userdel命令,其格式如下:
[Copytoclipboard][-]CODE:userdel选项用户名
常用的选项是-r,它的作用是把用户的主目录一起删除。
例如:
[Copytoclipboard][-]CODE:#userdelsam
此命令删除用户sam在系统文件中(主要是/etc/passwd,/etc/shadow,/etc/group等)的记录,同时删除用户的主目录。
4、修改帐号
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod命令,其格式如下:
[Copytoclipboard][-]CODE:usermod选项用户名
常用的选项包括-c,-d,-m,-g,-G,-s,-u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。另外,有些系统可以使用如下选项:
[Copytoclipboard][-]CODE:-l新用户名
这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
例如:
[Copytoclipboard][-]CODE:#usermod-s/bin/ksh-d/home/z–gdevelopersam
此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。
5、用户口令的管理
用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。
指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:
[Copytoclipboard][-]CODE:passwd选项用户名
可使用的选项:
[Copytoclipboard][-]CODE: -l锁定口令,即禁用账号。
-u口令解锁。
-d使账号无口令。
-f强迫用户下次登录时修改口令。
如果默认用户名,则修改当前用户的口令。
例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:
[Copytoclipboard][-]CODE: $passwd
Oldpassword:******
Newpassword:*******
Re-enternewpassword:*******
如果是超级用户,可以用下列形式指定任何用户的口令:
[Copytoclipboard][-]CODE: #passwdsam
Newpassword:*******
Re-enternewpassword:*******
普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。
为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。
为用户指定空口令时,执行下列形式的命令:
[Copytoclipboard][-]CODE:#passwd-dsam
此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。
passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录