`
moonrub
  • 浏览: 42162 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论
  • 22cgreen: new 也是类加载器加载,也是类加载机制,可以说JAVA类进入 ...
    newinstance

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

阅读更多

         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命令,其语法如下:



 
[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)选项锁定某一用户,使其不能登录

分享到:
评论

相关推荐

    centos用户&组权限&添加删除用户总结

    ### CentOS 用户与组权限管理及用户操作详解 #### 一、CentOS 用户与组的基本概念 1. **用户账户**: - **普通用户账户**:具有一定的限制,无法执行某些系统级的操作。 - **超级用户账户(root)**:拥有最高权限...

    centos的用户、组权限、添加删除用户等操作的详细操作命令

    ### CentOS 用户与组权限管理详解 #### 一、CentOS 用户与组权限概述 Linux作为一款多用户多任务操作系统,在用户管理和权限分配方面有着非常完善的设计。CentOS作为基于Linux的一种发行版,同样具备这些特性。...

    CentOS 6.5 Samba服务器 权限配置实例.docx

    本文档主要介绍了在 CentOS 6.5 环境下如何配置 Samba 服务器来实现不同部门之间的文件共享,并对不同的用户组设定特定的访问权限。 #### 二、目标环境 假设某公司内部设有软件开发部、硬件开发部、项目管理部以及...

    删除 vsftp FTP用户 以及添加用户全过程

    ### 删除与添加vsftp FTP用户全过程详解 #### 一、前言 在IT运维工作中,FTP服务是非常重要的组成部分之一,特别是在文件传输与管理方面。本文将详细介绍如何在vsftp(Very Secure FTP daemon)环境中进行FTP用户...

    Centos mysql 安装配置详解

    安装完成后,需要创建一个专门的MySQL用户和用户组,比如`groupadd mysql`和`useradd -g mysql mysql`。接着,更改MySQL目录的权限,使其归新创建的用户所有,如`chown -R mysql.mysql /opt/mysql`。初始化数据库,...

    centos7安装mydsql.docx

    "centos7安装mysql" CentOS 7 上安装 MySQL 的步骤详解: 步骤一:安装 MySQL 在 CentOS 7 环境中,首先需要将 MySQL 安装包上传...整个过程需要注意权限、用户和组的设置,以确保 MySQL 服务器的安全性和稳定性。

    CentOS 7.0系统下安装配置mariaDB步骤详解

    使用`mysql_secure_installation`脚本,这个脚本会引导你完成一系列安全性相关的设置,包括删除匿名用户、禁止root远程登录、删除测试数据库和加载安全设置: ```bash sudo mysql_secure_installation ``` 按照...

    vsftpd虚拟用户的配置

    ### vsftpd虚拟用户的配置详解 #### 一、虚拟用户概念 在介绍具体的配置步骤之前,我们先来了解一下什么是虚拟用户。虚拟用户是指在FTP服务器上使用的非真实系统账户,通常用于提高安全性以及方便管理和控制。 **...

    Centos7.6安装MySQL8.0.docx

    CentOS 7.6 安装 MySQL 8.0 二进制安装详解 CentOS 7.6 安装 MySQL 8.0 需要注意的几个重要步骤,包括确认服务器没有安装 MySQL 或已卸载完全、下载二进制包、自定义目录规则、配置参数、修改系统配置文件、运行...

    CentOS安装MySQL5.7

    # 创建MySQL用户,并将其添加到mysql组 useradd -r -g mysql mysql ``` 这里使用了`-r`选项来指定这是一个系统账户,通常用于不需要登录的服务账户。 #### 三、安装MySQL 5.7 接下来我们将下载MySQL 5.7的二进制包...

    Linux修改文件及文件夹权限

    - **操作符号**:`+`添加权限,`-`删除权限,`=`设置权限并清除其他权限。 - **模式** (`mode`):`r`读权限,`w`写权限,`x`执行权限,`s`设置UID或GID,`t`粘滞位,`u`、`g`、`o`分别表示与所有者、同组用户、其他...

    详解centos下搭建redis集群

    在本文中,我们将深入探讨如何在CentOS操作系统下搭建Redis集群。Redis是一个开源的、基于内存的数据存储系统,常用于数据库、缓存和消息中间件等场景。在集群模式下,Redis可以提供高可用性和数据分片,以支持更大...

    CentOS_vsftpd的安装与配置

    ### CentOS vsftpd的安装与配置详解 在深入解析如何在CentOS系统上安装与配置vsftpd(Very secure FTP daemon)之前,我们先来了解vsftpd的重要性及其功能特性。vsftpd是一款专为安全性设计的FTP服务软件,尤其在...

    centos7基础命令2

    例如,使用 `groupadd` 命令可以添加一个新的用户组。 [截图:groupadd 命令输出结果] 2. groupmod 命令:groupmod 命令用于修改组名称。例如,使用 `groupmod` 命令可以修改用户组的名称。 [截图:groupmod 命令...

    centos7部署snort步骤

    ### CentOS 7 部署 Snort 步骤详解 #### 一、概述 Snort 是一款开源的网络入侵检测系统(IDS),它能够实时分析网络流量,检测潜在的恶意行为或异常活动,并发出警告。在 CentOS 7 上部署 Snort 可以为企业或组织...

    Linux基本的命令详解

    - `gpasswd`:管理用户组成员。 - `-a`:向组添加用户。 - `-d`:从组中删除用户。 - `-A`:指定组管理员。 - `-M`:指定组成员。 - `-r`:删除组密码。 - `-R`:限制组成员。 4. **权限管理命令** - `ls -...

    Centos命令

    - `chmod go+r 文件名`:为其他用户和组添加读取权限。 3. **修改文件属主** - 使用`chown`命令修改文件的所有者。 - `chown 新属主 文件名`:更改文件的所有者。 4. **修改文件属组** - 使用`chgrp`命令修改...

    CentOS7服务开机启动

    它允许用户查看、添加或删除系统服务。其语法格式如下: - `chkconfig --list`: 列出所有已知的服务及其运行级别上的状态。 - `chkconfig --add &lt;service&gt;`: 将指定的服务添加到`chkconfig`数据库中。 - `chkconfig...

Global site tag (gtag.js) - Google Analytics