linux增加用户并赋予权限/用户和用户组操作命令

===============ubuntu==================================================

在Ubuntu13.10下创建一个新的用户:

Step1:添加新用户
useradd -r -m -s /bin/bash 用户名

Step2:配置新用户密码
passwd 用户名

Step3:给新添加的用户增加ROOT权限
vim /etc/sudoers
然后添加:
用户名 ALL=(ALL:ALL) ALL

另外,如果直接用useradd添加用户的话,可能出现没有home下的文件夹,以及shell无法自动补全的显现。出现此问题只要修改/etc/passwd下的/bin/sh为/bin/bash即可。

===============redhat===================================================

useradd hadoop

passwd 123456

这样就增加了一个用户名是hadoop 密码是123456的用户

再修改hadoop用户的权限:

赋予root权限
方法一:修改 /etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉
## Allows people in group wheel to run all commands
%wheel    ALL=(ALL)    ALL
然后修改用户,使其属于root组(wheel),命令如下:
#usermod -g root tommy
修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。
方法二:修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
tommy   ALL=(ALL)     ALL
修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。

方法三:修改/etc/passwd 文件,找到如下行,把用户ID修改为 0 ,如下所示:
tommy:x:500:500:tommy:/home/tommy:/bin/bash修改后如下tommy:x:0:500:tommy:/home/tommy:/bin/bash
保存,用tommy账户登录后,直接获取的就是root帐号的权限。
友情提醒:虽然方法三看上去简单方便,但一般不推荐使用,推荐使用方法二。 以上配置完成以后,验证配置是否成功:
id hadoop
或者groups hadoop
看到root即可

=====================================================================

linux下添加,删除,修改,查看用户和用户组

1,创建组

groupadd test

增加一个test组

2,修改组

groupmod -n test2 test

将test组的名子改成test2

3,删除组

groupdel test2

删除 组test2

4,查看组

a),查看当前登录用户所在的组 groups,查看apacheuser所在组groups apacheuser

b),查看所有组 cat /etc/group

  /etc/group 内容具体分析

  /etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:

  group_name:passwd:GID:user_list

  在/etc/group 中的每条记录分四个字段:

  第一字段:用户组名称;

  第二字段:用户组密码;

  第三字段:GID

  第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;

c),有的linux系统没有/etc/group文件的,这个时候看下面的这个方法

cat /etc/passwd |awk -F [:] ‘{print $4}’ |sort|uniq | getent group |awk -F [:] ‘{print $1}’

这里用到一个命令是getent,可以通过组ID来查找组信息,如果这个命令没有的话,那就很难查找,系统中所有的组了.

二,用户操作

1,增加用户

查看复制打印?

[root@krlcgcms01 mytest]# useradd –help

Usage: useradd [options] LOGIN

Options:

-b, –base-dir BASE_DIR       设置基本路径作为用户的登录目录

-c, –comment COMMENT         对用户的注释

-d, –home-dir HOME_DIR       设置用户的登录目录

-D, –defaults                改变设置

-e, –expiredate EXPIRE_DATE 设置用户的有效期

-f, –inactive INACTIVE       用户过期后,让密码无效

-g, –gid GROUP               使用户只属于某个组

-G, –groups GROUPS           使用户加入某个组

-h, –help                    帮助

-k, –skel SKEL_DIR           指定其他的skel目录

-K, –key KEY=VALUE           覆盖 /etc/login.defs 配置文件

-m, –create-home             自动创建登录目录

-l,                           不把用户加入到lastlog文件中

-M,                           不自动创建登录目录

-r,                           建立系统账号

-o, –non-unique              允许用户拥有相同的UID

-p, –password PASSWORD       为新用户使用加密密码

-s, –shell SHELL             登录时候的shell

-u, –uid UID                 为新用户指定一个UID

-Z, –selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping

[root@krlcgcms01 mytest]# useradd --help

Usage: useradd [options] LOGIN

Options:

-b, --base-dir BASE_DIR       设置基本路径作为用户的登录目录

-c, --comment COMMENT         对用户的注释

-d, --home-dir HOME_DIR       设置用户的登录目录

-D, --defaults                改变设置

-e, --expiredate EXPIRE_DATE 设置用户的有效期

-f, --inactive INACTIVE       用户过期后,让密码无效

-g, --gid GROUP               使用户只属于某个组

-G, --groups GROUPS           使用户加入某个组

-h, --help                    帮助

-k, --skel SKEL_DIR           指定其他的skel目录

-K, --key KEY=VALUE           覆盖 /etc/login.defs 配置文件

-m, --create-home             自动创建登录目录

-l,                           不把用户加入到lastlog文件中

-M,                           不自动创建登录目录

-r,                           建立系统账号

-o, --non-unique              允许用户拥有相同的UID

-p, --password PASSWORD       为新用户使用加密密码

-s, --shell SHELL             登录时候的shell

-u, --uid UID                 为新用户指定一个UID

-Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mappinguseradd test

passwd test

增加用户test,有一点要注意的,useradd增加一个用户后,不要忘了给他设置密码,不然不能登录的。

2,修改用户

usermod -d /home/test -G test2 test

将test用户的登录目录改成/home/test,并加入test2组,注意这里是大G。

gpasswd -a test test2 将用户test加入到test2组

gpasswd -d test test2 将用户test从test2组中移出

3,删除用户

userdel test

将test用户删除

4,查看用户

a),查看当前登录用户

[root@krlcgcms01 ~]# w

[root@krlcgcms01 ~]# who

b),查看自己的用户名

[root@krlcgcms01 ~]# whoami

c),查看单个用户信息

[root@krlcgcms01 ~]# finger apacheuser

[root@krlcgcms01 ~]# id apacheuser

d),查看用户登录记录

[root@krlcgcms01 ~]# last 查看登录成功的用户记录

[root@krlcgcms01 ~]# lastb 查看登录不成功的用户记录

e),查看所有用户

[root@krlcgcms01 ~]# cut -d : -f 1 /etc/passwd

[root@krlcgcms01 ~]# cat /etc/passwd |awk -F \: ‘{print $1}’

上一篇:windows 脚本


下一篇:系统架构-设计模式(适配器、观察者、代理、抽象工厂等)及架构模式(C/S、B/S、分布式、SOA、SaaS)(干货)