/etc/passwd中的每个用户都被指定了使用哪个shell,最常见的两种
1./sbin/nologin
2./bin/bash
后者很好理解,就是系统使用bash shell环境登录。
所以主要学习了/sbin/nologin,并对此进行描述。
若某个账号使用了/sbin/nologin,则此时无法登录系统,即使给了密码也不行。系统账号一般都是使用这它.所谓“无法登陆”指的仅是这个用户无法使用bash或其他shell来登陆系统而已,并不是说这个账号就无法使用系统资源。举例来说,各个系统账号中,打印作业有lp这个账号管理,www服务器有apache这个账号管理,他们都可以进行系统程序的工作,但就是无法登陆主机而已。有时候有些服务,比如邮件服务,大部分都是用来接收主机的邮件而已,并不需要登陆。假如有账号试图连接我的主机取得shell,我们就可以拒绝。
[root@localhost shell]# grep mail /etc/passwd
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
[root@localhost shell]# su - mail
最終ログイン: 2017/07/28 (金) 08:49:58 JST日時 pts/2
This account is currently not available.
另外,如果我想要让某个具有 /sbin/nologin 的用户知道,他们不能登陆主机时,可以新建 /etc/nologin.txt 这个文件,在文件内面写上不能登陆的原因,当用户登录时,屏幕上就会出现这个文件里面的内容。
[root@localhost shell]# mv /etc/nologin.txt.bak /etc/nologin.txt
[root@localhost shell]# cat /etc/nologin.txt
this account is system account or mail account
[root@localhost shell]# su - mail
最終ログイン: 2017/07/28 (金) 09:01:19 JST日時 pts/2
this account is system account or mail account
相关推荐
设置安装服务器依赖: $yum install git openssl mysql-server python python-pip MySQL-python tornado$pip install db-migrate创建分析用户: $useradd --user-group --shell /sbin/nologin --comment "analytics ...
1. **添加新用户** 使用`useradd`命令,基本语法为`useradd [选项] 用户名`。例如,`useradd sam`将创建一个名为`sam`的新用户。添加用户时,可以通过以下选项自定义配置: - `-c`:添加注释性描述。 - `-d`:...
这个问题的原因通常是由于目标用户的登录Shell被配置为非交互式的Shell,如`/sbin/nologin`。当用户登录Shell被设置为`/sbin/nologin`时,意味着该用户无法通过交互式的方式登录,即不允许通过`su`命令或其他类似...
bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:...
以上命令创建了一个名为 mysql 的组和用户,并设置了用户的 shell 为 /sbin/nologin,避免用户登录。 ```bash shell>chown -R mysql:mysql /usr/local/mysql shell>mkdir /var/lib/mysql shell>chown -R mysql:...
- 将用户的Shell改为 `/sbin/nologin`。 - 示例: 修改前 `zgsj:x:500:500::/home/lynn:/bin/bash`,修改后 `zgsj:x:500:500::/home/lynn:/sbin/nologin`。 - **禁止所有用户登录**: - `touch /etc/nologin` ###...
1、查看机器安装了哪些shell? 有两种方法可以查看。 第一种: [rocrocket@wupengchong ~]$ chsh -l /bin/sh /bin/bash /sbin/nologin /bin/zsh 第二种: [rocrocket@wupengchong ~]$ cat /etc/shells /bin/sh...
- 创建一个名为nagios的用户,并将其shell设置为/sbin/nologin,防止直接登录。 - 创建存放Nagios的目录并赋予nagios用户所有权。 - ``` mkdir /app/nagios chown -R nagios.nagios /app/nagios ``` #### 二...
2. **创建Nginx用户**:执行`useradd nginx -s /sbin/nologin –M`来创建一个名为`nginx`的用户,该用户无法登录Shell。 3. **编译安装Nginx**: - 进入预先准备好的Nginx目录。 - 执行`./configure --user=nginx...
将`nobody`和`ftp`的登录SHELL设置为`/sbin/nologin`,以防止他们登录到系统。 ```shell # usermod -s /sbin/nologin nobody # usermod -s /sbin/nologin ftp ``` ##### 3.2 安装配置文件及可执行程序 安装`...
为了增强安全性,需要确保vsftpd使用的用户shell是/usr/sbin/nologin。通过编辑/etc/shells文件来确保该路径存在。如果文件里没有/usr/sbin/nologin,需要追加进去。 7. 启动vsftpd服务并测试登录: 使用service...
- 使用 `useradd` 命令创建一个名为 `zabbix` 的用户,并将其加入到 `zabbix` 组中,同时设置其 shell 为 `/sbin/nologin`。 ```bash #groupadd zabbix #useradd -g zabbix zabbix -s /sbin/nologin ``` **2. ...
useradd -s /sbin/nologin -M mysql tar -zxf mysql-5.5.20.tar.gz -C /usr/local/ cd /usr/local/mysql-5.5.20 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=...
- `useradd -r -g mysql -s /sbin/nologin -d /usr/local/mysql mysql`:创建名为mysql的用户,并将其加入mysql组,指定其登录shell为`/sbin/nologin`,用户家目录为`/usr/local/mysql`。 ##### 4. 创建MySQL数据...
这里需要注意的是,我们使用了`-s /sbin/nologin`选项来指定用户登录shell为`/sbin/nologin`,这可以防止用户通过ssh等途径登录系统。 #### 修改权限 完成MySQL用户的创建之后,我们需要将MySQL安装目录的所有权...
shell>useradd -r -s /sbin/nologin zabbix ``` 然后下载Zabbix的源码包,这里以版本2.4.5为例: ```bash shell>wget ...
`shell` varchar(16) NOT NULL DEFAULT '/sbin/nologin', `count` int(11) NOT NULL DEFAULT '0', `accessed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `modified` datetime NOT NULL DEFAULT '0000-...
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin ``` 然后,我们需要启动 ssh 服务: ``` sudo /usr/sbin/sshd 或 /usr/local/sbin/sshd ``` 我们可以使用 netstat 命令来检查 ssh 服务是否...
- 创建MySQL用户以运行MySQL服务:`useradd -s /sbin/nologin mysql`。 - 创建数据库文件存放目录:`mkdir -p /data/mysql`。 - 修改文件权限:`chown -R mysql:mysql /data/mysql`,以确保MySQL用户拥有对文件夹...