linux添加用户、权限(wheel组)

阅读数:264 评论数:0

跳转到新版页面

分类

Linux

正文

一、useradd

# useradd –d /usr/sam -m sam

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

用useradd新增的用户不能直接用ssh远程访问,需要修改ssh相关配置
如下:

vi /etc/ssh/sshd_config
添加

AllowUsers root@192.168.1.32 admin
多个用户用空格隔开

二、passwd

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

# passwd

Old password:******

New password:*******

Re-enter new password:*******

 

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

# passwd sam

New password:*******

Re-enter new password:*

三、、赋予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权限进行操作。

四、sudo

如何让普通用户获得root用户的权限执行操作而不需要知道root用户的密码或向root用户进行切换呢?有一个命令sudo可以实现这个功能.

在/etc/sudoers中设置了可执行sudo指令的用户,若其未授权的用户企图使用sudo,则会发出警告邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限必须重新输入密码。

-b  在后台执行指令。 
-h  会显示版本编号及指令的使用方式说明。 
-H  将HOME环境变量设为新身份的HOME环境变量。 
-k  结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。 
-l  列出目前用户可执行与无法执行的指令。 
-p  改变询问密码的提示符号,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称。 
-s<shell>  执行指定的shell或是 /etc/passwd 里所指定的 shell。 
-u<用户>  以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。 
-v  延长密码有效期限5分钟。 
-V  显示版本信息。

1、 编辑/etc/sudoers文件,使用visudo命令,
Shell> visudo
其实visudo命令也是调用vi去编辑sudoer文件的,但是在保存时会去检查你修改后文件的语法,如果错误是不能保存的,但是如果直接用vi来编辑该文件,强制保存虽然成功,但是如果有语
法错误这里并不能给出提示,也就导致了后面sudo命令的不可用.
2、记录解析:
Sam ALL=(ALL) ALL
使用者帐户 登入的主机=(可以变换的身份) 可以下达的命令
上述语句的意思是 sam用户可以在任何地方登录,并可切换成任何用户进行任何操作.这里如果(ALL)不写,只写为 sam ALL=ALL,他默认只能切换为root用户.

3、sudo 免密设置方法

newuser ALL=(ALL)NOPASSWD: ALL

 

五、wheel组

wheel源自民间用语(俚语),表示大人物。它是unix系统的一个遗留物。

1、加入wheel组的方法

(1)用useradd创建用户并加入

# 用户的主组被设为wheel
useradd -g wheel 用户名
#或
# 用户的附加组添加wheel组
useradd -G wheel 用户名

-g只能设置一个主组,-G可以多个组,用逗号分隔。

(2)usermod

# 只加-G(--groups)不加-a(--append)会移出该用户原先的附加组, 不会移出主组
usermod -G wheel 用户名  
# 或
# -aG 等同 -a(--append) -G(--groups) , 加上 -a 后 就不会移出原先的附加组了
usermod -aG wheel 用户名  

(3)gpasswd

gpasswd -a 用户名 wheel
# 或
gpasswd -M 用户名 wheel

(4)修改/etc/group文件

sudo vi /etc/group

在wheel:x:10:后添加用户名,用逗号分隔。

2、移除wheel组的方法

(1)gpasswd

sudo gpasswd -d 用户名 wheel

(2)修改/etc/group

sudo vi /etc/group

在wheel:x:10后去除用户名

3、与/etc/pam.d/su的关系

在/etc/pam.d/su中,与wheel有关的有两句,默认是加注释的,此时所有用户能su到root,要密码。

#%PAM-1.0
auth            sufficient      pam_rootok.so

# 取消注释以下行以隐式信任“wheel”组中的用户。(就是 su 不用输入密码)
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid  //这句

## 取消下面这行的注释, 则要求使用su的用户必须在"wheel"组中
# Uncomment the following line to require a user to be in the "wheel" group.
#auth           required        pam_wheel.so use_uid        //和这句

auth            substack        system-auth
auth            include         postlogin
account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet
account         include         system-auth
password        include         system-auth
session         include         system-auth
session         include         postlogin
session         optional        pam_xauth.so

4、与/etc/sudoer关系

wheel组的能力来自/etc/sudoers里的

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

也可以自定义超级组

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL
%SuperGroup  ALL=(ALL)       ALL



相关推荐

一、方式一(kill) 1、如果是用root用户去踢其它用户 (1)找到踢掉用户所启动的进程号 ps -ef (2)杀死用户的进程 kill -9 pid 2、如果是踢同一个用户在其它地方的登陆 如踢

一、安装内核源码 如果你安装全部的sources,把内核tarball放在你有权限的目录下,解压缩,不要使用/usr/src/linux这个目录,因为这是linux系统使用的目录。 xz -cd li

文件属性 drwxr-xr-x. 29 cuihs cuihs 4096 6月 12 11:20 a

1、useradd useradd [-u UID] [-g 初始用户组] [-G 次要用户组] [-mM]\ [-c 说明栏] [-d 主文件夹绝对路径] [-s shell] 用户账号名 -M:

1、groupadd groupadd [-g gid] [-r] 用户组名 -g:后面接某个特定的GID,用来直接给予某个GID -r:新建系统用户组, 2、groupmod groupmod [-

1、执行备份: #cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak 2、新建一个普通用户并设置高强度密码(防止设备上只存在root用户可用时,无法

1.设置用户环境变量vi .bash_profile &nbsp; 或者是 &nbsp;vi &n

一、简介 该命令用来列出目前与过去登录系统的用户相关信息。 执行last指令时,它会读取位于/var/log目录下名称*tmp文件,默认是显示wtmp的记录,btmp能显示的更详细。 1、utmp w

一、查看当前登录用户 1、whoami 查看当前登录用户名 whoami -------------------------------------------------------------

一、概述 1、为什么Linus不使用GPLv3 在 PC 上,只要你得到了某个程序的源代码,就可以自行编译生成二进制程序,然后替换掉原有的二进制程序,你的程序自由很容易得到保证。然而 iPod、iPh