和平简朴的生活,纳言敏行,随遇而安。

Debian Study Notes(3)

Debian Study Notes(3)

发表时间 2011年04月23日 评论 5

继续记录我的 Debian Linux 学习笔记。

1、linux 添加 用户,并为这个用户指定用户组,并将这个用户添加到 sudo 用户组

shell> useradd user 也可以用 shell> adduser user 用 adduser 比较好用一些,这样的话系统会自动将 standme 的目录什么都建立,然后直接提示你设置密码。 如果用 useradd ,之后还需要用 passwd user 来设置密码。 之前用 debian5的时候,直接添加用户,然后设置密码都没问题,这次全新安装 debian squeeze 6.0 之后,发现会出错 shell> sudo passwd user Current Kerberos password: passwd: User not known to the underlying authentication module passwd: password unchanged 不知道这个kerberos是神马东东,搜索了一些,发现是一种安全认证的机制,然后又找了一些资料,发现不知道如何禁用,所以我就干脆卸载掉了 shell> aptitude purge libpam-krb5 之后直接添加用户,就没问题了。

2、将普通用户添加为超级用户

原本我以为仅仅用这个命令: shell> useradd -g standme sudo 将standme加入 sudo 用户组就可以了,结果发现测试不通过 应该这样做: 编辑 /etc/sudoers 在 root ALL=(ALL) ALL 添加 user ALL=(ALL) ALL 一句,即可。 这样的话,就不用每次用root用户登录了。

3、Mysql 密码错误问题

mysql-5.1.56 启动服务后,为 root 修改密码,使用 bin/mysqladmin -u root password “密码“,提示出错 root无法登录 然后使用 /bin/mysqld_safe —skip-grant-tables —user=mysql & 启动了mysql 服务 默认按照提示安装好 mysql5.1.56 后,user数据表为空白,之前搜索的一些解决办法,比如 第一種︰ shell> mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD WHERE user=’root’; mysql> FLUSH PRIVILEGES; 第二種︰使用 set password 語法 shell> mysql -u root mysql mysql> SET PASSWORD FOR root=PASSWORD; 第三種︰使用 mysqladmin命令 shell> mysqladmin -u root password new_password 这些都没效,登录之后才发现 mysql数据库中,user表的内容是空白。也就是说,根本没有root用户的数据条目,怎么能更新root的密码呢,所以,解决办法就是自行添加user的条目。 shell> show databases; shell> use mysql; shell> show tables; shell> select * from user where 1; 显示空白 shell> describe user; 然后往表内添加数据: shell> insert into user values(‘localhost’,‘root’,password(‘新密码’),‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,‘Y’,’‘,’‘,’‘,’‘,‘0’,‘0’,‘0’,‘0’);

下午我又重新安装 mysql5.5.10的时候,据说mysql5.5.x性能提升很多,我就重新试这个,结果发现在安装的过程中,出现了一个错误提示: error while loading shared libraries:libaio.so.1: cannot open shared object file: No such file or directory Installation of system tabes failed! Examine the logs in ./data for more information. 这时我才明白之前出错 mysql 的user表空白的原因,估计就是这里,因为之前我没有仔细查看错误提示。看来linux还是很直观的,如果有错误就会有提示,而且会有log记录。挺方便 然后我就 shell> aptitude install libaio-dev之后重新执行/scripts/mysql_insttall_db —user=mysql 一切正常。 mysql.user 表内容就正常了,默认 root 密码为空 然后就可以使用 shell> bin/mysqld_safe —user=mysql & 启动mysql服务。