• linux用户名长度限制

    2014-12-20 21:59:45
    一般 UNIX 系统都是使用 8char 为预设的最长的帐号名称,不过 linux 目前限制大约为 32char。 一般来说 32char 已经很长了,所以没有修改必要。 真的要修改的话,要先看看系统 /usr/include/bits/utmp.h ...
    一般 UNIX 系统都是使用 8char 为预设的最长的帐号名称,不过 linux 目前限制大约为 32char。


    一般来说 32char 已经很长了,所以没有修改必要。


    真的要修改的话,要先看看系统 /usr/include/bits/utmp.h 档案定义:


    define UT_NAMESIZE    32
    char ut_user[UT_NAMESIZE];
    复制代码




    有一堆程式都会参考 ut_user 的长度,所以问题点在这边。


    你要贸然改该定义,我并不清楚系统哪些程式甚至程式库会直接于编译时参考使用该项目,所以你要改的话你会有机会得重新编译一堆程式,这样才会参考使用新设定。








    修改/etc/login.defs里面的PASS_MIN_LEN的值。比如限制用户最小密码长度是8: PASS_MIN_LEN 8 这样用户设置密码的时候如果输入的密码长度小于8将不能设置


    login.defs文件是login程序的配置文件
    展开全文
  • 在与行使用ps命令察看相应的进程时,

      在运行一个公司的应用程序时,其中有一条命令是这样的:ps -eo uname,comm|grep  `whoami`  

      在服务器上运行的程序是完全没有问题的  但是我在自己的机器上面  ,这条命令运行下来却是空值 , 网上找了很久,发现:ps命令对于用户名有一定限制 ,如果只使用uname,那么完全没有问题, 但是加上comm相,超过8个字符的用户名将只显示用户id,所以可以将`whoami`命令相应改成登陆用户的id号 , 比如我的id是1000, 则直接写成ps -eo uname,comm|grep  ‘1000’   或者可以查一下可不可以更改这个限制或者通过用户名找出对应的id号   然后ps命令直接用用户的id号就不会出现这样的问题了

    展开全文
  • 1.修改用户复杂度的2个文件 PAM服务文件 1、# more /etc/pam.d/loginauth required pam_securetty.soauth required pam_stack.so service=system-authauth required...

     

    1.修改用户复杂度的2个文件

    wKiom1NOP66SThebAAAvdwO9mqQ944.jpg

    wKioL1NOP4XRuZymAAPW4JlUPAg181.jpg

    wKiom1NOP67yaMgzAAAvs_1aflk759.jpg

    wKioL1NOP4agm5dHAAOvqaLacK0183.jpg
     

     

    PAM服务文件

    1、# more /etc/pam.d/login 
    auth       required     pam_securetty.so
    auth       required     pam_stack.so service=system-auth
    auth       required     pam_nologin.so
    account    required     pam_stack.so service=system-auth
    password   required     pam_stack.so service=system-auth
    session    required     pam_stack.so service=system-auth
    session    optional     pam_console.so

    PAM服务文件的格式(四部分)

    Module-type control-flag module-path arguments
    Module-type: auth、account、session、password
    Control-flag:required、requisite、sufficient、optional
    eg: 
       auth         required     pam_securety.so
    auth required pam_stack.so   service=system_auth
    Module-type(属于认证里面的第一部分,主要是分配权限)
    auth:认证、授权(检查用户的名字、密码正确与否);
    account:检查用户的帐户是否到期、禁用等。
    session:控制会话
    password:控制用户修改密码过程
    Control-flag (属于认证里面的第二部分,控制标识位)
    required:必须通过此认证,否则不再往下认证下去,直接退出;
    requisite:必须通过认证,但以后还有机会,可以往下认证;
    sufficient:一经通过,后面的不再认证(只要通过这个条件则直接通过);
    optional:可选的,通不通过均可。
     
                                              常用的PAM服务文件
     
    1)、login ----    /etc/pam.d/login    2)、ipop3d ---  /etc/pam.d/pop
    3)、ftp  ----  /etc/pam.d/ftp   或   vsftpd -- /etc/pam.d/vsftpd
    4)、sshd--- /etc/pam.d/sshd   5)、su --- /etc/pam.d/su   6)、imap--- /etc/pam.d/imcp
                                               
                                                            认证堆栈
     

    ①、auth              required        pam_securety.so
    ②、auth              required        pam_stack.so         service=system-auth
    ③、auth              required        pam_nologin.so

    认证堆栈
    如果号认证结束,则在后面有个结束标志,转到下一个认证即号认证,依次类推,相同类型的认证会放在一起进行。
    其中pam_stack.so调用一个子模块服务,通过这个服务再调用一个第三方的模块进行认证授权。
                                                    常用PAM模块
    1)、pam_access.so    控制访问者的地址与帐号的名称
    2)、pam_listfile.so     控制访问者的帐号名称或登陆位置
    3)、pam_limits.so      控制为用户分配的资源
    4)、pam_rootok.so   对管理员(uid=0)无条件通过
    5)、pam_userdb.so   设定独立用户帐号数据库认证
    如下:

    [root@localhost root]# cd /etc/pam.d/
    [root@localhost pam.d]# more login
    #%PAM-1.0
    auth       required     pam_securetty.so
    auth       required     pam_stack.so service=system-auth
    auth       required     pam_nologin.so
    account    required     pam_stack.so service=system-auth
    password   required     pam_stack.so service=system-auth
    session    required     pam_stack.so service=system-auth
    session    optional     pam_console.so
    [root@localhost pam.d]# cd /usr/share/doc/pam-0.75/txts/
    [root@localhost txts]# ls
    pam_appl.txt               README.pam_ftp          README.pam_shells
    pam_modules.txt          README.pam_limits       README.pam_stack
    pam.txt                      README.pam_listfile      README.pam_stress
    README                     README.pam_localuser   README.pam_tally
    README.pam_access    README.pam_mail         README.pam_time
    README.pam_chroot    README.pam_nologin     README.pam_timestamp
    README.pam_console   README.pam_permit      README.pam_unix
    README.pam_cracklib   README.pam_pwdb       README.pam_userdb
    README.pam_deny      README.pam_rhosts      README.pam_warn
    README.pam_env        README.pam_rootok     README.pam_wheel
    README.pam_filter      README.pam_securetty  README.pam_xauth
    [root@localhost txts]# more README.pam_securetty
    pam_securetty:
            Allows root logins only if the user is logging in on a
            "secure" tty, as defined by the listing in /etc/securetty

            Also checks to make sure that /etc/securetty is a plain
            file and not world writable.

            - Elliot Lee , Red Hat Software.
                    July 25, 1996.
    [root@localhost txts]# more /etc/securetty
    console
    vc/1
    vc/2
    vc/3
    vc/4
    vc/5
    vc/6
    vc/7
    vc/8
    vc/9
    vc/10
    vc/11
    tty1
    tty2
    tty3
    tty4
    tty5
    tty6
    tty7
    tty8
    tty9
    tty10
    tty11
    [root@localhost txts]# more /etc/pam.d/system-auth
    #%PAM-1.0
    # This file is auto-generated.
    # User changes will be destroyed the next time authconfig is run.
    auth        required      /lib/security/$ISA/pam_env.so
    auth        sufficient    /lib/security/$ISA/pam_unix.so likeauth nullok
    auth        required      /lib/security/$ISA/pam_deny.so

    account     required      /lib/security/$ISA/pam_unix.so

    password    required      /lib/security/$ISA/pam_cracklib.so retry=3 type=
    password    sufficient    /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
    password    required      /lib/security/$ISA/pam_deny.so

    session     required      /lib/security/$ISA/pam_limits.so
    session     required      /lib/security/$ISA/pam_unix.so
    [root@localhost txts]# pwd
    /usr/share/doc/pam-0.75/txts
    [root@localhost txts]# more README.pam_nologin
    # $Id: README,v 1.1.1.1 2000/06/20 22:11:46 agmorgan Exp $
    #

    This module always lets root in; it lets other users in only if the file
    /etc/nologin doesn't exist.  In any case, if /etc/nologin exists, it's
    contents are displayed to the user.

    module services provided:

            auth            _authentication and _setcred (blank)

    Michael K. Johnson
    [root@localhost txts]# touch /etc/nologin
    [root@localhost txts]# useradd leekwen
    [root@localhost txts]# passwd leekwen
    Changing password for user leekwen.
    New password:
    Retype new password:
    passwd: all authentication tokens updated successfully.
    [root@localhost txts]# ssh leekwen@192.168.0.188
    leekwen@192.168.0.188's password:
    Permission denied, please try again.
    leekwen@192.168.0.188's password:
    Permission denied, please try again.
    leekwen@192.168.0.188's password:
    Permission denied (publickey,password,keyboard-interactive).
    [root@localhost txts]# rm /etc/nologin
    rm: remove regular empty file `/etc/nologin'? y
    [root@localhost txts]# ssh leekwen@192.168.0.188
    leekwen@192.168.0.188's password:
    [leekwen@localhost leekwen]$ pwd
    /home/leekwen
    [leekwen@localhost leekwen]$ exit
    logout
    Connection to 192.168.0.188 closed.
    [root@localhost txts]# cd /etc/pam.d/
    [root@localhost pam.d]# more login
    #%PAM-1.0
    auth       required     pam_securetty.so
    auth       required     pam_stack.so service=system-auth
    auth       required     pam_nologin.so
    account    required     pam_stack.so service=system-auth
    password   required     pam_stack.so service=system-auth
    session    required     pam_stack.so service=system-auth
    session    optional     pam_console.so 
    [root@localhost pam.d]# tty
    /dev/pts/2
    [root@localhost pam.d]# ls /dev/tty1
    /dev/tty1

     

    转载于:https://www.cnblogs.com/qyy349609115/p/9066868.html

    展开全文
  • package com.sxt;import java.util.Scanner;/** * 注册的练习 * * @author Administrator * */ public class Register { public boolean verify() { System.out.println(“欢迎使用注册系统“);

    package com.sxt;

    import java.util.Scanner;

    /**
    * 注册的练习
    *
    * @author Administrator
    *
    */
    public class Register {
    public boolean verify() {
    System.out.println(“欢迎使用注册系统“);
    Scanner sc = new Scanner(System.in);
    System.out.println(“请输入用户名:”);
    String username = sc.next();
    System.out.println(“请输入密码:”);
    String userpwd = sc.next();
    System.out.println(“请再次输入密码:”);
    String pwdAgain = sc.next();
    boolean falg = true;
    // 验证用户名
    if (username.length() < 3) {
    System.out.print(“用户名长度不能小于3 “);
    falg = false;
    }
    // 验证密码
    if (userpwd.length() < 6) {
    System.out.print(“密码长度不能小于6 “);
    falg = false;
    }
    // 验证两次密码
    if (!userpwd.equals(pwdAgain)) {
    System.out.print(“两次密码不同”);
    falg = false;
    }
    return falg;
    }

    public static void main(String[] args) {
        Register r = new Register();
        boolean b  = false;
        do {
            b = r.verify();
        } while (!b);
        System.out.println("注册成功");
    
    }
    

    }

    展开全文
  • Linux命令提示符太长

    2018-08-13 23:21:48
    Linux环境下使用终端,命令前会有命令提示符,一般包括用户名、主机名、还有目录名。如果命令提示符占据绝大部分,留给我们输入命令的空间就有限,当然也可以换行,但是这不够直观。 问题 在我的终端里,我实际...

    在Linux环境下使用终端,命令前会有命令提示符,一般包括用户名、主机名、还有目录名。如果命令提示符占据绝大部分,留给我们输入命令的空间就有限,当然也可以换行,但是这不够直观。

    问题

    在我的终端里,我实际的命令是cat spark-defaults.conf.template | grep "spark",但是因为用户名、主机名和目录名占据了40%左右的空间,导致我的命令不能在一行完全输入,当命令更加复杂的情况下很不直观。

    解决方法

    接下来我给出两个解决办法
    1. 命令换行,即命令和命令提示符不在一行
    2. 减少命令提示符的长度

    解决方法是有了,但是怎么执行呢?有关于命令提示符的修改在~/.bashrc文件中,如果是root用户,即/root/.bashrc,如果是普通用户则是/home/用户名/.bashrc

    1.打开.bashrc文件

    vim ~/.bashrc
    注意:这里文件名有个点,Linux文件名开头为.表示隐藏文件,直接用ls命令是看不到的

    2.找到有关命令提示符的语句

    vim中输入/@,查找@这个字符(vim命令模式/可以查找指定字符)。因为命令提示符是用户名@主机名,所以我当时猜测相关语句应该有@这个字符,果不其然。

    3.修改.bashrc

    回到我们之前的两个解决办法

    (1)换行

    程序员都知道换行符是\n,在Linux的shell中也不意外,所以我们在命令提示符结尾加入\n。可以看到这里有个if语句,经过我的测试,else语句会被执行到,当然也可以和我一样if和else后的语句都修改
    enter image description here

    然后执行source ~/.bashrc使之前的修改生效
    enter image description here

    (2)从命令提示符下手

    命令提示符包括用户名、主机名、目录名,我们就将他们缩短或者不显示也可以解决问题。

    删除用户名
    没有多用户需求的小伙伴可以采用此方法,像我就一个用户和root用户,所以我就删除了用户名,将\u删除即可,也可以一起删除@这个字符,因为@是用户名和主机名的分隔符,删除了其中一个,@自然也没有存在的必要了

    删除用户名和@
    enter image description here

    source一下查看结果,如下:
    enter image description here

    删除主机名
    如果没有ssh到其他主机需求的话,可以使用此方法。删除@\h就可以了。
    主机名和目录名之间有个:,不需要的话也可以一并删除

    主机名被我删除了

    主机名被我删除了,图片里面没有@\h字样。

    显示当前目录
    如果不想显示全路径,只想显示当前路径名,可以把\w换成\W,小写换成大写。
    enter image description here

    为了演示,我采用多种方法来解决“命令提示符太长”这个问题,实际情况大家可以采用其中的一种。当然将用户名和主机名缩短也是可以的,这也不需要修改.bashrc文件

    vim技巧

    1. vim中使用/命令来搜索命令
    2. 删除了@之后可以通过:n来定位我们想要的行号,如我就采用了:67

    特殊符号的含义

    \d :代表日期,格式为weekday month date,例如:”Mon Aug 1”
    \H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
    \h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
    \t :显示时间为24小时格式,如:HH:MM:SS
    \T :显示时间为12小时格式
    \A :显示时间为24小时格式:HH:MM
    \u :当前用户的账号名称
    \v :BASH的版本信息
    \w :完整的工作目录名称。家目录会以 ~代替
    \W :利用basename取得工作目录名称,所以只会列出最后一个目录
    $ :提示字符,如果是root时,提示符为:# ,普通用户则为:$

    参考

    1. https://blog.csdn.net/yelangjueqi/article/details/45556657
    展开全文
  • 一个用户名验证,验证规则,限16个字符,支持中英文、数字、下划线,当符合验证规则的时候,弹框提示正确,当出现特殊字符,不符合验证规则的时候,弹框提示错误,并且不执行下一步程序。 <!DOCTYPE HTML> <...
  • 学习Oracle GoldenGate时,在linux上创建了用户,以自己的名字作为user,授予DB2ADM权限后登陆不上,原来是用户名超过了8个字符。DB2只是提示”USER AND/OR PASSWORD INVALID”...
  • 为了开发上的简便,我们通常希望把用户起名字能用的字符限制在一个有限的集合里(比如一些敏感的字眼或者可能用来做注入攻击的名字,象delete这种都不能允许),同时我们还要防止有的人恶意冒用别人的用户名(比如一...
  • Linux命名规则

    2012-08-23 14:05:36
    Linux命名规则 ...C语言规定,标识符只能由字母(a~z,A~Z)、数字(0~9)、下划线(_)组成,并且标识符的第一个字符必须是字母或下划线,不能以...C语言不限制标识符的长度,但它受各种C语言编译器的限制
  • Linux主机名命名规范

    2016-11-28 20:59:04
    主机名字允许包括:大小写字母,数字,连字符   注意:但是不能包含下划线、不能以数字开头。 如比51cto 当主机名字就是不正确的。 主机名最好也不要是这种结构;fenghao.cn 这样的主机名也是有问题...
  • Linux资源限制配置

    2018-11-25 15:53:49
    命令作用:可以设置系统的限制值 命令参数: -a 显示所有限制 -c core文件大小的上限 -d 进程数据段大小的上限 -f shell所能创建的文件大小的上限 -m 驻留内存大小的上限 -s 堆栈大小的上限 -t 每秒可占用的...
  • UCenter同步HDWiki及其他APP用户长度限制 今天在项目中遇到一个问题,当UCenter接入了自己开发的APP的时候,在某些状况下(如用QQ邮箱注册),就会超过其字段长度的限制。怎么解决呢?在此,我将我的解决...
  • linux系统中ulimit查看和更改系统限制ulimitulimit用于shell启动进程所占用的资源,可以用来设置系统的限制语法格式 ulimit [-acdfHlmnpsStvw] [size] 在/etc/security/limits.conf文件中定义 限制。 命令参数 ...
  • 前面配置好的mosquito都是匿名登录的现在配置需要用户名和密码的mosquito。 参考博客:http://blog.csdn.net/u012377333/article/details/69397124 ID allow_anonymous password_file acl_file result 1 True...
  • ulimit:显示(或设置)用户可以使用的资源的限制(limit),这限制分为软限制(当前限制)和硬限制(上限),其中硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何的超越都...
  • 显然类似windows的administrator以及linux的root 把账号名改成别的 个人信息界面点击设置 修改为自己想要的用户名提交即可 转载于:https://www.cnblogs.com/nmap/p/9384930.html...
  • ubuntu18.04修改账户密码有长度、字符限制的解决方法 1、使用 “sudo su”切换到root用户 2、使用 “sudo passwd 用户名”修改密码 使用sudo passwd而不是passwd 可以避免密码长度不够等问题。
  • (1)这一条登录多少次后就提示并自动结束会话:非常重要,在CentOS6.2中实践Ok,如下:[root@station90 ssh]# cat /etc/ssh/sshd_config | grep MaxAuthMaxAuthTries 1 //远程用户通过ssh连接登录2次失败后自动结束...
1 2 3 4 5 ... 20
收藏数 21,287
精华内容 8,514