放开linux user禁用登录功能(/sbin/nologin)

CDH中使用了oozie进行任务调度,如在凌晨的进行ETL调度任务。
而kettle “data-integration”服务安装在cdh集群之外的一台server上(如111.111.111.111)。

drwxrwxr-x  4 yarn yarn adaptive-execution
-rw-rw-r--  1 yarn yarn Carte.bat
-rwxrwxr-x  1 yarn yarn carte.sh
drwxrwxr-x  2 yarn yarn classes
drwxrwxr-x  3 yarn yarn Data Integration.app
drwxrwxr-x  2 yarn yarn Data Service JDBC Driver
drwxrwxr-x  3 yarn yarn docs
-rw-rw-r--  1 yarn yarn Encr.bat
-rwxrwxr-x  1 yarn yarn encr.sh
drwxrwxr-x  4 yarn yarn hdfs:
-rw-rw-r--  1 yarn yarn Import.bat
-rw-rw-r--  1 yarn yarn import-rules.xml
-rwxrwxr-x  1 yarn yarn import.sh
-rw-rw-r--  1 yarn yarn Kitchen.bat
-rwxrwxr-x  1 yarn yarn kitchen.sh
drwxrwxr-x  2 yarn yarn launcher
drwxrwxr-x  2 yarn yarn lib
drwxrwxr-x  6 yarn yarn libswt
-rw-rw-r--  1 yarn yarn LICENSE.txt
drwxrwxr-x  2 yarn yarn logs
-rw-rw-r--  1 yarn yarn Pan.bat
-rwxrwxr-x  1 yarn yarn pan.sh
-rw-rw-r--  1 yarn yarn PentahoDataIntegration_OSS_Licenses.html
drwxrwxr-x 28 yarn yarn plugins
-rw-rw-r--  1 yarn yarn purge-utility.bat
-rwxrwxr-x  1 yarn yarn purge-utility.sh
drwxrwxr-x  2 yarn yarn pwd
-rw-rw-r--  1 yarn yarn README.txt
-rw-rw-r--  1 yarn yarn runSamples.bat
-rwxrwxr-x  1 yarn yarn runSamples.sh
drwxrwxr-x  5 yarn yarn samples
-rw-rw-r--  1 yarn yarn set-pentaho-env.bat
-rwxrwxr-x  1 yarn yarn set-pentaho-env.sh
drwxrwxr-x  2 yarn yarn simple-jndi
-rw-rw-r--  1 yarn yarn Spark-app-builder.bat
-rwxrwxr-x  1 yarn yarn spark-app-builder.sh
-rw-rw-r--  1 yarn yarn Spoon.bat
-rw-rw-r--  1 yarn yarn spoon.command
-rw-rw-r--  1 yarn yarn SpoonConsole.bat
-rw-rw-r--  1 yarn yarn SpoonDebug.bat
-rwxrwxr-x  1 yarn yarn SpoonDebug.sh
-rw-rw-r--  1 yarn yarn spoon.ico
-rw-rw-r--  1 yarn yarn spoon.png
-rwxrwxr-x  1 yarn yarn spoon.sh
drwxrwxr-x  5 yarn yarn system
drwxrwxr-x  3 yarn yarn ui
-rwxrwxr-x  1 yarn yarn yarn.sh

由于kettle 任务被提交至yarn上,由yarn用户最终调用,因此需要在cdh集群的任一节点上能够免密登陆访问到kettle server。

cdh集群(这里版本为6.1.0)任一节点中切换到yarn下,无法切换,提示如下:

[root@server11-22-33-44 zhangsan]# su yarn
This account is currently not available.

一、关于取消禁用登录

查看/etc/passwd文件中yarn用户的配置,如下:

yarn:x:982:976:Hadoop Yarn:/var/lib/hadoop-yarn:/sbin/nologin

引申:
①、linux系统中,与用户密码相关的配置文件有2个:
/etc/passwd
/etc/shadow,上述字符串中第二列字符中的“x”即表示该用户密码报存到了shadow文件中。

②、关于禁用登录
/sbin/nologin设置了该用户禁用登录功能。

如使用"useradd -M -s /sbin/nologin nginx" 将创建了一个无登录权限的功能用户nginx。

[root@xx serv111-111]# useradd
用法:useradd [选项] 登录
useradd -D
useradd -D [选项]
选项:
-b, --base-dir BASE_DIR 新账户的主目录的基目录
-c, --comment COMMENT 新账户的 GECOS 字段
-d, --home-dir HOME_DIR 新账户的主目录
-D, --defaults 显示或更改默认的 useradd 配置
-e, --expiredate EXPIRE_DATE 新账户的过期日期
-f, --inactive INACTIVE 新账户的密码不活动期
-g, --gid GROUP 新账户主组的名称或 ID
-G, --groups GROUPS 新账户的附加组列表
-h, --help 显示此帮助信息并推出
-k, --skel SKEL_DIR 使用此目录作为骨架目录
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库
-m, --create-home 创建用户的主目录
-M, --no-create-home 不创建用户的主目录
-N, --no-user-group 不创建同名的组
-o, --non-unique 允许使用重复的 UID 创建用户
-p, --password PASSWORD 加密后的新账户密码
-r, --system 创建一个系统账户
-R, --root CHROOT_DIR chroot 到的目录
-s, --shell SHELL 新账户的登录 shell
-u, --uid UID 新账户的用户 ID
-U, --user-group 创建与用户同名的组
-Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER

本例中,需要使用yarn用户免密登陆到kettle server的yarn用户下,故cdh集群的各节点yarn用户必须设置为可登录。

设置也很简单,直接切换到root用户下,修改/etc/passwd文件,将/sbin/nologin修改为某一个登录shell即可。
如:

yarn:x:982:976:Hadoop Yarn:/var/lib/hadoop-yarn:/bin/bash

二、设置免密登陆

核心步骤:

如下步骤在每台cdh集群server上执行:
①、创建ssh目录

ssh-keygen -t rsa

②、然后分别拷贝公钥至kettle所在server,单向即可

ssh-copy-id -p ${port} -i ~/.ssh/id_rsa.pub 111.111.111.111

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值