centos中新建的非root用户是没有sudo的权限的,如果需要使用sudo权限必须在/etc/sudoers 中加入账户和权限,

所以切换到root账号的时候只需要输入:su加入root账号的密码即可。

在Ubuntu中,一般使用sudo+命令,如果是第一次使用会提示输入当前用户的密码(而不是root的密码)。

注意:在Ubuntu中两个命令:useradd和adduser,虽然功能一致,但用法却不尽相同,在Ubuntu系统上这是两条命令,而在Centos上则是同一条命令,adduser 是链接的形式存在。

一、账户管理

1. 新建用户

1.1 确保当前登录用户有创建新用户的权限

# 查看当前已存在用户。
cat /etc/passwd |cut -f 1 -d:

注意:linux里没有windows的net user,net localgroup命令。

1.2 查看UID

# 查看用户ID

more
/etc/passwd

注意:参数(UID)为0即为系统管理员,1-499为系统帐号(新版本为1-999),500-65535为一般使用者(新版本系统以1000开头)。

本例中“root”的UID为0(即为系统管理员),“fairy”为1000(一般使用者)。

 

1.3 添加用户

添加一个名为“testuser”的帐号,默认会添加一个同名的组,并在/home新建一个同名目录。

# 添加用户
useradd testuser

  #参数

 创建新用户:useradd
useradd [用户名] // 默认主文件夹在 `/home` 目录 passwd [用户名] // 设置用户密码

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

 

 例如:

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

  useradd –d /home/testuseruser -m testuseruser

 

注意:此时帐号“testuser”处于锁定状态。

1.4 设置密码

创建用户完毕后,必须修改密码否则无法登陆,Linux不显示密码。

# 需输入相同密码两次
passwd wtf123456

1.5 授权

新创建的用户并不能使用 sudo 命令,需要授权。

1.5.1 添加 sudoers 文件可写权限

chmod -v u+w /etc/sudoers

1.5.2 修改 sudoers 文件

使用 vim 编辑器打开 sudoers 文件

 

# 编辑 vi /etc/sudoers,在 sudoers 文件中找到如下位置并添加如下内容:

  [用户名]    ALL=(ALL)     ALL   

 

  备注:

  若新用户需要使用 sudo 时不输密码, 则将此行最后一个 ALL 改为 NOPASSWD:ALL 即可

  testuser   ALL=(ALL)       NOPASSWD:ALL

1.5.3 收回 sudoers 文件可写权限

chmod -v u-w /etc/sudoers

1.6 切换账户

# 切换到用户(testuser)下即可使用。
su - testuser

1.7 查看默认设置

# 查看此账户的默认设置
useradd -D

2. 删除账户

2.1 退出用户组

将名称为testuser的用户退出名称为testgroup的组

 gpasswd -d testuser testgroup

2.2  删除用户账号和主目录

# userdel 选项 用户名

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

  例如:

# userdel -r testuser

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

备注:

删除用户可能会提示用户被占用根据进程号,先杀进程再删除。

kill -9 进程号

 

2.3 查看文件内容命令

cat     由第一行开始显示内容,并将所有内容输出
tac     从最后一行倒序显示内容,并将所有内容输出
more    根据窗口大小,一页一页的现实文件内容
less    和more类似,但其优点可以往前翻页,而且进行可以搜索字符
head    只显示头几行
tail    只显示最后几行
nl      类似于cat -n,显示时输出行号
tailf   类似于tail -f 

3. 修改账户

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

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

usermod 选项 用户名

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

 另外,有些系统可以使用选项:-l 新用户名这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

例如:

# usermod -s /bin/ksh -d /home/h –g testgroup testuser

此命令将用户testuser的登录Shell修改为ksh,主目录改为/home/h,用户组改为testgroup。

二、用户组管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

1. 新建用户组

1.1 增加一个新的用户组

使用groupadd命令。其格式如下:

groupadd 选项 用户组

可以使用的选项有:

  • -g GID 指定新用户组的组标识号(GID)。
  • -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

例如:

# groupadd testgroup

此命令向系统中增加了一个新组testgroup,新组的组标识号是在当前已有的最大组标识号的基础上加1。

# groupadd -g 1000 testgroup

此命令向系统中增加了一个新组testgroup,同时指定新组的组标识号是1000。

1.2 新建用户同时添加组

新建用户同时增加用户组:
useradd -g testgroup testuser       //新建testuser用户并增加到testgroup用户组

给已有的用户增加用户组:

usermod -G groupname username 

或者: gpasswd
-a user group useradd -s /bin/sh -g testgroup –G adm,root testuser

此命令新建了一个用户testuser,该用户的登录Shell是 /bin/sh,它属于testgroup用户组,同时又属于adm和root用户组,其中testgroup用户组是其主组。

这里可能新建组:

# groupadd testgroup 及 groupadd adm

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

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

补充:查看用户和用户组的方法
用户列表文件:/etc/passwd
用户组列表文件:/etc/group
查看系统中有哪些用户:cut -d : -f 1 /etc/passwd
查看可以登录系统的用户:cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1
查看某一用户:w 用户名
查看登录用户:who
查看用户登录历史记录:last

2. 修改用户组

2.1 修改组属性

修改用户组的属性使用groupmod命令。其语法如下:

groupmod 选项 用户组

常用的选项有:

  • -g GID 为用户组指定新的组标识号。
  • -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
  • -n 新用户组 将用户组的名字改为新名字

例如:

将组testgroup的组标识号修改为1001

# groupmod -g 1001 testgroup

将组testgroup的标识号改为10000,组名修改为testgroup1

# groupmod –g 10000 -n testgroup1 testgroup

2.2 多用户组

如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。

用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。

例如:

# newgrp root

这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成。

3. 删除用户组

3.1 删除组

#删除名称为testgroup的组

groupdel testgroup

三、用户口令的管理

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

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

命令的格式为:

passwd 选项 用户名

可使用的选项:

  • -l 锁定口令,即禁用账号。
  • -u 口令解锁。
  • -d 使账号无口令。
  • -f 强迫用户下次登录时修改口令。

如果默认用户名,则修改当前用户的口令。

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

$ passwd 
Old password:****** 
New password:******* 
Re-enter new password:*******

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

# passwd testuser 
New password:******* 
Re-enter new password:*******

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

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

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

# passwd -d testuser

此命令将用户 testuser 的口令删除,这样用户 testuser 下一次登录时,系统就不再允许该用户登录了。

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

# passwd -l testuser

四、设置用户首次登录必须修改密码

1. 添加新账户

useradd testuser

2. 设置初始密码

设置帐号初始密码为“wtf123456”

echo "wtf123456" | passwd --stdin testuser

3. 设置密码过期

chage -d 0 testuser

4. 登录新账户

提示必须修改密码,输入新密码并回车确定后,会自动中断连接,再次连接即可)。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#参数
创建新用户:useradd

原文地址:http://www.cnblogs.com/elfin/p/16813338.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性