BCLinux云主机用户使用手册(一)


  • BCLinux Developers

    本文将介绍BCLinux云主机的日常使用方法,包括常用操作、软件的安装、日志的查看等。

    注意:此使用手册适用于BCLinux6.x与BCLinux7.x

    1 基本配置

    1.1 本地日期和时间设置

    系统管理员可以使用 date 命令设置系统的日期和时间。

    1. 设置当前日期。执行如下格式的 shel 命令设置当前日期,注意替换 YYYY 为年,MM 为月,DD 为日。

      ~]# date +%D -s YYYY-MM-DD

    比如,设置当前日期为 2016 年 2 月 19 日,执行:

    ~]# date +%D -s 2016-02-19
    
    1. 设置当前时间。执行如下格式的 shel 命令设置当前时间,注意替换 HH 为时,MM 为分,SS 为秒。

      ~]# date +%T -s HH:MM:SS

      注意:如果需要设置系统时钟采用 UTC 时间,执行:

      ~]# date +%T -s HH:MM:SS -u

      比如,设置当前时间为 UTC 时间 11:26 PM,执行:

      ~]# date +%T -s 23:26:00 -u

      也可以不带任何参数执行 date 命令获取当前的日期和时间。

    1.2 网络日期和时间设置

    不同于上述手动的日期时间设置方案,还可以通过 NTP ( Network Time Protocol ) 协议同步本地时钟到网络上的某个权威 NTP 服务器时钟。

    如果只是偶尔同步,可以在需要的时候执行 ntpdate 命令。

    1. 检查选择的 NTP 服务器在所处网络环境是否可访问。

      ~]# ntpdate -q server_address

      比如,执行:

      ~]# ntpdate -q 0.rhel.pool.ntp.org

    2. 一旦找到了合适的 NTP server,执行命令同步:

      ~]# ntpdate server_address...

      注意:可以跟多个 NTP server。
      比如:

      ~]# ntpdate 0.rhel.pool.ntp.org 1.rhel.pool.ntp.org

    然而,对于服务器来说,更加适宜的做法是设置 ntpd 守护进程在系统启动的时候自动跟 NTP 服务器做时间同步。

    1. 打开 ntpd 的配置文件 /etc/ntp.conf

      ~]# vi /etc/ntp.conf

    2. 添加权威 NTP 服务器信息
      比如:

      server 0.rhel.pool.ntp.org iburst
      server 1.rhel.pool.ntp.org iburst
      server 2.rhel.pool.ntp.org iburst
      server 3.rhel.pool.ntp.org iburst

      注意 iburst 参数是为了加速时间同步。

    3. 开放对 localhost 的无限制访问

      restrict default kod nomodify notrap nopeer noquery
      restrict -6 default kod nomodify notrap nopeer noquery
      restrict 127.0.0.1
      restrict -6 ::1

    4. 保存修改,重启 ntpd 服务

      ~]# service ntpd restart

    5. 配置 ntpd 开机自启

      ~]# chkconfig ntpd on

    1.3 用户信息管理

    可以使用 useradd, usermod, userdel, 或者 passwd 管理用户信息,受影响的配置文件包括存储账号信息的 /etc/passwd 以及加密存储密码信息的 /etc/shadow。

    1. 添加新用户,注意替换 username 为新用户的用户名。

      ~]# useradd username

    2. 设置密码

      ~]# passwd username

    比如,使用默认设置创建新用户。

    ~]# useradd robert
    ~]# passwd robert
    Changing password for user robert
    New password: 
    Re-type new password:
    passwd: all authentication tokens updated successfully.
    

    使用 useradd robert 命令创建新用户 robert,这将修改配置文件 /etc/passwd 以添加 robert 账户的信息如下。

    robert:x:502:502::/home/robert:/bin/bash
    

    可以看到,robert 用户的用户 ID 和组 ID 都是 502,家目录是 /home/robert,默认登陆 shell 是 /bin/bash,x 符号表示用户的密码被加密保存在影子文件 /etc/shadow 文件。

    如果希望使用不一样的设置创建新用户,可以参考 useradd 的手册使用不同的选项。比如:

    如果希望给新用户设置一个全名而不是简称,可以执行带 -c 选项的命令:

    ~]# useradd -c "string" username
    

    如果希望创建一个不同一般的用户家目录,可以执行带 -d 选项的命令:

    ~]# useradd -d home_directory
    

    如果甚至都不希望创建用户家目录,可以执行带 -M 选项的命令:

    ~]# useradd -M username
    

    如果希望创建的用户在特定时间以后失效,可以执行带 -e 选项的命令:

    ~]# useradd -e YYYY-MM-DD username
    

    如果希望设置一个不同一般的用户登录 shell,可以执行带 -s 选项的命令:

    ~]# useradd -s login_shell username
    
    1. 分配新用户的所属用户组

    useradd 命令在创建新用户的同时会创建一个同名的用户组,并且,该同名用户组只包括一个成员,就是新创建的用户。

    如果不希望创建这个同名的用户组,可以执行带 -N 选项的 useradd 命令:

    ~]# useradd -N username
    

    如果希望在创建新用户的时候分配指定的用户组,可以执行带 -g 和 -G 选项的命令:

    ~]# useradd -g "friends" -G "family,schoolmates" emily
    

    -g 选项指定用户所属的主用户组,而 -G 选项指定用户所属的辅助用户组。

    如果希望更新现有用户的组关系,可以执行带 -G 选项的 usermod 命令:

    ~]# usermod -G group_1,group_2,group_3
    
    1. 更新用户设置

    如果希望更新用户的登录名,可以执行带 -l 选项的 usermod 命令:

    ~]# usermod -l " emily-smith" emily
    

    这里 emily-smith 会取代 emily 成为新的用户登录名。注意:这个命令不会更新用户的家目录。如果希望那么做,可以执行带 -d 选项的命令:

    ~]# usermod -a -d /home/dir_2 robert

    1. 删除用户

    如果要删除系统中的某个用户,可以使用 root 用户执行 userdel 命令:

    ~]# userdel username
    

    如果需要连带家目录和邮箱目录一起删除,可以执行带 -r 选项的命令:

    ~]# userdel -r username
    

    1.4 组信息管理

    可以使用 groupadd, groupmod, groupdel, 或者 gpasswd 管理组信息,受影响的配置文件包括存储组账号信息的 /etc/group 以及加密存储密码信息的 /etc/gshadow。

    1. 创建组

    如果希望使用默认设置创建用户组,可以执行不带参数的 groupadd 命令:

    ~]# groupadd friends
    

    这条命令会创建 friends 用户组。可以查看 /etc/group 文件获取详细的关于 friends 用户组的信息。

    classmates:x:30005:
    

    如果希望为用户组设置密码,可以执行 gpasswd 命令:

    ~]# gpasswd friends
    

    如果希望使用不一样的设置创建新用户组,可以参考 groupadd 的手册使用不同的选项。

    1. 附加用户到指定的用户组

    如果希望附加现有用户到指定的用户组,可以执行带 -a 选项的命令:

    ~]# gpasswd -a username which_group_to_edit
    

    如果希望把现有用户从指定的用户组移除,可以执行带 -d 选项的命令:

    ~]# gpasswd -d username which_group_to_edit
    

    如果希望一次设置用户组的所有成员,可以执行带 --members 选项的命令:

    ~]# gpasswd --members username_1,username_2 which_group_to_edit
    
    1. 更新组设置

    如果希望更新用户组的名字,可以执行带 -n 选项的命令:

    ~]# groupmod -n new_groupname groupname
    
    1. 删除用户组

    如果要删除系统中的某个用户组,可以使用 root 用户执行 groupdel 命令:

    ~]# groupdel groupname
    

    1.5 获取系统管理员权限

    系统管理员通常需要某些管理权限以访问系统的受限部分。使用 root 账户可以无障碍的获取权限,但是存在潜在的风险,可能导致操作系统或者用户数据被破坏。本节会介绍使用 setuid 程序获取系统管理员权限的方法,比如 su 和 sudo 命令。这些程序允许特定用户暂时获取本来属于 root 用户的系统管理员的权限。

    1.5.1 su

    当用户执行 su 命令的时候,系统会提示用户输入 root 账户的密码,一旦认证通过,用户就获取一个 setuid 的 root shell,在该 shell 下执行的命令都将临时获取 root 账户的权限。

    为了防止用户恶意使用 su 命令获取系统管理员权限,通常需要限制可以使用该命令的用户。为了达到此目的,最简单的方法就是把需要使用该命令的用户加入一个特别的系统管理组 wheel。比如:

    ~]# usermod -G wheel <username>
    

    为了仅仅允许 whell 用户组的用户执行 su 命令,还需要配置 PAM 模块的 su 命令配置文件 /etc/pam.d/su,添加如下配置即可。

    auth           required        pam_wheel.so use_uid
    

    1.5.2 sudo

    不同于 su,sudo 命令提供了另外一种获取系统管理员权限的方式。当受信用户使用 sudo 命令执行系统管理命令时,系统会提示输入用户自身的密码。一旦认证通过,系统管理命令就会以 root 用户的身份运行。

    相较于 su 命令,sudo 命令提供了更高维度的灵活性。比如:

    1)只有 /etc/sudoers 列出的用户才被允许执行 sudo 命令。

    2)sudo 执行的命令还是在用户原来的 shell 而不是在一个新建的 root shell,这样可以避免 root shell 的滥用。

    3)使用 sudo 执行的命令,包括执行者的身份,都会被记录在 /var/log/messages 系统日志,便于后期排查。

    4)使用 sudo 可以做更加细致的权限控制,可以授权不同的用户执行不同的系统管理命令。


登录后回复
 

与 BC-LINUX 的连接断开,我们正在尝试重连,请耐心等待