При создании файловой системы, которая поддерживает принадлежность файла, ее корневой каталог запускается принадлежавший корню (с весь mkfs
то, что я не забываю видеть). Владение точки монтирования и пользователя, который сделал монтирование, не важно владению корневого каталога (или любой другой файл) в той файловой системе. Это было бы проблематично, в конце концов, при монтировании, что файловая система в другом месте изменила полномочия, требуемые получить доступ к каждому файлу на нем.
Если Вы хотите создать файлы как некорневой пользователь, необходимо будет дать то пользовательское разрешение записи некоторому каталогу в той файловой системе.
Ни одной команды, о которой я знаю.
Solaris ps
получает данные процесса для таких вещей, как аргументы командной строки из файла / proc / [PID] / psinfo
, который содержит данные, заполняющие struct psinfo
per /usr/include/sys/procfs.h
:
#define PRARGSZ 80 /* number of chars of arguments */
typedef struct psinfo {
int pr_flag; /* process flags (DEPRECATED; do not use) */
int pr_nlwp; /* number of active lwps in the process */
.
.
.
char pr_fname[PRFNSZ]; /* name of execed file */
char pr_psargs[PRARGSZ]; /* initial characters of arg list */
...
Таким образом, вы не можете получить полный набор аргументов командной строки из / usr / bin / пс
. Вы можете использовать / usr / ucb / ps ...
, как вы уже отметили, и отформатировать вывод с помощью awk
или аналогичного. Также есть pargs
, которые можно использовать для вывода аргументов командной строки. (Установленное расположение pargs
зависит от версии Solaris.)
Однако имейте в виду, что процесс может изменять свои аргументы, и для получения полной информации об аргументе требуется разрешение на чтение адресного пространства процесса. .
Думаю, вы можете использовать ps -eo args
, если хотите увидеть все аргументы
В любом случае вы можете объединить первый пример с другими параметрами
ps -eo user,pid,args